summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd C. Miller <Todd.Miller@sudo.ws>2022-06-06 08:42:14 -0600
committerTodd C. Miller <Todd.Miller@sudo.ws>2022-06-06 08:42:14 -0600
commit8e3aaa6a3df9a5228a59db9e0d042ccb9adc5c79 (patch)
tree2325316b0e9f52db8e6563d175caf9726c141d20
parent23e0006a9425778709d64e94fb7afa0e95cf7d6d (diff)
parentcb7e93653394f337facff2a0558d36388a4894dc (diff)
downloadsudo-SUDO_1_9_11.tar.gz
Merge sudo 1.9.11 from tip.SUDO_1_9_11
-rw-r--r--.gitignore1
-rw-r--r--.hgignore3
-rw-r--r--ABOUT-NLS1406
-rw-r--r--INSTALL.md9
-rw-r--r--MANIFEST18
-rw-r--r--NEWS73
-rw-r--r--config.h.in6
-rwxr-xr-xconfigure656
-rw-r--r--configure.ac127
-rw-r--r--docker/debian/latest/Dockerfile1
-rw-r--r--docker/debian/testing/Dockerfile3
-rw-r--r--docker/ubuntu/devel/Dockerfile3
-rw-r--r--docker/ubuntu/latest/Dockerfile3
-rw-r--r--docker/ubuntu/rolling/Dockerfile3
-rw-r--r--docs/CONTRIBUTING.md17
-rw-r--r--docs/CONTRIBUTORS.md4
-rw-r--r--docs/Makefile.in12
-rw-r--r--docs/TROUBLESHOOTING.md28
-rw-r--r--docs/sudo.conf.man.in9
-rw-r--r--docs/sudo.conf.mdoc.in9
-rw-r--r--docs/sudo_logsrvd.man.in43
-rw-r--r--docs/sudo_logsrvd.mdoc.in43
-rw-r--r--docs/sudo_plugin.man.in98
-rw-r--r--docs/sudo_plugin.mdoc.in92
-rw-r--r--docs/sudo_plugin_python.man.in29
-rw-r--r--docs/sudo_plugin_python.mdoc.in29
-rw-r--r--docs/sudoers.man.in201
-rw-r--r--docs/sudoers.mdoc.in203
-rw-r--r--docs/visudo.man.in4
-rw-r--r--docs/visudo.mdoc.in4
-rw-r--r--etc/sudo-logsrvd.pp4
-rw-r--r--etc/sudo-python.pp4
-rw-r--r--etc/sudo.pp4
-rw-r--r--include/compat/endian.h12
-rw-r--r--include/intercept.pb-c.h38
-rw-r--r--include/log_server.pb-c.h72
-rw-r--r--include/protobuf-c/protobuf-c.h8
-rw-r--r--include/sudo_compat.h8
-rw-r--r--include/sudo_debug.h1
-rw-r--r--include/sudo_plugin.h4
-rw-r--r--include/sudo_util.h7
-rw-r--r--lib/eventlog/Makefile.in19
-rw-r--r--lib/eventlog/eventlog.c45
-rw-r--r--lib/eventlog/regress/logwrap/check_wrap.c2
-rw-r--r--lib/fuzzstub/Makefile.in8
-rw-r--r--lib/iolog/Makefile.in106
-rw-r--r--lib/iolog/regress/iolog_path/check_iolog_path.c4
-rw-r--r--lib/logsrv/Makefile.in10
-rw-r--r--lib/protobuf-c/Makefile.in8
-rw-r--r--lib/protobuf-c/protobuf-c.c72
-rw-r--r--lib/util/Makefile.in265
-rw-r--r--lib/util/getdelim.c10
-rw-r--r--lib/util/regress/getdelim/getdelim_test.c13
-rw-r--r--lib/util/regress/getgrouplist/getgrouplist_test.c2
-rw-r--r--lib/util/regress/parse_gids/parse_gids_test.c3
-rw-r--r--lib/util/secure_path.c29
-rw-r--r--lib/zlib/Makefile.in38
-rw-r--r--lib/zlib/crc32.c1258
-rw-r--r--lib/zlib/crc32.h9877
-rw-r--r--lib/zlib/deflate.c108
-rw-r--r--lib/zlib/deflate.h27
-rw-r--r--lib/zlib/gzguts.h5
-rw-r--r--lib/zlib/gzlib.c8
-rw-r--r--lib/zlib/gzread.c12
-rw-r--r--lib/zlib/gzwrite.c38
-rw-r--r--lib/zlib/infback.c2
-rw-r--r--lib/zlib/inffast.c28
-rw-r--r--lib/zlib/inflate.c24
-rw-r--r--lib/zlib/inflate.h5
-rw-r--r--lib/zlib/inftrees.c6
-rw-r--r--lib/zlib/trees.c75
-rw-r--r--lib/zlib/zlib.exp3
-rw-r--r--lib/zlib/zlib.h223
-rw-r--r--lib/zlib/zutil.c4
-rw-r--r--lib/zlib/zutil.h21
-rw-r--r--logsrvd/Makefile.in94
-rw-r--r--logsrvd/iolog_writer.c6
-rw-r--r--logsrvd/logsrvd.c44
-rw-r--r--logsrvd/logsrvd_conf.c2
-rw-r--r--logsrvd/logsrvd_journal.c15
-rw-r--r--logsrvd/logsrvd_relay.c13
-rw-r--r--logsrvd/regress/logsrvd_conf/cacert.pem34
-rw-r--r--logsrvd/regress/logsrvd_conf/logsrvd_cert.pem28
-rw-r--r--logsrvd/regress/logsrvd_conf/logsrvd_conf_test.c88
-rw-r--r--logsrvd/regress/logsrvd_conf/logsrvd_dhparams.pem8
-rw-r--r--logsrvd/regress/logsrvd_conf/logsrvd_key.pem28
-rw-r--r--logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.1.in252
-rw-r--r--logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.2.in252
-rw-r--r--logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.1.in252
-rw-r--r--logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.2.in252
-rw-r--r--logsrvd/sendlog.c12
-rw-r--r--logsrvd/tls_client.c12
-rw-r--r--logsrvd/tls_init.c56
-rw-r--r--m4/libtool.m4220
-rw-r--r--m4/ltoptions.m44
-rw-r--r--m4/ltsugar.m42
-rw-r--r--m4/ltversion.m413
-rw-r--r--m4/lt~obsolete.m44
-rw-r--r--plugins/audit_json/Makefile.in15
-rw-r--r--plugins/group_file/Makefile.in12
-rw-r--r--plugins/python/Makefile.in49
-rw-r--r--plugins/python/python_plugin_common.c5
-rw-r--r--plugins/python/regress/testdata/check_example_group_plugin_is_able_to_debug.log2
-rw-r--r--plugins/python/regress/testdata/check_multiple_approval_plugin_and_arguments.stdout4
-rw-r--r--plugins/python/regress/testhelpers.c44
-rw-r--r--plugins/sample/Makefile.in10
-rw-r--r--plugins/sample_approval/Makefile.in15
-rw-r--r--plugins/sudoers/Makefile.in287
-rw-r--r--plugins/sudoers/audit.c2
-rw-r--r--plugins/sudoers/auth/kerb5.c18
-rw-r--r--plugins/sudoers/check.c3
-rw-r--r--plugins/sudoers/check_aliases.c64
-rw-r--r--plugins/sudoers/cvtsudoers.c13
-rw-r--r--plugins/sudoers/cvtsudoers_csv.c16
-rw-r--r--plugins/sudoers/cvtsudoers_json.c13
-rw-r--r--plugins/sudoers/cvtsudoers_ldif.c12
-rw-r--r--plugins/sudoers/cvtsudoers_merge.c8
-rw-r--r--plugins/sudoers/def_data.c14
-rw-r--r--plugins/sudoers/def_data.h8
-rw-r--r--plugins/sudoers/def_data.in7
-rw-r--r--plugins/sudoers/defaults.c197
-rw-r--r--plugins/sudoers/defaults.h7
-rw-r--r--plugins/sudoers/file.c18
-rw-r--r--plugins/sudoers/fmtsudoers.c4
-rw-r--r--plugins/sudoers/gram.c1331
-rw-r--r--plugins/sudoers/gram.h46
-rw-r--r--plugins/sudoers/gram.y49
-rw-r--r--plugins/sudoers/group_plugin.c3
-rw-r--r--plugins/sudoers/iolog.c14
-rw-r--r--plugins/sudoers/ldap.c1
-rw-r--r--plugins/sudoers/locale.c3
-rw-r--r--plugins/sudoers/log_client.c60
-rw-r--r--plugins/sudoers/logging.c136
-rw-r--r--plugins/sudoers/logging.h6
-rw-r--r--plugins/sudoers/match_command.c65
-rw-r--r--plugins/sudoers/parse.c50
-rw-r--r--plugins/sudoers/parse.h11
-rw-r--r--plugins/sudoers/parse_ldif.c11
-rw-r--r--plugins/sudoers/po/cs.mobin77047 -> 75713 bytes
-rw-r--r--plugins/sudoers/po/cs.po1589
-rw-r--r--plugins/sudoers/po/de.mobin79924 -> 78597 bytes
-rw-r--r--plugins/sudoers/po/de.po1520
-rw-r--r--plugins/sudoers/po/eo.mobin74057 -> 72761 bytes
-rw-r--r--plugins/sudoers/po/eo.po1520
-rw-r--r--plugins/sudoers/po/fr.mobin84482 -> 82988 bytes
-rw-r--r--plugins/sudoers/po/fr.po1583
-rw-r--r--plugins/sudoers/po/hr.mobin77932 -> 76563 bytes
-rw-r--r--plugins/sudoers/po/hr.po1629
-rw-r--r--plugins/sudoers/po/ko.mobin79798 -> 78472 bytes
-rw-r--r--plugins/sudoers/po/ko.po1589
-rw-r--r--plugins/sudoers/po/pl.mobin77786 -> 76514 bytes
-rw-r--r--plugins/sudoers/po/pl.po1520
-rw-r--r--plugins/sudoers/po/ro.mobin64155 -> 79651 bytes
-rw-r--r--plugins/sudoers/po/ro.po3849
-rw-r--r--plugins/sudoers/po/sudoers.pot1484
-rw-r--r--plugins/sudoers/po/uk.mobin105493 -> 103837 bytes
-rw-r--r--plugins/sudoers/po/uk.po1577
-rw-r--r--plugins/sudoers/policy.c52
-rw-r--r--plugins/sudoers/regress/fuzz/fuzz_policy.c31
-rw-r--r--plugins/sudoers/regress/fuzz/fuzz_policy.dict1
-rw-r--r--plugins/sudoers/regress/fuzz/fuzz_sudoers.c7
-rw-r--r--plugins/sudoers/regress/fuzz/fuzz_sudoers.dict2
-rw-r--r--plugins/sudoers/regress/parser/check_addr.c2
-rw-r--r--plugins/sudoers/regress/starttime/check_starttime.c8
-rw-r--r--plugins/sudoers/regress/sudoers/test18.out.ok1
-rw-r--r--plugins/sudoers/regress/sudoers/test18.toke.ok4
-rw-r--r--plugins/sudoers/regress/visudo/test2.err.ok2
-rw-r--r--plugins/sudoers/sssd.c1
-rw-r--r--plugins/sudoers/sudo_nss.h1
-rw-r--r--plugins/sudoers/sudoers.c167
-rw-r--r--plugins/sudoers/sudoers.h21
-rw-r--r--plugins/sudoers/sudoers.in3
-rw-r--r--plugins/sudoers/testsudoers.c13
-rw-r--r--plugins/sudoers/toke.c5092
-rw-r--r--plugins/sudoers/toke.l8
-rw-r--r--plugins/sudoers/visudo.c79
-rw-r--r--plugins/system_group/Makefile.in10
-rw-r--r--po/cs.mobin22523 -> 24256 bytes
-rw-r--r--po/cs.po452
-rw-r--r--po/de.mobin24095 -> 25923 bytes
-rw-r--r--po/de.po452
-rw-r--r--po/eo.mobin22016 -> 23658 bytes
-rw-r--r--po/eo.po450
-rw-r--r--po/fr.mobin23884 -> 25771 bytes
-rw-r--r--po/fr.po450
-rw-r--r--po/hr.mobin22791 -> 24530 bytes
-rw-r--r--po/hr.po460
-rw-r--r--po/ka.mobin0 -> 36091 bytes
-rw-r--r--po/ka.po1084
-rw-r--r--po/ko.mobin24378 -> 26359 bytes
-rw-r--r--po/ko.po450
-rw-r--r--po/pl.mobin23076 -> 24847 bytes
-rw-r--r--po/pl.po452
-rw-r--r--po/ro.mobin23289 -> 25091 bytes
-rw-r--r--po/ro.po475
-rw-r--r--po/sudo.pot445
-rw-r--r--po/uk.mobin31184 -> 33444 bytes
-rw-r--r--po/uk.po450
-rw-r--r--po/vi.mobin25401 -> 27225 bytes
-rw-r--r--po/vi.po454
-rw-r--r--scripts/ltmain.sh857
-rwxr-xr-xscripts/mkdep.pl2
-rwxr-xr-xscripts/mkpkg31
-rwxr-xr-xscripts/unanon2
-rw-r--r--src/Makefile.in204
-rw-r--r--src/apparmor.c111
-rw-r--r--src/conversation.c17
-rw-r--r--src/exec.c77
-rw-r--r--src/exec_common.c10
-rw-r--r--src/exec_intercept.c382
-rw-r--r--src/exec_intercept.h54
-rw-r--r--src/exec_monitor.c71
-rw-r--r--src/exec_nopty.c216
-rw-r--r--src/exec_ptrace.c1375
-rw-r--r--src/exec_ptrace.h518
-rw-r--r--src/exec_pty.c141
-rw-r--r--src/intercept.exp.in1
-rw-r--r--src/parse_args.c37
-rw-r--r--src/regress/intercept/test_ptrace.c232
-rw-r--r--src/selinux.c10
-rw-r--r--src/sudo.c23
-rw-r--r--src/sudo.h47
-rw-r--r--src/sudo_exec.h28
-rw-r--r--src/sudo_intercept.c92
-rw-r--r--src/suspend_nopty.c111
-rw-r--r--src/tgetpass.c16
226 files changed, 35627 insertions, 18458 deletions
diff --git a/.gitignore b/.gitignore
index f6b31101d..46a806753 100644
--- a/.gitignore
+++ b/.gitignore
@@ -72,6 +72,7 @@ lib/util/regress/harness
logsrvd/sudo_logsrvd
logsrvd/sudo_sendlog
logsrvd/fuzz_[a-z]*
+logsrvd/logsrvd_conf_test
plugins/sudoers/cvtsudoers
plugins/sudoers/sudoers
diff --git a/.hgignore b/.hgignore
index efa9357c8..c681989e7 100644
--- a/.hgignore
+++ b/.hgignore
@@ -46,7 +46,7 @@ Makefile$
^lib/eventlog/check_wrap$
^lib/eventlog/regress/logwrap/check_wrap.out$
-^lib/iolog/check_iolog_(json|mkpath|path|timing)$
+^lib/iolog/check_iolog_(json|filter|mkpath|path|timing)$
^lib/iolog/fuzz_iolog_(json|legacy|timing)$
^lib/iolog/host_port_test$
@@ -65,6 +65,7 @@ Makefile$
^logsrvd/sudo_(logsrvd|sendlog)$
^logsrvd/fuzz_logsrvd_conf$
+^logsrvd/logsrvd_conf_test$
^plugins/sudoers/(cvtsudoers|sudoers|sudoreplay|testsudoers|tsdump|visudo|prologue|check_[a-z0-9_]+)$
^plugins/sudoers/fuzz_(policy|sudoers(_ldif)?)$
diff --git a/ABOUT-NLS b/ABOUT-NLS
deleted file mode 100644
index 57d0e63b3..000000000
--- a/ABOUT-NLS
+++ /dev/null
@@ -1,1406 +0,0 @@
-1 Notes on the Free Translation Project
-***************************************
-
-Free software is going international! The Free Translation Project is a
-way to get maintainers of free software, translators, and users all
-together, so that free software will gradually become able to speak many
-languages. A few packages already provide translations for their
-messages.
-
- If you found this 'ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU 'gettext' internally,
-itself available at your nearest GNU archive site. But you do _not_
-need to install GNU 'gettext' prior to configuring, installing or using
-this package with messages translated.
-
- Installers will find here some useful hints. These notes also
-explain how users should proceed for getting the programs to use the
-available translations. They tell how people wanting to contribute and
-work on translations can contact the appropriate team.
-
-1.1 INSTALL Matters
-===================
-
-Some packages are "localizable" when properly installed; the programs
-they contain can be made to speak your own local language. Most such
-packages use GNU 'gettext'. Other packages have their own ways to
-internationalization, predating GNU 'gettext'.
-
- By default, this package will be installed to allow translation of
-messages. It will automatically detect whether the system already
-provides the GNU 'gettext' functions. Installers may use special
-options at configuration time for changing the default behaviour. The
-command:
-
- ./configure --disable-nls
-
-will _totally_ disable translation of messages.
-
- When you already have GNU 'gettext' installed on your system and run
-configure without an option for your new package, 'configure' will
-probably detect the previously built and installed 'libintl' library and
-will decide to use it. If not, you may have to to use the
-'--enable-nls[=location]' option to tell 'configure' where to look for it.
-
- Internationalized packages usually have many 'po/LL.po' files, where
-LL gives an ISO 639 two-letter code identifying the language. Unless
-translations have been forbidden at 'configure' time by using the
-'--disable-nls' switch, all available translations are installed
-together with the package. However, the environment variable 'LINGUAS'
-may be set, prior to configuration, to limit the installed set.
-'LINGUAS' should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-1.2 Using This Package
-======================
-
-As a user, if your language has been installed for this package, you
-only have to set the 'LANG' environment variable to the appropriate
-'LL_CC' combination. If you happen to have the 'LC_ALL' or some other
-'LC_xxx' environment variables set, you should unset them before setting
-'LANG', otherwise the setting of 'LANG' will not have the desired
-effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
-an ISO 3166 two-letter country code. For example, let's suppose that
-you speak German and live in Germany. At the shell prompt, merely
-execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
-'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your
-'.login' or '.profile' file, once and for all.
-
- You might think that the country code specification is redundant.
-But in fact, some languages have dialects in different countries. For
-example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The
-country code serves to distinguish the dialects.
-
- The locale naming convention of 'LL_CC', with 'LL' denoting the
-language and 'CC' denoting the country, is the one use on systems based
-on GNU libc. On other systems, some variations of this scheme are used,
-such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales
-supported by your system for your language by running the command
-'locale -a | grep '^LL''.
-
- Not all programs have translations for all languages. By default, an
-English message is shown in place of a nonexistent translation. If you
-understand other languages, you can set up a priority list of languages.
-This is done through a different environment variable, called
-'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
-for the purpose of message handling, but you still need to have 'LANG'
-set to the primary language; this is required by other parts of the
-system libraries. For example, some Swedish users who would rather read
-translations in German than English for when Swedish is not available,
-set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
-
- Special advice for Norwegian users: The language code for Norwegian
-bokma*l changed from 'no' to 'nb' recently (in 2003). During the
-transition period, while some message catalogs for this language are
-installed under 'nb' and some older ones under 'no', it's recommended
-for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
-older translations are used.
-
- In the 'LANGUAGE' environment variable, but not in the 'LANG'
-environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
-denote the language's main dialect. For example, 'de' is equivalent to
-'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
-as spoken in Portugal) in this context.
-
-1.3 Translating Teams
-=====================
-
-For the Free Translation Project to be a success, we need interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-Each translation team has its own mailing list. The up-to-date list of
-teams can be found at the Free Translation Project's homepage,
-'https://translationproject.org/', in the "Teams" area.
-
- If you'd like to volunteer to _work_ at translating messages, you
-should become a member of the translating team for your own language.
-The subscribing address is _not_ the same as the list itself, it has
-'-request' appended. For example, speakers of Swedish can send a
-message to 'sv-request@li.org', having this message body:
-
- subscribe
-
- Keep in mind that team members are expected to participate _actively_
-in translations, or at solving translational difficulties, rather than
-merely lurking around. If your team does not exist yet and you want to
-start one, or if you are unsure about what to do or how to get started,
-please write to 'coordinator@translationproject.org' to reach the
-coordinator for all translator teams.
-
- The English team is special. It works at improving and uniformizing
-the terminology in use. Proven linguistic skills are praised more than
-programming skills, here.
-
-1.4 Available Packages
-======================
-
-Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of Jun 2014.
-The matrix shows, in regard of each package, for which languages PO
-files have been submitted to translation coordination, with a
-translation percentage of at least 50%.
-
- Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs
- +---------------------------------------------------+
- a2ps | [] [] [] |
- aegis | |
- anubis | |
- aspell | [] [] [] |
- bash | [] [] [] |
- bfd | |
- binutils | [] |
- bison | |
- bison-runtime | [] |
- buzztrax | [] |
- ccd2cue | |
- ccide | |
- cflow | |
- clisp | |
- coreutils | [] [] |
- cpio | |
- cppi | |
- cpplib | [] |
- cryptsetup | [] |
- datamash | |
- denemo | [] [] |
- dfarc | [] |
- dialog | [] [] [] |
- dico | |
- diffutils | [] |
- dink | [] |
- direvent | |
- doodle | [] |
- dos2unix | |
- dos2unix-man | |
- e2fsprogs | [] [] |
- enscript | [] |
- exif | [] |
- fetchmail | [] [] |
- findutils | [] |
- flex | [] |
- freedink | [] [] |
- fusionforge | |
- gas | |
- gawk | [] |
- gcal | [] |
- gcc | |
- gdbm | |
- gettext-examples | [] [] [] [] [] |
- gettext-runtime | [] [] [] |
- gettext-tools | [] [] |
- gip | [] [] |
- gjay | |
- glunarclock | [] [] [] |
- gnubiff | [] |
- gnubik | [] |
- gnucash | () () [] |
- gnuchess | |
- gnulib | [] |
- gnunet | |
- gnunet-gtk | |
- gold | |
- gphoto2 | [] |
- gprof | [] |
- gpsdrive | |
- gramadoir | |
- grep | [] [] |
- grub | [] |
- gsasl | |
- gss | |
- gst-plugins-bad | [] |
- gst-plugins-base | [] [] [] |
- gst-plugins-good | [] [] [] |
- gst-plugins-ugly | [] [] [] |
- gstreamer | [] [] [] [] |
- gtick | [] |
- gtkam | [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] [] |
- guix | |
- guix-packages | |
- gutenprint | [] |
- hello | [] |
- help2man | |
- help2man-texi | |
- hylafax | |
- idutils | |
- iso_15924 | [] |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | |
- iso_4217 | [] |
- iso_639 | [] [] [] [] [] [] [] [] [] |
- iso_639_3 | [] [] |
- iso_639_5 | |
- jwhois | |
- kbd | [] |
- klavaro | [] [] [] [] [] |
- latrine | |
- ld | [] |
- leafpad | [] [] [] [] |
- libc | [] [] [] |
- libexif | () |
- libextractor | |
- libgnutls | [] |
- libgpg-error | [] |
- libgphoto2 | [] |
- libgphoto2_port | [] |
- libgsasl | |
- libiconv | [] [] |
- libidn | [] |
- liferea | [] [] [] [] |
- lilypond | [] [] |
- lordsawar | [] |
- lprng | |
- lynx | [] [] |
- m4 | [] |
- mailfromd | |
- mailutils | |
- make | [] |
- man-db | [] [] |
- man-db-manpages | |
- midi-instruments | [] [] [] |
- minicom | [] |
- mkisofs | [] |
- myserver | [] |
- nano | [] [] [] |
- opcodes | |
- parted | [] |
- pies | |
- popt | [] |
- procps-ng | |
- procps-ng-man | |
- psmisc | [] |
- pspp | [] |
- pushover | [] |
- pwdutils | |
- pyspread | |
- radius | [] |
- recode | [] [] [] |
- recutils | |
- rpm | |
- rush | |
- sarg | |
- sed | [] [] [] |
- sharutils | [] |
- shishi | |
- skribilo | |
- solfege | [] |
- solfege-manual | |
- spotmachine | |
- sudo | [] [] |
- sudoers | [] [] |
- sysstat | [] |
- tar | [] [] [] |
- texinfo | [] [] |
- texinfo_document | [] |
- tigervnc | [] |
- tin | |
- tin-man | |
- tracgoogleappsa... | |
- trader | |
- util-linux | [] |
- ve | |
- vice | |
- vmm | |
- vorbis-tools | [] |
- wastesedge | |
- wcd | |
- wcd-man | |
- wdiff | [] [] |
- wget | [] [] |
- wyslij-po | |
- xboard | |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] |
- +---------------------------------------------------+
- af am an ar as ast az be bg bn bn_IN bs ca crh cs
- 4 0 2 4 3 11 0 8 24 3 3 1 55 4 76
-
- da de el en en_GB en_ZA eo es et eu fa fi fr
- +--------------------------------------------------+
- a2ps | [] [] [] [] [] [] [] [] [] |
- aegis | [] [] [] [] |
- anubis | [] [] [] [] [] |
- aspell | [] [] [] [] [] [] [] |
- bash | [] [] [] [] [] |
- bfd | [] [] [] [] |
- binutils | [] [] [] |
- bison | [] [] [] [] [] [] [] [] |
- bison-runtime | [] [] [] [] [] [] [] [] |
- buzztrax | [] [] [] [] |
- ccd2cue | [] [] [] |
- ccide | [] [] [] [] [] [] |
- cflow | [] [] [] [] [] |
- clisp | [] [] [] [] [] |
- coreutils | [] [] [] [] [] |
- cpio | [] [] [] [] [] |
- cppi | [] [] [] [] [] |
- cpplib | [] [] [] [] [] [] |
- cryptsetup | [] [] [] [] [] |
- datamash | [] [] [] [] |
- denemo | |
- dfarc | [] [] [] [] [] [] |
- dialog | [] [] [] [] [] [] [] [] [] |
- dico | [] [] [] [] |
- diffutils | [] [] [] [] [] [] |
- dink | [] [] [] [] [] [] |
- direvent | [] [] [] [] |
- doodle | [] [] [] [] |
- dos2unix | [] [] [] [] [] |
- dos2unix-man | [] [] [] |
- e2fsprogs | [] [] [] [] [] |
- enscript | [] [] [] [] [] [] |
- exif | [] [] [] [] [] [] |
- fetchmail | [] () [] [] [] [] [] |
- findutils | [] [] [] [] [] [] [] [] |
- flex | [] [] [] [] [] [] |
- freedink | [] [] [] [] [] [] [] [] |
- fusionforge | [] [] [] |
- gas | [] [] [] |
- gawk | [] [] [] [] [] |
- gcal | [] [] [] [] |
- gcc | [] [] |
- gdbm | [] [] [] [] [] |
- gettext-examples | [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] |
- gip | [] [] [] [] [] [] [] |
- gjay | [] [] [] [] |
- glunarclock | [] [] [] [] [] |
- gnubiff | () [] [] () |
- gnubik | [] [] [] [] [] |
- gnucash | [] () () () () () () |
- gnuchess | [] [] [] [] |
- gnulib | [] [] [] [] [] [] [] |
- gnunet | [] |
- gnunet-gtk | [] |
- gold | [] [] [] |
- gphoto2 | [] () [] [] |
- gprof | [] [] [] [] [] [] |
- gpsdrive | [] [] [] [] |
- gramadoir | [] [] [] [] [] |
- grep | [] [] [] [] [] [] [] |
- grub | [] [] [] [] [] |
- gsasl | [] [] [] [] [] |
- gss | [] [] [] [] [] |
- gst-plugins-bad | [] [] |
- gst-plugins-base | [] [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] [] [] |
- gtick | [] () [] [] [] |
- gtkam | [] () [] [] [] [] |
- gtkorphan | [] [] [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] |
- guix | [] [] [] |
- guix-packages | |
- gutenprint | [] [] [] [] |
- hello | [] [] [] [] [] [] [] [] |
- help2man | [] [] [] [] [] [] [] |
- help2man-texi | [] [] [] |
- hylafax | [] [] |
- idutils | [] [] [] [] [] |
- iso_15924 | [] () [] [] () [] () |
- iso_3166 | [] () [] [] [] [] () [] () |
- iso_3166_2 | [] () () () |
- iso_4217 | [] () [] [] [] () [] () |
- iso_639 | [] () [] [] () [] () |
- iso_639_3 | () () () |
- iso_639_5 | () () () |
- jwhois | [] [] [] [] [] |
- kbd | [] [] [] [] [] [] |
- klavaro | [] [] [] [] [] [] [] |
- latrine | [] () [] [] |
- ld | [] [] [] [] |
- leafpad | [] [] [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] [] () [] [] |
- libextractor | [] |
- libgnutls | [] [] [] [] |
- libgpg-error | [] [] [] |
- libgphoto2 | [] () [] |
- libgphoto2_port | [] () [] [] [] [] |
- libgsasl | [] [] [] [] [] |
- libiconv | [] [] [] [] [] [] [] |
- libidn | [] [] [] [] [] |
- liferea | [] () [] [] [] [] [] |
- lilypond | [] [] [] [] [] [] |
- lordsawar | [] [] |
- lprng | |
- lynx | [] [] [] [] [] [] |
- m4 | [] [] [] [] [] [] |
- mailfromd | [] |
- mailutils | [] [] [] [] |
- make | [] [] [] [] [] |
- man-db | [] [] [] [] |
- man-db-manpages | [] [] |
- midi-instruments | [] [] [] [] [] [] [] [] [] |
- minicom | [] [] [] [] [] |
- mkisofs | [] [] [] |
- myserver | [] [] [] [] |
- nano | [] [] [] [] [] [] [] |
- opcodes | [] [] [] [] [] |
- parted | [] [] [] |
- pies | [] |
- popt | [] [] [] [] [] [] |
- procps-ng | [] [] |
- procps-ng-man | [] [] |
- psmisc | [] [] [] [] [] [] [] |
- pspp | [] [] [] |
- pushover | () [] [] [] |
- pwdutils | [] [] [] |
- pyspread | [] [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] |
- recutils | [] [] [] [] |
- rpm | [] [] [] [] [] |
- rush | [] [] [] |
- sarg | [] [] |
- sed | [] [] [] [] [] [] [] [] |
- sharutils | [] [] [] [] |
- shishi | [] [] [] |
- skribilo | [] [] |
- solfege | [] [] [] [] [] [] [] [] |
- solfege-manual | [] [] [] [] [] |
- spotmachine | [] [] [] [] |
- sudo | [] [] [] [] [] [] |
- sudoers | [] [] [] [] [] [] |
- sysstat | [] [] [] [] [] [] |
- tar | [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] [] |
- texinfo_document | [] [] [] [] |
- tigervnc | [] [] [] [] [] [] |
- tin | [] [] [] [] |
- tin-man | [] |
- tracgoogleappsa... | [] [] [] [] [] |
- trader | [] [] [] [] [] [] |
- util-linux | [] [] [] [] |
- ve | [] [] [] [] [] |
- vice | () () () |
- vmm | [] [] |
- vorbis-tools | [] [] [] [] |
- wastesedge | [] () |
- wcd | [] [] [] [] |
- wcd-man | [] |
- wdiff | [] [] [] [] [] [] [] |
- wget | [] [] [] [] [] [] |
- wyslij-po | [] [] [] [] |
- xboard | [] [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] [] [] [] |
- +--------------------------------------------------+
- da de el en en_GB en_ZA eo es et eu fa fi fr
- 123 134 32 1 6 0 97 97 23 14 4 106 139
-
- ga gd gl gu he hi hr hu hy ia id is it ja ka kk
- +-------------------------------------------------+
- a2ps | [] [] [] [] |
- aegis | [] |
- anubis | [] [] [] [] |
- aspell | [] [] [] [] [] |
- bash | [] [] [] [] |
- bfd | [] [] |
- binutils | [] [] [] |
- bison | [] |
- bison-runtime | [] [] [] [] [] [] [] [] |
- buzztrax | |
- ccd2cue | [] |
- ccide | [] [] |
- cflow | [] [] [] |
- clisp | |
- coreutils | [] [] [] |
- cpio | [] [] [] [] [] [] |
- cppi | [] [] [] [] [] |
- cpplib | [] [] |
- cryptsetup | [] |
- datamash | |
- denemo | [] |
- dfarc | [] [] [] |
- dialog | [] [] [] [] [] [] [] [] [] [] |
- dico | |
- diffutils | [] [] [] [] |
- dink | [] |
- direvent | [] |
- doodle | [] [] |
- dos2unix | [] [] |
- dos2unix-man | |
- e2fsprogs | [] |
- enscript | [] [] [] |
- exif | [] [] [] [] [] [] |
- fetchmail | [] [] [] |
- findutils | [] [] [] [] [] [] [] |
- flex | [] |
- freedink | [] [] [] [] |
- fusionforge | |
- gas | [] |
- gawk | [] () [] |
- gcal | |
- gcc | |
- gdbm | |
- gettext-examples | [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] |
- gip | [] [] [] [] [] [] |
- gjay | [] |
- glunarclock | [] [] [] [] [] [] |
- gnubiff | [] [] () |
- gnubik | [] [] [] |
- gnucash | () () () () () [] |
- gnuchess | |
- gnulib | [] [] [] [] [] |
- gnunet | |
- gnunet-gtk | |
- gold | [] [] |
- gphoto2 | [] [] [] [] |
- gprof | [] [] [] [] |
- gpsdrive | [] [] [] [] |
- gramadoir | [] [] [] |
- grep | [] [] [] [] [] [] [] |
- grub | [] [] [] |
- gsasl | [] [] [] [] [] |
- gss | [] [] [] [] [] |
- gst-plugins-bad | [] |
- gst-plugins-base | [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] |
- gtick | [] [] [] [] [] |
- gtkam | [] [] [] [] [] |
- gtkorphan | [] [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] [] [] |
- guix | [] |
- guix-packages | |
- gutenprint | [] [] [] |
- hello | [] [] [] [] [] |
- help2man | [] [] [] |
- help2man-texi | |
- hylafax | [] |
- idutils | [] [] |
- iso_15924 | [] [] [] [] [] [] |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | [] [] |
- iso_4217 | [] [] [] [] [] [] |
- iso_639 | [] [] [] [] [] [] [] [] [] |
- iso_639_3 | [] [] |
- iso_639_5 | |
- jwhois | [] [] [] [] |
- kbd | [] [] [] |
- klavaro | [] [] [] [] |
- latrine | [] |
- ld | [] [] [] [] |
- leafpad | [] [] [] [] [] [] [] () |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | |
- libgnutls | [] |
- libgpg-error | [] [] [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] |
- libgsasl | [] [] [] [] |
- libiconv | [] [] [] [] [] [] [] |
- libidn | [] [] [] [] |
- liferea | [] [] [] [] [] |
- lilypond | [] |
- lordsawar | |
- lprng | [] |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] [] |
- mailfromd | |
- mailutils | |
- make | [] [] [] [] |
- man-db | [] [] |
- man-db-manpages | [] [] |
- midi-instruments | [] [] [] [] [] [] [] [] [] |
- minicom | [] [] [] |
- mkisofs | [] [] |
- myserver | [] |
- nano | [] [] [] [] [] |
- opcodes | [] [] [] |
- parted | [] [] [] [] |
- pies | |
- popt | [] [] [] [] [] [] [] [] [] [] |
- procps-ng | |
- procps-ng-man | |
- psmisc | [] [] [] [] |
- pspp | [] [] |
- pushover | [] |
- pwdutils | [] |
- pyspread | |
- radius | [] |
- recode | [] [] [] [] [] [] [] |
- recutils | |
- rpm | [] |
- rush | [] |
- sarg | |
- sed | [] [] [] [] [] [] [] |
- sharutils | |
- shishi | |
- skribilo | [] |
- solfege | [] [] |
- solfege-manual | |
- spotmachine | |
- sudo | [] [] [] [] |
- sudoers | [] [] [] |
- sysstat | [] [] [] |
- tar | [] [] [] [] [] [] |
- texinfo | [] [] [] |
- texinfo_document | [] [] |
- tigervnc | |
- tin | |
- tin-man | |
- tracgoogleappsa... | [] [] [] [] |
- trader | [] [] |
- util-linux | [] |
- ve | [] |
- vice | () () |
- vmm | |
- vorbis-tools | [] [] |
- wastesedge | () |
- wcd | |
- wcd-man | |
- wdiff | [] [] [] |
- wget | [] [] [] [] |
- wyslij-po | [] [] [] |
- xboard | |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] [] |
- +-------------------------------------------------+
- ga gd gl gu he hi hr hu hy ia id is it ja ka kk
- 36 2 49 4 8 2 54 75 2 6 84 11 89 60 0 3
-
- kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
- +--------------------------------------------------+
- a2ps | [] [] |
- aegis | [] |
- anubis | [] [] [] |
- aspell | [] [] |
- bash | [] [] |
- bfd | |
- binutils | |
- bison | [] |
- bison-runtime | [] [] [] [] [] [] |
- buzztrax | |
- ccd2cue | |
- ccide | [] [] |
- cflow | [] |
- clisp | [] |
- coreutils | [] [] |
- cpio | [] |
- cppi | |
- cpplib | [] |
- cryptsetup | [] |
- datamash | [] [] |
- denemo | |
- dfarc | [] [] |
- dialog | [] [] [] [] [] [] |
- dico | |
- diffutils | [] [] [] |
- dink | [] |
- direvent | [] |
- doodle | [] |
- dos2unix | [] [] |
- dos2unix-man | [] |
- e2fsprogs | [] |
- enscript | [] |
- exif | [] [] |
- fetchmail | [] |
- findutils | [] [] |
- flex | [] |
- freedink | [] [] |
- fusionforge | |
- gas | |
- gawk | [] |
- gcal | |
- gcc | |
- gdbm | |
- gettext-examples | [] [] [] [] [] [] |
- gettext-runtime | [] [] |
- gettext-tools | [] |
- gip | [] [] [] |
- gjay | |
- glunarclock | [] [] |
- gnubiff | [] |
- gnubik | [] [] |
- gnucash | () () () () () () () [] |
- gnuchess | [] [] |
- gnulib | [] |
- gnunet | |
- gnunet-gtk | |
- gold | |
- gphoto2 | [] |
- gprof | [] [] |
- gpsdrive | [] |
- gramadoir | [] |
- grep | [] [] |
- grub | [] [] [] |
- gsasl | [] |
- gss | |
- gst-plugins-bad | [] |
- gst-plugins-base | [] [] [] |
- gst-plugins-good | [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] |
- gstreamer | [] [] |
- gtick | [] |
- gtkam | [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] [] [] [] |
- guix | |
- guix-packages | |
- gutenprint | [] |
- hello | [] [] [] |
- help2man | [] |
- help2man-texi | |
- hylafax | [] |
- idutils | [] |
- iso_15924 | () [] [] |
- iso_3166 | [] [] [] () [] [] [] [] [] [] |
- iso_3166_2 | () [] |
- iso_4217 | () [] [] [] |
- iso_639 | [] [] () [] [] [] [] |
- iso_639_3 | [] () [] |
- iso_639_5 | () |
- jwhois | [] [] |
- kbd | [] |
- klavaro | [] [] |
- latrine | |
- ld | |
- leafpad | [] [] [] [] [] |
- libc | [] [] |
- libexif | [] |
- libextractor | [] |
- libgnutls | [] [] |
- libgpg-error | [] |
- libgphoto2 | [] |
- libgphoto2_port | [] |
- libgsasl | [] |
- libiconv | [] [] |
- libidn | [] |
- liferea | [] [] [] |
- lilypond | |
- lordsawar | |
- lprng | |
- lynx | [] |
- m4 | [] |
- mailfromd | |
- mailutils | |
- make | [] [] |
- man-db | [] |
- man-db-manpages | [] |
- midi-instruments | [] [] [] [] [] [] [] |
- minicom | [] |
- mkisofs | [] |
- myserver | |
- nano | [] [] [] |
- opcodes | [] |
- parted | [] |
- pies | |
- popt | [] [] [] [] [] |
- procps-ng | |
- procps-ng-man | |
- psmisc | [] |
- pspp | [] [] |
- pushover | |
- pwdutils | [] |
- pyspread | |
- radius | [] |
- recode | [] [] |
- recutils | [] |
- rpm | [] |
- rush | [] |
- sarg | |
- sed | [] [] |
- sharutils | [] |
- shishi | |
- skribilo | |
- solfege | [] [] |
- solfege-manual | [] |
- spotmachine | [] |
- sudo | [] [] |
- sudoers | [] [] |
- sysstat | [] [] |
- tar | [] [] [] |
- texinfo | [] |
- texinfo_document | [] |
- tigervnc | [] |
- tin | |
- tin-man | |
- tracgoogleappsa... | [] [] [] |
- trader | [] |
- util-linux | [] |
- ve | [] |
- vice | [] |
- vmm | [] |
- vorbis-tools | [] |
- wastesedge | [] |
- wcd | [] |
- wcd-man | [] |
- wdiff | [] |
- wget | [] [] |
- wyslij-po | [] |
- xboard | [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] |
- +--------------------------------------------------+
- kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
- 5 11 4 6 0 13 24 3 3 3 4 12 2 40 1 126
-
- nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr
- +--------------------------------------------------+
- a2ps | [] [] [] [] [] [] [] |
- aegis | [] [] |
- anubis | [] [] [] |
- aspell | [] [] [] [] [] [] [] |
- bash | [] [] [] [] [] |
- bfd | [] |
- binutils | [] [] |
- bison | [] [] [] |
- bison-runtime | [] [] [] [] [] [] [] [] |
- buzztrax | |
- ccd2cue | [] |
- ccide | [] [] [] |
- cflow | [] [] |
- clisp | [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- cppi | [] [] [] |
- cpplib | [] [] [] |
- cryptsetup | [] [] |
- datamash | [] [] |
- denemo | |
- dfarc | [] [] [] |
- dialog | [] [] [] [] [] [] [] |
- dico | [] |
- diffutils | [] [] |
- dink | |
- direvent | [] [] |
- doodle | [] [] |
- dos2unix | [] [] [] [] |
- dos2unix-man | [] [] |
- e2fsprogs | [] |
- enscript | [] [] [] [] [] [] |
- exif | [] [] [] [] [] [] |
- fetchmail | [] [] [] |
- findutils | [] [] [] [] [] |
- flex | [] [] [] [] [] |
- freedink | [] [] [] [] [] |
- fusionforge | |
- gas | |
- gawk | [] |
- gcal | |
- gcc | |
- gdbm | [] [] [] |
- gettext-examples | [] [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] [] [] |
- gip | [] [] [] [] [] |
- gjay | [] |
- glunarclock | [] [] [] [] [] [] |
- gnubiff | [] |
- gnubik | [] [] [] [] |
- gnucash | () () () () [] |
- gnuchess | [] [] |
- gnulib | [] [] [] [] [] |
- gnunet | |
- gnunet-gtk | |
- gold | |
- gphoto2 | [] [] [] [] [] |
- gprof | [] [] [] [] |
- gpsdrive | [] |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] |
- grub | [] [] [] [] [] |
- gsasl | [] [] [] |
- gss | [] [] [] [] |
- gst-plugins-bad | [] [] [] [] |
- gst-plugins-base | [] [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] [] [] |
- gtick | [] [] [] [] [] |
- gtkam | [] [] [] [] [] [] |
- gtkorphan | [] [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] [] |
- guix | |
- guix-packages | |
- gutenprint | [] |
- hello | [] [] [] [] [] [] |
- help2man | [] [] [] [] |
- help2man-texi | [] |
- hylafax | |
- idutils | [] [] [] |
- iso_15924 | [] () [] [] [] [] |
- iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] |
- iso_3166_2 | [] () [] |
- iso_4217 | [] [] () [] [] [] [] [] |
- iso_639 | [] [] [] () [] [] [] [] [] [] |
- iso_639_3 | [] () |
- iso_639_5 | () [] |
- jwhois | [] [] [] [] |
- kbd | [] [] |
- klavaro | [] [] [] [] [] |
- latrine | [] |
- ld | |
- leafpad | [] [] [] [] [] [] [] [] [] |
- libc | [] [] [] |
- libexif | [] () [] |
- libextractor | [] |
- libgnutls | [] |
- libgpg-error | [] [] [] |
- libgphoto2 | [] |
- libgphoto2_port | [] [] [] [] [] |
- libgsasl | [] [] [] [] |
- libiconv | [] [] [] [] [] |
- libidn | [] [] [] |
- liferea | [] [] [] [] () [] [] |
- lilypond | |
- lordsawar | |
- lprng | [] |
- lynx | [] [] |
- m4 | [] [] [] [] [] |
- mailfromd | [] |
- mailutils | [] |
- make | [] [] [] |
- man-db | [] [] [] |
- man-db-manpages | [] [] [] |
- midi-instruments | [] [] [] [] [] [] [] [] |
- minicom | [] [] [] [] |
- mkisofs | [] [] [] |
- myserver | [] [] |
- nano | [] [] [] [] [] [] |
- opcodes | |
- parted | [] [] [] [] [] [] |
- pies | [] |
- popt | [] [] [] [] [] [] |
- procps-ng | [] |
- procps-ng-man | [] |
- psmisc | [] [] [] [] |
- pspp | [] [] |
- pushover | |
- pwdutils | [] |
- pyspread | [] [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] [] |
- recutils | [] |
- rpm | [] |
- rush | [] [] [] |
- sarg | [] [] |
- sed | [] [] [] [] [] [] [] [] |
- sharutils | [] [] [] |
- shishi | [] [] |
- skribilo | |
- solfege | [] [] [] |
- solfege-manual | [] [] |
- spotmachine | [] [] |
- sudo | [] [] [] [] [] |
- sudoers | [] [] [] [] |
- sysstat | [] [] [] [] [] |
- tar | [] [] [] [] [] |
- texinfo | [] [] [] |
- texinfo_document | [] [] |
- tigervnc | |
- tin | [] |
- tin-man | |
- tracgoogleappsa... | [] [] [] [] |
- trader | [] |
- util-linux | [] [] |
- ve | [] [] [] |
- vice | |
- vmm | |
- vorbis-tools | [] [] [] |
- wastesedge | |
- wcd | |
- wcd-man | |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] [] [] |
- wyslij-po | [] [] [] [] |
- xboard | [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] |
- +--------------------------------------------------+
- nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr
- 7 3 1 6 117 1 12 84 33 82 3 37 45 7 98
-
- sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK
- +---------------------------------------------------+
- a2ps | [] [] [] [] [] |
- aegis | [] |
- anubis | [] [] [] [] |
- aspell | [] [] [] [] |
- bash | [] [] [] [] [] |
- bfd | [] [] |
- binutils | [] [] [] |
- bison | [] [] [] [] |
- bison-runtime | [] [] [] [] [] [] |
- buzztrax | [] [] [] |
- ccd2cue | [] [] |
- ccide | [] [] [] |
- cflow | [] [] [] [] |
- clisp | |
- coreutils | [] [] [] [] |
- cpio | [] [] [] [] [] |
- cppi | [] [] [] |
- cpplib | [] [] [] [] [] |
- cryptsetup | [] [] [] |
- datamash | [] [] [] |
- denemo | |
- dfarc | [] |
- dialog | [] [] [] [] [] [] |
- dico | [] |
- diffutils | [] [] [] [] [] |
- dink | |
- direvent | [] [] |
- doodle | [] [] |
- dos2unix | [] [] [] |
- dos2unix-man | [] [] |
- e2fsprogs | [] [] [] [] |
- enscript | [] [] [] [] |
- exif | [] [] [] [] [] |
- fetchmail | [] [] [] [] |
- findutils | [] [] [] [] [] |
- flex | [] [] [] |
- freedink | [] [] |
- fusionforge | |
- gas | [] |
- gawk | [] [] |
- gcal | [] [] |
- gcc | [] [] |
- gdbm | [] [] |
- gettext-examples | [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] |
- gip | [] [] [] [] |
- gjay | [] [] |
- glunarclock | [] [] [] [] |
- gnubiff | [] [] |
- gnubik | [] [] [] |
- gnucash | () () () () [] |
- gnuchess | [] [] |
- gnulib | [] [] [] [] |
- gnunet | |
- gnunet-gtk | |
- gold | [] [] |
- gphoto2 | [] [] [] [] |
- gprof | [] [] [] [] |
- gpsdrive | [] [] [] |
- gramadoir | [] [] [] |
- grep | [] [] [] [] [] |
- grub | [] [] [] [] |
- gsasl | [] [] [] [] |
- gss | [] [] [] |
- gst-plugins-bad | [] [] [] [] |
- gst-plugins-base | [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] |
- gstreamer | [] [] [] [] [] |
- gtick | [] [] [] |
- gtkam | [] [] [] [] |
- gtkorphan | [] [] [] |
- gtkspell | [] [] [] [] [] [] [] [] |
- guix | [] |
- guix-packages | |
- gutenprint | [] [] [] |
- hello | [] [] [] [] [] |
- help2man | [] [] [] |
- help2man-texi | [] |
- hylafax | [] |
- idutils | [] [] [] |
- iso_15924 | [] () [] [] () [] |
- iso_3166 | [] [] () [] [] () [] [] [] |
- iso_3166_2 | () [] [] () [] |
- iso_4217 | [] () [] [] () [] [] |
- iso_639 | [] [] [] () [] [] () [] [] [] |
- iso_639_3 | [] () [] [] () |
- iso_639_5 | () [] () |
- jwhois | [] [] [] [] |
- kbd | [] [] [] |
- klavaro | [] [] [] [] [] [] |
- latrine | [] [] |
- ld | [] [] [] [] [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] () |
- libextractor | [] [] |
- libgnutls | [] [] [] [] |
- libgpg-error | [] [] [] [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] [] [] |
- libgsasl | [] [] [] [] |
- libiconv | [] [] [] [] [] |
- libidn | () [] [] [] |
- liferea | [] [] [] [] [] |
- lilypond | [] |
- lordsawar | |
- lprng | [] |
- lynx | [] [] [] [] |
- m4 | [] [] [] |
- mailfromd | [] [] |
- mailutils | [] |
- make | [] [] [] |
- man-db | [] [] |
- man-db-manpages | [] |
- midi-instruments | [] [] [] [] [] [] |
- minicom | [] [] |
- mkisofs | [] [] [] |
- myserver | [] |
- nano | [] [] [] [] |
- opcodes | [] [] |
- parted | [] [] [] [] [] |
- pies | [] [] |
- popt | [] [] [] [] [] [] [] |
- procps-ng | [] [] |
- procps-ng-man | [] |
- psmisc | [] [] [] |
- pspp | [] [] [] |
- pushover | [] |
- pwdutils | [] [] |
- pyspread | [] |
- radius | [] [] |
- recode | [] [] [] [] |
- recutils | [] [] [] |
- rpm | [] [] [] [] |
- rush | [] [] |
- sarg | |
- sed | [] [] [] [] [] |
- sharutils | [] [] [] |
- shishi | [] |
- skribilo | |
- solfege | [] [] [] |
- solfege-manual | [] |
- spotmachine | [] [] |
- sudo | [] [] [] [] |
- sudoers | [] [] [] |
- sysstat | [] [] [] [] |
- tar | [] [] [] [] [] |
- texinfo | [] [] [] |
- texinfo_document | [] |
- tigervnc | [] [] |
- tin | [] |
- tin-man | |
- tracgoogleappsa... | [] [] [] [] [] |
- trader | [] |
- util-linux | [] [] [] |
- ve | [] [] [] [] |
- vice | () () |
- vmm | |
- vorbis-tools | [] [] |
- wastesedge | |
- wcd | [] [] |
- wcd-man | [] |
- wdiff | [] [] [] |
- wget | [] [] [] |
- wyslij-po | [] [] |
- xboard | [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] |
- +---------------------------------------------------+
- sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK
- 87 1 4 3 0 14 52 114 1 130 7 1 88 7
-
- zh_TW
- +-------+
- a2ps | | 30
- aegis | | 9
- anubis | | 19
- aspell | | 28
- bash | [] | 25
- bfd | | 9
- binutils | | 12
- bison | [] | 18
- bison-runtime | [] | 38
- buzztrax | | 8
- ccd2cue | | 7
- ccide | | 16
- cflow | | 15
- clisp | | 10
- coreutils | | 20
- cpio | [] | 21
- cppi | | 16
- cpplib | [] | 19
- cryptsetup | | 13
- datamash | | 11
- denemo | | 3
- dfarc | | 16
- dialog | [] | 42
- dico | | 6
- diffutils | | 21
- dink | | 9
- direvent | | 10
- doodle | | 12
- dos2unix | [] | 17
- dos2unix-man | | 8
- e2fsprogs | | 14
- enscript | | 21
- exif | | 26
- fetchmail | | 19
- findutils | | 28
- flex | [] | 18
- freedink | | 23
- fusionforge | | 3
- gas | | 5
- gawk | | 12
- gcal | | 7
- gcc | | 4
- gdbm | | 10
- gettext-examples | [] | 40
- gettext-runtime | [] | 34
- gettext-tools | [] | 24
- gip | [] | 28
- gjay | | 8
- glunarclock | [] | 27
- gnubiff | | 9
- gnubik | | 18
- gnucash | () | 6
- gnuchess | | 10
- gnulib | | 23
- gnunet | | 1
- gnunet-gtk | | 1
- gold | | 7
- gphoto2 | [] | 19
- gprof | | 21
- gpsdrive | | 13
- gramadoir | | 14
- grep | [] | 30
- grub | | 21
- gsasl | [] | 19
- gss | | 17
- gst-plugins-bad | | 13
- gst-plugins-base | | 27
- gst-plugins-good | | 32
- gst-plugins-ugly | | 34
- gstreamer | [] | 31
- gtick | | 19
- gtkam | | 24
- gtkorphan | | 20
- gtkspell | [] | 48
- guix | | 5
- guix-packages | | 0
- gutenprint | | 13
- hello | [] | 29
- help2man | | 18
- help2man-texi | | 5
- hylafax | | 5
- idutils | | 14
- iso_15924 | [] | 23
- iso_3166 | [] | 58
- iso_3166_2 | | 9
- iso_4217 | [] | 28
- iso_639 | [] | 46
- iso_639_3 | | 10
- iso_639_5 | | 2
- jwhois | [] | 20
- kbd | | 16
- klavaro | | 29
- latrine | | 7
- ld | [] | 15
- leafpad | [] | 40
- libc | [] | 24
- libexif | | 9
- libextractor | | 5
- libgnutls | | 13
- libgpg-error | | 15
- libgphoto2 | | 9
- libgphoto2_port | [] | 19
- libgsasl | | 18
- libiconv | [] | 29
- libidn | | 17
- liferea | | 29
- lilypond | | 10
- lordsawar | | 3
- lprng | | 3
- lynx | | 19
- m4 | [] | 22
- mailfromd | | 4
- mailutils | | 6
- make | | 18
- man-db | | 14
- man-db-manpages | | 9
- midi-instruments | [] | 43
- minicom | [] | 17
- mkisofs | | 13
- myserver | | 9
- nano | [] | 29
- opcodes | | 11
- parted | [] | 21
- pies | | 4
- popt | [] | 36
- procps-ng | | 5
- procps-ng-man | | 4
- psmisc | [] | 21
- pspp | | 13
- pushover | | 6
- pwdutils | | 8
- pyspread | | 5
- radius | | 9
- recode | | 31
- recutils | | 9
- rpm | [] | 13
- rush | | 10
- sarg | | 4
- sed | [] | 34
- sharutils | | 12
- shishi | | 6
- skribilo | | 3
- solfege | | 19
- solfege-manual | | 9
- spotmachine | | 9
- sudo | | 23
- sudoers | | 20
- sysstat | | 21
- tar | [] | 30
- texinfo | | 17
- texinfo_document | | 11
- tigervnc | | 10
- tin | [] | 7
- tin-man | | 1
- tracgoogleappsa... | [] | 22
- trader | | 11
- util-linux | | 12
- ve | | 14
- vice | | 1
- vmm | | 3
- vorbis-tools | | 13
- wastesedge | | 2
- wcd | | 7
- wcd-man | | 3
- wdiff | [] | 22
- wget | | 22
- wyslij-po | | 14
- xboard | | 8
- xdg-user-dirs | [] | 68
- xkeyboard-config | [] | 27
- +-------+
- 90 teams zh_TW
- 170 domains 44 2805
-
- Some counters in the preceding matrix are higher than the number of
-visible blocks let us expect. This is because a few extra PO files are
-used for implementing regional variants of languages, or language
-dialects.
-
- For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and distributed
-as such by its maintainer. There might be an observable lag between the
-mere existence a PO file and its wide availability in a distribution.
-
- If Jun 2014 seems to be old, you may fetch a more recent copy of this
-'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix
-with full percentage details can be found at
-'https://translationproject.org/extra/matrix.html'.
-
-1.5 Using 'gettext' in new packages
-===================================
-
-If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU 'gettext' in your
-package. Of course you have to respect the GNU Lesser General Public
-License which covers the use of the GNU 'gettext' library. This means
-in particular that even non-free programs can use 'libintl' as a shared
-library, whereas only free software can use 'libintl' as a static
-library or use modified versions of 'libintl'.
-
- Once the sources are changed appropriately and the setup can handle
-the use of 'gettext' the only thing missing are the translations. The
-Free Translation Project is also available for packages which are not
-developed inside the GNU project. Therefore the information given above
-applies also for every other Free Software Project. Contact 'coordinator@translationproject.org'
-to make the '.pot' files available to the translation teams.
diff --git a/INSTALL.md b/INSTALL.md
index 61849b15c..e6a123138 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -220,8 +220,9 @@ Defaults are listed in brackets after the description.
--disable-hardening
Disable the use of compiler/linker exploit mitigation options
which are enabled by default. This includes compiling with
- _FORTIFY_SOURCE defined to 2, building with -fstack-protector
- and linking with -zrelro, where supported.
+ _FORTIFY_SOURCE defined to 2, building with -fstack-protector,
+ -fstack-clash-protection, -fcf-protection and linking with
+ -zrelro, -znow, and -znoexecstack where supported.
--disable-ssp
Disable use of the -fstack-protector compiler option.
@@ -374,6 +375,10 @@ Defaults are listed in brackets after the description.
ldap_sasl_interactive_bind_s() function is present in the
LDAP libraries.
+ --with-apparmor
+ Enable support for the AppArmor Linux Security Module (LSM) on
+ supported systems.
+
--with-logincap
This adds support for login classes specified in `/etc/login.conf`.
It is enabled by default on BSD/OS, Darwin, FreeBSD, OpenBSD, and
diff --git a/MANIFEST b/MANIFEST
index f34ae3a9b..6292985b8 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,3 @@
-ABOUT-NLS
ChangeLog
INSTALL.configure
INSTALL.md
@@ -401,6 +400,15 @@ logsrvd/regress/corpus/seed/logsrvd_conf/logsrvd.conf.6
logsrvd/regress/corpus/seed/logsrvd_conf/logsrvd.conf.7
logsrvd/regress/fuzz/fuzz_logsrvd_conf.c
logsrvd/regress/fuzz/fuzz_logsrvd_conf.dict
+logsrvd/regress/logsrvd_conf/cacert.pem
+logsrvd/regress/logsrvd_conf/logsrvd_cert.pem
+logsrvd/regress/logsrvd_conf/logsrvd_conf_test.c
+logsrvd/regress/logsrvd_conf/logsrvd_dhparams.pem
+logsrvd/regress/logsrvd_conf/logsrvd_key.pem
+logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.1.in
+logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.2.in
+logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.1.in
+logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.2.in
logsrvd/sendlog.c
logsrvd/sendlog.h
logsrvd/tls_client.c
@@ -1128,6 +1136,8 @@ po/it.mo
po/it.po
po/ja.mo
po/ja.po
+po/ka.mo
+po/ka.po
po/ko.mo
po/ko.po
po/nb.mo
@@ -1177,6 +1187,7 @@ scripts/mkpkg
scripts/pp
scripts/unanon
src/Makefile.in
+src/apparmor.c
src/conversation.c
src/copy_file.c
src/edit_open.c
@@ -1184,9 +1195,12 @@ src/env_hooks.c
src/exec.c
src/exec_common.c
src/exec_intercept.c
+src/exec_intercept.h
src/exec_monitor.c
src/exec_nopty.c
src/exec_preload.c
+src/exec_ptrace.c
+src/exec_ptrace.h
src/exec_pty.c
src/get_pty.c
src/hooks.c
@@ -1200,6 +1214,7 @@ src/openbsd.c
src/parse_args.c
src/preload.c
src/preserve_fds.c
+src/regress/intercept/test_ptrace.c
src/regress/net_ifs/check_net_ifs.c
src/regress/noexec/check_noexec.c
src/regress/ttyname/check_ttyname.c
@@ -1217,6 +1232,7 @@ src/sudo_intercept_common.c
src/sudo_noexec.c
src/sudo_plugin_int.h
src/sudo_usage.h.in
+src/suspend_nopty.c
src/tcsetpgrp_nobg.c
src/tgetpass.c
src/ttyname.c
diff --git a/NEWS b/NEWS
index ba78c3137..b6251fc24 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,76 @@
+What's new in Sudo 1.9.11
+
+ * Fixed a crash in the Python module with Python 3.9.10 on some
+ systems. Additionally, "make check" now passes for Python 3.9.10.
+
+ * Error messages sent via email now include more details, including
+ the file name and the line number and column of the error.
+ Multiple errors are sent in a single message. Previously, only
+ the first error was included.
+
+ * Fixed logging of parse errors in JSON format. Previously,
+ the JSON logger would not write entries unless the command and
+ runuser were set. These may not be known at the time a parse
+ error is encountered.
+
+ * Fixed a potential crash parsing sudoers lines larger than twice
+ the value of LINE_MAX on systems that lack the getdelim() function.
+
+ * The tests run by "make check" now unset the LANGUAGE environment
+ variable. Otherwise, localization strings will not match if
+ LANGUAGE is set to a non-English locale. Bug #1025.
+
+ * The "starttime" test now passed when run under Debian faketime.
+ Bug #1026.
+
+ * The Kerberos authentication module now honors the custom password
+ prompt if one has been specified.
+
+ * The embedded copy of zlib has been updated to version 1.2.12.
+
+ * Updated the version of libtool used by sudo to version 2.4.7.
+
+ * Sudo now defines _TIME_BITS to 64 on systems that define __TIMESIZE
+ in the header files (currently only GNU libc). This is required
+ to allow the use of 64-bit time values on some 32-bit systems.
+
+ * Sudo's "intercept" and "log_subcmds" options no longer force the
+ command to run in its own pseudo-terminal. It is now also
+ possible to intercept the system(3) function.
+
+ * Fixed a bug in sudo_logsrvd when run in store-first relay mode
+ where the commit point messages sent by the server were incorrect
+ if the command was suspended or received a window size change
+ event.
+
+ * Fixed a potential crash in sudo_logsrvd when the "tls_dhparams"
+ configuration setting was used.
+
+ * The "intercept" and "log_subcmds" functionality can now use
+ ptrace(2) on Linux systems that support seccomp(2) filtering.
+ This has the advantage of working for both static and dynamic
+ binaries and can work with sudo's SELinux RBAC mode. The following
+ architectures are currently supported: i386, x86_64, aarch64,
+ arm, mips (log_subcmds only), powerpc, riscv, and s390x. The
+ default is to use ptrace(2) where possible; the new "intercept_type"
+ sudoers setting can be used to explicitly set the type.
+
+ * New Georgian translation from translationproject.org.
+
+ * Fixed creating packages on CentOS Stream.
+
+ * Fixed a bug in the intercept and log_subcmds support where
+ the execve(2) wrapper was using the current environment instead
+ of the passed environment pointer. Bug #1030.
+
+ * Added AppArmor integration for Linux. A sudoers rule can now
+ specify an APPARMOR_PROFILE option to run a command confined by
+ the named AppArmor profile.
+
+ * Fixed parsing of the "server_log" setting in sudo_logsrvd.conf.
+ Non-paths were being treated as paths and an actual path was
+ treated as an error.
+
What's new in Sudo 1.9.10
* Added new "log_passwords" and "passprompt_regex" sudoers options.
diff --git a/config.h.in b/config.h.in
index da1cf40ba..d0be95822 100644
--- a/config.h.in
+++ b/config.h.in
@@ -51,6 +51,9 @@
/* Define to 1 if you use AIX general authentication. */
#undef HAVE_AIXAUTH
+/* Define to 1 to enable AppArmor support. */
+#undef HAVE_APPARMOR
+
/* Define to 1 if you have the `arc4random' function. */
#undef HAVE_ARC4RANDOM
@@ -1386,6 +1389,9 @@
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
+/* Number of bits in a time_t, on hosts where this is settable. */
+#undef _TIME_BITS
+
/* Define to __FUNCTION__ if your compiler supports __FUNCTION__ but not
__func__ */
#undef __func__
diff --git a/configure b/configure
index 3b2a3efd8..33182d022 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.71 for sudo 1.9.10.
+# Generated by GNU Autoconf 2.71 for sudo 1.9.11.
#
# Report bugs to <https://bugzilla.sudo.ws/>.
#
@@ -621,8 +621,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='sudo'
PACKAGE_TARNAME='sudo'
-PACKAGE_VERSION='1.9.10'
-PACKAGE_STRING='sudo 1.9.10'
+PACKAGE_VERSION='1.9.11'
+PACKAGE_STRING='sudo 1.9.11'
PACKAGE_BUGREPORT='https://bugzilla.sudo.ws/'
PACKAGE_URL=''
@@ -697,6 +697,7 @@ STRIP
ac_ct_AR
DLLTOOL
OBJDUMP
+FILECMD
LN_S
NM
ac_ct_DUMPBIN
@@ -792,8 +793,8 @@ COMPAT_EXP
RC_LINK
INIT_DIR
INIT_SCRIPT
-SSP_CFLAGS
-SSP_LDFLAGS
+HARDENING_CFLAGS
+HARDENING_LDFLAGS
PIE_CFLAGS
PIE_LDFLAGS
ASAN_CFLAGS
@@ -834,10 +835,12 @@ mansectmisc
mansectform
mansectsu
devdir
+AAMAN
SEMAN
PSMAN
LCMAN
BAMAN
+EXAMPLES
DEVEL
SUDOERS_GID
SUDOERS_UID
@@ -1037,6 +1040,7 @@ enable_shared_libutil
enable_tmpfiles_d
enable_devsearch
with_selinux
+with_apparmor
enable_sasl
enable_timestamp_type
enable_offensive_insults
@@ -1636,7 +1640,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.10 to adapt to many kinds of systems.
+\`configure' configures sudo 1.9.11 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1702,7 +1706,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of sudo 1.9.10:";;
+ short | recursive ) echo "Configuration of sudo 1.9.11:";;
esac
cat <<\_ACEOF
@@ -1882,6 +1886,7 @@ Optional Packages:
--with-man manual pages use man macros
--with-mdoc manual pages use mdoc macros
--with-selinux enable SELinux support
+ --with-apparmor enable AppArmor support
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-aix-soname=aix|svr4|both
@@ -1991,7 +1996,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-sudo configure 1.9.10
+sudo configure 1.9.11
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2648,7 +2653,7 @@ 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.10, which was
+It was created by sudo $as_me 1.9.11, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3571,6 +3576,8 @@ ac_config_headers="$ac_config_headers config.h pathnames.h"
+
+
#
# Begin initial values for man page substitution
#
@@ -3642,6 +3649,7 @@ BAMAN=0
LCMAN=0
PSMAN=0
SEMAN=0
+AAMAN=0
LIBINTL=
LIBCRYPTO=
LIBMD=
@@ -3677,7 +3685,7 @@ LOGSRVD=
LOGSRVD_SRC=logsrvd
LOGSRV_SRC=lib/logsrv
LOGSRVD_CONF='sudo_logsrvd.conf'
-LIBLOGSRV='$(top_builddir)/lib/logsrv/liblogsrv.la'
+LIBLOGSRV='$(top_builddir)/lib/logsrv/liblogsrv.la $(top_builddir)/lib/protobuf-c/libprotobuf-c.la'
PPFILES='$(srcdir)/etc/sudo.pp'
RTLD_PRELOAD_VAR="LD_PRELOAD"
@@ -6853,6 +6861,26 @@ else $as_nop
fi
+
+# Check whether --with-apparmor was given.
+if test ${with_apparmor+y}
+then :
+ withval=$with_apparmor; case $with_apparmor in
+ yes) printf "%s\n" "#define HAVE_APPARMOR 1" >>confdefs.h
+
+ AAMAN=1
+ SUDO_LIBS="${SUDO_LIBS} -lapparmor"
+ SUDO_OBJS="${SUDO_OBJS} apparmor.o"
+ ;;
+ no) ;;
+ *) as_fn_error $? "--with-apparmor does not take an argument." "$LINENO" 5
+
+esac
+else $as_nop
+ with_apparmor=no
+fi
+
+
# Check whether --enable-sasl was given.
if test ${enable_sasl+y}
then :
@@ -8675,8 +8703,8 @@ esac
-macro_version='2.4.6'
-macro_revision='2.4.6'
+macro_version='2.4.7'
+macro_revision='2.4.7'
@@ -9229,13 +9257,13 @@ else
mingw*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
- case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
*$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
break 2
;;
*)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
break 2
@@ -9373,7 +9401,7 @@ esac
fi
fi
- case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
*COFF*)
DUMPBIN="$DUMPBIN -symbols -headers"
;;
@@ -9477,7 +9505,7 @@ else $as_nop
lt_cv_sys_max_cmd_len=8192;
;;
- bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -9520,7 +9548,7 @@ else $as_nop
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
@@ -9726,6 +9754,114 @@ esac
if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args.
+set dummy ${ac_tool_prefix}file; 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_FILECMD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$FILECMD"; then
+ ac_cv_prog_FILECMD="$FILECMD" # 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_FILECMD="${ac_tool_prefix}file"
+ 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
+fi
+FILECMD=$ac_cv_prog_FILECMD
+if test -n "$FILECMD"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5
+printf "%s\n" "$FILECMD" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_FILECMD"; then
+ ac_ct_FILECMD=$FILECMD
+ # Extract the first word of "file", so it can be a program name with args.
+set dummy file; 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_ac_ct_FILECMD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_FILECMD"; then
+ ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # 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_ac_ct_FILECMD="file"
+ 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
+fi
+ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD
+if test -n "$ac_ct_FILECMD"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5
+printf "%s\n" "$ac_ct_FILECMD" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_FILECMD" = x; then
+ FILECMD=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ FILECMD=$ac_ct_FILECMD
+ fi
+else
+ FILECMD="$ac_cv_prog_FILECMD"
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -9868,7 +10004,7 @@ beos*)
bsdi[45]*)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_cmd='$FILECMD -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
@@ -9902,14 +10038,14 @@ darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | dragonfly*)
+freebsd* | dragonfly* | midnightbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
@@ -9956,7 +10092,7 @@ netbsd*)
newos6*)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
@@ -10329,13 +10465,29 @@ esac
fi
: ${AR=ar}
-: ${AR_FLAGS=cru}
+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
+# higher priority because thats what people were doing historically (setting
+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
+# variable obsoleted/removed.
+
+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+lt_ar_flags=$AR_FLAGS
+
+
+
+
+
+
+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
+
@@ -10799,7 +10951,7 @@ esac
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Gets list of data symbols to import.
- lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
# Adjust the below global symbol transforms to fixup imported variables.
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
@@ -10817,20 +10969,20 @@ fi
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
$lt_cdecl_hook\
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
$lt_c_name_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
# Transform an extracted symbol line into symbol name with lib prefix and
# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
$lt_c_name_lib_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
@@ -10854,7 +11006,7 @@ for ac_symprfx in "" "_"; do
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++,
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
@@ -10872,9 +11024,9 @@ for ac_symprfx in "" "_"; do
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx"
else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
@@ -11077,7 +11229,7 @@ case $with_sysroot in #(
fi
;; #(
/*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
;; #(
no|'')
;; #(
@@ -11202,7 +11354,7 @@ ia64-*-hpux*)
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*ELF-32*)
HPUX_IA64_MODE=32
;;
@@ -11223,7 +11375,7 @@ ia64-*-hpux*)
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
if test yes = "$lt_cv_prog_gnu_ld"; then
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
;;
@@ -11235,7 +11387,7 @@ ia64-*-hpux*)
;;
esac
else
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
;;
@@ -11261,7 +11413,7 @@ mips64*-*linux*)
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
emul=elf
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
emul="${emul}32"
;;
@@ -11269,7 +11421,7 @@ mips64*-*linux*)
emul="${emul}64"
;;
esac
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*MSB*)
emul="${emul}btsmip"
;;
@@ -11277,7 +11429,7 @@ mips64*-*linux*)
emul="${emul}ltsmip"
;;
esac
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*N32*)
emul="${emul}n32"
;;
@@ -11301,14 +11453,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*32-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
;;
@@ -11416,7 +11568,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*)
@@ -12199,8 +12351,8 @@ int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5
+ $AR $AR_FLAGS libconftest.a conftest.o 2>&5
echo "$RANLIB libconftest.a" >&5
$RANLIB libconftest.a 2>&5
cat > conftest.c << _LT_EOF
@@ -12228,11 +12380,11 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; }
darwin1.*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*)
- case ${MACOSX_DEPLOYMENT_TARGET},$host in
- 10.[012],*|,*powerpc*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- *)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ case $MACOSX_DEPLOYMENT_TARGET,$host in
+ 10.[012],*|,*powerpc*-darwin[5-8]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ *)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
@@ -12590,8 +12742,8 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
+# All known linkers require a '.a' archive for static linking (except MSVC and
+# ICC, which need '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -13103,7 +13255,7 @@ lt_prog_compiler_static=
lt_prog_compiler_static='-qstaticlink'
;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
lt_prog_compiler_pic='-KPIC'
@@ -13528,15 +13680,15 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
+ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
@@ -13588,7 +13740,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
whole_archive_flag_spec=
fi
supports_anon_versioning=no
- case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
+ case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -13700,6 +13852,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
+ file_list_spec='@'
;;
interix[3-9]*)
@@ -13714,7 +13867,7 @@ _LT_EOF
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
@@ -13757,7 +13910,7 @@ _LT_EOF
compiler_needs_object=yes
;;
esac
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*) # Sun C 5.9
whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
@@ -13769,7 +13922,7 @@ _LT_EOF
if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
@@ -13785,7 +13938,7 @@ _LT_EOF
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
@@ -13917,7 +14070,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -14188,12 +14341,12 @@ fi
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
- cl*)
- # Native MSVC
+ cl* | icl*)
+ # Native MSVC or ICC
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
always_export_symbols=yes
@@ -14234,7 +14387,7 @@ fi
fi'
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
@@ -14275,8 +14428,8 @@ fi
output_verbose_link_cmd=func_echo_all
archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
- archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
- module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
else
ld_shlibs=no
@@ -14310,7 +14463,7 @@ fi
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
+ freebsd* | dragonfly* | midnightbsd*)
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
@@ -14652,6 +14805,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
+ file_list_spec='@'
;;
osf3*)
@@ -15354,7 +15508,7 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
@@ -15364,14 +15518,14 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
;;
- *,cl*)
- # Native MSVC
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
@@ -15390,7 +15544,7 @@ cygwin* | mingw* | pw32* | cegcc*)
done
IFS=$lt_save_ifs
# Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
;;
cygwin*)
# Convert to unix form, then to dos form, then back to unix form
@@ -15427,7 +15581,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
@@ -15460,7 +15614,7 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd* | dragonfly*)
+freebsd* | dragonfly* | midnightbsd*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
if test -x /usr/bin/objformat; then
@@ -16614,30 +16768,41 @@ striplib=
old_striplib=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
printf %s "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
+if test -z "$STRIP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP"; then
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ else
+ case $host_os in
+ darwin*)
+ # FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ ;;
+ freebsd*)
+ if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- fi
- ;;
- *)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ fi
+ ;;
+ *)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- ;;
- esac
+ ;;
+ esac
+ fi
fi
@@ -17159,11 +17324,9 @@ fi
: ${ac_cv_func_strnlen='no'}
fi
- # fmemopen(3) may be broken on AIX < 7.1 depending
- # on the libc version.
- if test $OSMAJOR -lt 7; then
- : ${ac_cv_func_fmemopen='no'}
- fi
+ # fmemopen(3) has a bug wrt feof() on some AIX versions.
+ # https://www.ibm.com/support/pages/apar/IJ11845
+ : ${ac_cv_func_fmemopen='no'}
# getdelim() may or may not be present on AIX <= 6.1.
# bos610 is missing getdelim but bos61J has it.
@@ -19203,7 +19366,9 @@ fi
done
#
-# Check for large file support.
+# Check for large file and 64-bit time support.
+# 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.
#
# Check whether --enable-largefile was given.
if test ${enable_largefile+y}
@@ -19409,6 +19574,22 @@ rm -rf conftest*
fi
fi
+if test X"$ac_cv_sys_file_offset_bits" = X"yes"; then
+ ac_fn_check_decl "$LINENO" "__TIMESIZE" "ac_cv_have_decl___TIMESIZE" "
+$ac_includes_default
+#include <time.h>
+
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl___TIMESIZE" = xyes
+then :
+
+
+printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h
+
+
+fi
+fi
+
#
# HP-UX may need to define _XOPEN_SOURCE_EXTENDED to expose MSG_WAITALL.
# Also, HP-UX 11.23 has a broken sys/types.h when large files support
@@ -23522,8 +23703,16 @@ openssl_missing=no
if test "${enable_openssl-no}" != no; then
# Use pkg-config to find the openssl cflags and libs if possible.
if test "$enable_openssl" != "yes" -a "$enable_openssl" != "maybe"; then
- PKG_CONFIG_LIBDIR="${enable_openssl}/lib/pkgconfig:${enable_openssl}/lib64/pkgconfig:${enable_openssl}/share/pkgconfig"
- export PKG_CONFIG_LIBDIR
+ PKG_CONFIG_LIBDIR=
+ for d in ${enable_openssl}/*/pkgconfig; do
+ if test -d "$d"; then
+ PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR:$d"
+ fi
+ done
+ if test -n "$PKG_CONFIG_LIBDIR"; then
+ PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR#:}
+ export PKG_CONFIG_LIBDIR
+ fi
elif test "$cross_compiling" = "yes" -a -z "$PKG_CONFIG"; then
# Cannot use pkg-config when cross-compiling
PKG_CONFIG=false
@@ -23538,12 +23727,13 @@ if test "${enable_openssl-no}" != no; then
enable_openssl=yes
fi
+ # Check whether --static is needed (don't assume name of ssl lib)
+ # There may be dependent libraries or -pthread.
O_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs-only-L $pkg_openssl`"
- # Check whether --static is needed (don't assume name of ssl lib)
libssl="`$PKG_CONFIG --libs-only-l $pkg_openssl | sed 's/^ *-l//'`"
- libssl_extra=`echo $libssl | sed 's/^[^ ]* *//'`
- libssl=`echo $libssl | sed 's/ .*//'`
+ libssl_extra="`echo $libssl | sed 's/^[^ ]* *//'`"
+ libssl="`echo $libssl | sed 's/ .*//'`"
as_ac_Lib=`printf "%s\n" "ac_cv_lib_$libssl''_SSL_new$libssl_extra" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSL_new in -l$libssl" >&5
printf %s "checking for SSL_new in -l$libssl... " >&6; }
@@ -23588,51 +23778,6 @@ else $as_nop
STATIC="--static"
fi
-
- # Use OpenSSL's sha2 functions if possible (don't assume name of crypto)
- libcrypto="`$PKG_CONFIG --libs-only-l $pkg_libcrypto | sed -e 's/^ *-l//' -e 's/ .*//'`"
- as_ac_Lib=`printf "%s\n" "ac_cv_lib_$libcrypto''_EVP_MD_CTX_new" | $as_tr_sh`
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EVP_MD_CTX_new in -l$libcrypto" >&5
-printf %s "checking for EVP_MD_CTX_new in -l$libcrypto... " >&6; }
-if eval test \${$as_ac_Lib+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$libcrypto $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-char EVP_MD_CTX_new ();
-int
-main (void)
-{
-return EVP_MD_CTX_new ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"
-then :
- eval "$as_ac_Lib=yes"
-else $as_nop
- eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-printf "%s\n" "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"
-then :
- DIGEST=digest_openssl.lo
-fi
-
LDFLAGS="$O_LDFLAGS"
# Use pkg-config to determine OpenSSL libs and cflags
@@ -23749,7 +23894,101 @@ fi
esac
done
if $PKG_CONFIG --exists $pkg_libcrypto >/dev/null 2>&1; then
- LIBCRYPTO=`$PKG_CONFIG $STATIC --libs $pkg_libcrypto`
+ # Use OpenSSL's sha2 functions if possible (don't assume name of crypto)
+ O_LDFLAGS="$LDFLAGS"
+ libcrypto=
+ libcrypto_extra=
+ for f in `$PKG_CONFIG $STATIC --libs $pkg_libcrypto`; do
+ case "$f" in
+ -l*)
+ if test -z "$libcrypto"; then
+ libcrypto="${f#-l}"
+ else
+ libcrypto_extra="$libcrypto_extra $f"
+ fi
+ ;;
+ *)
+
+if test ${LDFLAGS+y}
+then :
+
+ case " $LDFLAGS " in #(
+ *" $f "*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : LDFLAGS already contains \$f"; } >&5
+ (: LDFLAGS already contains $f) 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } ;; #(
+ *) :
+
+ as_fn_append LDFLAGS " $f"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5
+ (: LDFLAGS="$LDFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+esac
+
+else $as_nop
+
+ LDFLAGS=$f
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : LDFLAGS=\"\$LDFLAGS\""; } >&5
+ (: LDFLAGS="$LDFLAGS") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+
+fi
+
+ ;;
+ esac
+ done
+ as_ac_Lib=`printf "%s\n" "ac_cv_lib_$libcrypto''_EVP_MD_CTX_new$libcrypto_extra" | $as_tr_sh`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EVP_MD_CTX_new in -l$libcrypto" >&5
+printf %s "checking for EVP_MD_CTX_new in -l$libcrypto... " >&6; }
+if eval test \${$as_ac_Lib+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$libcrypto $libcrypto_extra $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+char EVP_MD_CTX_new ();
+int
+main (void)
+{
+return EVP_MD_CTX_new ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ eval "$as_ac_Lib=yes"
+else $as_nop
+ eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"
+then :
+ DIGEST=digest_openssl.lo
+fi
+
+ LDFLAGS="$O_LDFLAGS"
+
+ # Use pkg-config to determine libcrypto libs and cflags
for f in `$PKG_CONFIG $STATIC --libs $pkg_libcrypto`; do
case "$f" in
-L*)
@@ -24294,7 +24533,7 @@ fi
LDFLAGS="$O_LDFLAGS"
fi
if test "$enable_openssl" != "yes" -a "$enable_openssl" != "maybe"; then
- unset PKG_CONFIG_LIBDIRS
+ unset PKG_CONFIG_LIBDIR
fi
fi
if test "${enable_openssl-no}" != no; then
@@ -31591,8 +31830,8 @@ fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_stack_protector" >&5
printf "%s\n" "$sudo_cv_var_stack_protector" >&6; }
if test X"$sudo_cv_var_stack_protector" != X"no"; then
- SSP_CFLAGS="$sudo_cv_var_stack_protector"
- SSP_LDFLAGS="-Wc,$sudo_cv_var_stack_protector"
+ HARDENING_CFLAGS="$sudo_cv_var_stack_protector"
+ HARDENING_LDFLAGS="-Wc,$sudo_cv_var_stack_protector"
fi
fi
if test "$enable_hardening" != "no"; then
@@ -31632,21 +31871,21 @@ if test x"$ax_cv_check_ldflags___fstack_clash_protection" = xyes
then :
-if test ${SSP_CFLAGS+y}
+if test ${HARDENING_CFLAGS+y}
then :
- case " $SSP_CFLAGS " in #(
+ case " $HARDENING_CFLAGS " in #(
*" -fstack-clash-protection "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_CFLAGS already contains -fstack-clash-protection"; } >&5
- (: SSP_CFLAGS already contains -fstack-clash-protection) 2>&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_CFLAGS already contains -fstack-clash-protection"; } >&5
+ (: HARDENING_CFLAGS already contains -fstack-clash-protection) 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } ;; #(
*) :
- as_fn_append SSP_CFLAGS " -fstack-clash-protection"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_CFLAGS=\"\$SSP_CFLAGS\""; } >&5
- (: SSP_CFLAGS="$SSP_CFLAGS") 2>&5
+ as_fn_append HARDENING_CFLAGS " -fstack-clash-protection"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_CFLAGS=\"\$HARDENING_CFLAGS\""; } >&5
+ (: HARDENING_CFLAGS="$HARDENING_CFLAGS") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -31655,9 +31894,9 @@ esac
else $as_nop
- SSP_CFLAGS=-fstack-clash-protection
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_CFLAGS=\"\$SSP_CFLAGS\""; } >&5
- (: SSP_CFLAGS="$SSP_CFLAGS") 2>&5
+ HARDENING_CFLAGS=-fstack-clash-protection
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_CFLAGS=\"\$HARDENING_CFLAGS\""; } >&5
+ (: HARDENING_CFLAGS="$HARDENING_CFLAGS") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -31665,21 +31904,21 @@ else $as_nop
fi
-if test ${SSP_LDFLAGS+y}
+if test ${HARDENING_LDFLAGS+y}
then :
- case " $SSP_LDFLAGS " in #(
+ case " $HARDENING_LDFLAGS " in #(
*" -Wc,-fstack-clash-protection "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_LDFLAGS already contains -Wc,-fstack-clash-protection"; } >&5
- (: SSP_LDFLAGS already contains -Wc,-fstack-clash-protection) 2>&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_LDFLAGS already contains -Wc,-fstack-clash-protection"; } >&5
+ (: HARDENING_LDFLAGS already contains -Wc,-fstack-clash-protection) 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } ;; #(
*) :
- as_fn_append SSP_LDFLAGS " -Wc,-fstack-clash-protection"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_LDFLAGS=\"\$SSP_LDFLAGS\""; } >&5
- (: SSP_LDFLAGS="$SSP_LDFLAGS") 2>&5
+ as_fn_append HARDENING_LDFLAGS " -Wc,-fstack-clash-protection"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_LDFLAGS=\"\$HARDENING_LDFLAGS\""; } >&5
+ (: HARDENING_LDFLAGS="$HARDENING_LDFLAGS") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -31688,9 +31927,9 @@ esac
else $as_nop
- SSP_LDFLAGS=-Wc,-fstack-clash-protection
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_LDFLAGS=\"\$SSP_LDFLAGS\""; } >&5
- (: SSP_LDFLAGS="$SSP_LDFLAGS") 2>&5
+ HARDENING_LDFLAGS=-Wc,-fstack-clash-protection
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_LDFLAGS=\"\$HARDENING_LDFLAGS\""; } >&5
+ (: HARDENING_LDFLAGS="$HARDENING_LDFLAGS") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -31738,21 +31977,21 @@ if test x"$ax_cv_check_ldflags___fcf_protection" = xyes
then :
-if test ${SSP_CFLAGS+y}
+if test ${HARDENING_CFLAGS+y}
then :
- case " $SSP_CFLAGS " in #(
+ case " $HARDENING_CFLAGS " in #(
*" -fcf-protection "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_CFLAGS already contains -fcf-protection"; } >&5
- (: SSP_CFLAGS already contains -fcf-protection) 2>&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_CFLAGS already contains -fcf-protection"; } >&5
+ (: HARDENING_CFLAGS already contains -fcf-protection) 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } ;; #(
*) :
- as_fn_append SSP_CFLAGS " -fcf-protection"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_CFLAGS=\"\$SSP_CFLAGS\""; } >&5
- (: SSP_CFLAGS="$SSP_CFLAGS") 2>&5
+ as_fn_append HARDENING_CFLAGS " -fcf-protection"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_CFLAGS=\"\$HARDENING_CFLAGS\""; } >&5
+ (: HARDENING_CFLAGS="$HARDENING_CFLAGS") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -31761,9 +32000,9 @@ esac
else $as_nop
- SSP_CFLAGS=-fcf-protection
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_CFLAGS=\"\$SSP_CFLAGS\""; } >&5
- (: SSP_CFLAGS="$SSP_CFLAGS") 2>&5
+ HARDENING_CFLAGS=-fcf-protection
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_CFLAGS=\"\$HARDENING_CFLAGS\""; } >&5
+ (: HARDENING_CFLAGS="$HARDENING_CFLAGS") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -31771,21 +32010,21 @@ else $as_nop
fi
-if test ${SSP_LDFLAGS+y}
+if test ${HARDENING_LDFLAGS+y}
then :
- case " $SSP_LDFLAGS " in #(
+ case " $HARDENING_LDFLAGS " in #(
*" -Wc,-fcf-protection "*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_LDFLAGS already contains -Wc,-fcf-protection"; } >&5
- (: SSP_LDFLAGS already contains -Wc,-fcf-protection) 2>&5
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_LDFLAGS already contains -Wc,-fcf-protection"; } >&5
+ (: HARDENING_LDFLAGS already contains -Wc,-fcf-protection) 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } ;; #(
*) :
- as_fn_append SSP_LDFLAGS " -Wc,-fcf-protection"
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_LDFLAGS=\"\$SSP_LDFLAGS\""; } >&5
- (: SSP_LDFLAGS="$SSP_LDFLAGS") 2>&5
+ as_fn_append HARDENING_LDFLAGS " -Wc,-fcf-protection"
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_LDFLAGS=\"\$HARDENING_LDFLAGS\""; } >&5
+ (: HARDENING_LDFLAGS="$HARDENING_LDFLAGS") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -31794,9 +32033,9 @@ esac
else $as_nop
- SSP_LDFLAGS=-Wc,-fcf-protection
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : SSP_LDFLAGS=\"\$SSP_LDFLAGS\""; } >&5
- (: SSP_LDFLAGS="$SSP_LDFLAGS") 2>&5
+ HARDENING_LDFLAGS=-Wc,-fcf-protection
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : HARDENING_LDFLAGS=\"\$HARDENING_LDFLAGS\""; } >&5
+ (: HARDENING_LDFLAGS="$HARDENING_LDFLAGS") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
@@ -32193,6 +32432,26 @@ while test X"$plugindir" != X"$_plugindir"; do
done
exec_prefix="$oexec_prefix"
+# Convert exampledir to something that can be used in the man pages
+# I wish there was a better way to expand this.
+EXAMPLES="$exampledir"
+while :; do
+ EXAMPLES="`echo \"$EXAMPLES\" | sed -e 's/(/{/g' -e 's/)/}/g'`"
+ case "$EXAMPLES" in
+ *\${[A-Za-z]*}*)
+ eval EXAMPLES="$EXAMPLES"
+ ;;
+ *)
+ break
+ ;;
+ esac
+done
+case "$EXAMPLES" in
+ NONE/*)
+ EXAMPLES="${ac_default_prefix}${EXAMPLES#NONE}"
+ ;;
+esac
+
if test X"$enable_intercept" != X"no"; then
SUDO_OBJS="${SUDO_OBJS} intercept.pb-c.o"
PROGS="${PROGS} sudo_intercept.la"
@@ -32791,7 +33050,7 @@ 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.10, which was
+This file was extended by sudo $as_me 1.9.11, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -32859,7 +33118,7 @@ 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.10
+sudo config.status 1.9.11
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
@@ -33019,6 +33278,7 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q
lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`'
OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
@@ -33027,6 +33287,7 @@ want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`'
AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
@@ -33149,6 +33410,7 @@ LN_S \
lt_SP2NL \
lt_NL2SP \
reload_flag \
+FILECMD \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -33157,7 +33419,6 @@ want_nocaseglob \
DLLTOOL \
sharedlib_from_linklib_cmd \
AR \
-AR_FLAGS \
archiver_list_spec \
STRIP \
RANLIB \
@@ -33994,6 +34255,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd
# convert \$build files to toolchain format.
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+# A file(cmd) program that detects file types.
+FILECMD=$lt_FILECMD
+
# An object symbol dumper.
OBJDUMP=$lt_OBJDUMP
@@ -34018,8 +34282,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
# The archiver.
AR=$lt_AR
+# Flags to create an archive (by configure).
+lt_ar_flags=$lt_ar_flags
+
# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
+AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"}
# How to feed a file listing to the archiver.
archiver_list_spec=$lt_archiver_list_spec
@@ -34401,7 +34668,7 @@ ltmain=$ac_aux_dir/ltmain.sh
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
+ $SED '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
mv -f "$cfgfile" "$ofile" ||
@@ -34764,3 +35031,4 @@ fi
+
diff --git a/configure.ac b/configure.ac
index c80b8dd9f..4d4278f81 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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.70])
-AC_INIT([sudo], [1.9.10], [https://bugzilla.sudo.ws/], [sudo])
+AC_INIT([sudo], [1.9.11], [https://bugzilla.sudo.ws/], [sudo])
AC_CONFIG_HEADERS([config.h pathnames.h])
AC_CONFIG_SRCDIR([src/sudo.c])
AC_CONFIG_AUX_DIR([scripts])
@@ -63,10 +63,12 @@ AC_SUBST([SUDOERS_MODE])
AC_SUBST([SUDOERS_UID])
AC_SUBST([SUDOERS_GID])
AC_SUBST([DEVEL])
+AC_SUBST([EXAMPLES])
AC_SUBST([BAMAN])
AC_SUBST([LCMAN])
AC_SUBST([PSMAN])
AC_SUBST([SEMAN])
+AC_SUBST([AAMAN])
AC_SUBST([devdir])
AC_SUBST([mansectsu])
AC_SUBST([mansectform])
@@ -107,8 +109,8 @@ AC_SUBST([ASAN_LDFLAGS])
AC_SUBST([ASAN_CFLAGS])
AC_SUBST([PIE_LDFLAGS])
AC_SUBST([PIE_CFLAGS])
-AC_SUBST([SSP_LDFLAGS])
-AC_SUBST([SSP_CFLAGS])
+AC_SUBST([HARDENING_LDFLAGS])
+AC_SUBST([HARDENING_CFLAGS])
AC_SUBST([INIT_SCRIPT])
AC_SUBST([INIT_DIR])
AC_SUBST([RC_LINK])
@@ -251,6 +253,7 @@ BAMAN=0
LCMAN=0
PSMAN=0
SEMAN=0
+AAMAN=0
LIBINTL=
LIBCRYPTO=
LIBMD=
@@ -289,7 +292,7 @@ LOGSRVD=
LOGSRVD_SRC=logsrvd
LOGSRV_SRC=lib/logsrv
LOGSRVD_CONF='sudo_logsrvd.conf'
-LIBLOGSRV='$(top_builddir)/lib/logsrv/liblogsrv.la'
+LIBLOGSRV='$(top_builddir)/lib/logsrv/liblogsrv.la $(top_builddir)/lib/protobuf-c/libprotobuf-c.la'
PPFILES='$(srcdir)/etc/sudo.pp'
dnl
@@ -1483,6 +1486,18 @@ AC_ARG_WITH(selinux, [AS_HELP_STRING([--with-selinux], [enable SELinux support])
;;
esac], [with_selinux=no])
+AC_ARG_WITH(apparmor, [AS_HELP_STRING([--with-apparmor], [enable AppArmor support])],
+[case $with_apparmor in
+ yes) AC_DEFINE(HAVE_APPARMOR)
+ AAMAN=1
+ SUDO_LIBS="${SUDO_LIBS} -lapparmor"
+ SUDO_OBJS="${SUDO_OBJS} apparmor.o"
+ ;;
+ no) ;;
+ *) AC_MSG_ERROR([--with-apparmor does not take an argument.])
+
+esac], [with_apparmor=no])
+
AC_ARG_ENABLE(sasl,
[AS_HELP_STRING([--enable-sasl], [Enable/disable LDAP SASL support])],
[ case "$enableval" in
@@ -1837,11 +1852,9 @@ case "$host" in
: ${ac_cv_func_strnlen='no'}
fi
- # fmemopen(3) may be broken on AIX < 7.1 depending
- # on the libc version.
- if test $OSMAJOR -lt 7; then
- : ${ac_cv_func_fmemopen='no'}
- fi
+ # fmemopen(3) has a bug wrt feof() on some AIX versions.
+ # https://www.ibm.com/support/pages/apar/IJ11845
+ : ${ac_cv_func_fmemopen='no'}
# getdelim() may or may not be present on AIX <= 6.1.
# bos610 is missing getdelim but bos61J has it.
@@ -2447,9 +2460,20 @@ AC_CHECK_HEADERS([procfs.h] [sys/procfs.h], [AC_CHECK_MEMBERS(struct psinfo.pr_t
])]
break)
#
-# Check for large file support.
+# Check for large file and 64-bit time support.
+# 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.
#
AC_SYS_LARGEFILE
+if test X"$ac_cv_sys_file_offset_bits" = X"yes"; then
+ AC_CHECK_DECL(__TIMESIZE, [
+ AC_DEFINE([_TIME_BITS], [64], [Number of bits in a time_t, on hosts where this is settable.])
+ ], [], [
+AC_INCLUDES_DEFAULT
+#include <time.h>
+ ])
+fi
+
#
# HP-UX may need to define _XOPEN_SOURCE_EXTENDED to expose MSG_WAITALL.
# Also, HP-UX 11.23 has a broken sys/types.h when large files support
@@ -2996,8 +3020,16 @@ openssl_missing=no
if test "${enable_openssl-no}" != no; then
# Use pkg-config to find the openssl cflags and libs if possible.
if test "$enable_openssl" != "yes" -a "$enable_openssl" != "maybe"; then
- PKG_CONFIG_LIBDIR="${enable_openssl}/lib/pkgconfig:${enable_openssl}/lib64/pkgconfig:${enable_openssl}/share/pkgconfig"
- export PKG_CONFIG_LIBDIR
+ PKG_CONFIG_LIBDIR=
+ for d in ${enable_openssl}/*/pkgconfig; do
+ if test -d "$d"; then
+ PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR:$d"
+ fi
+ done
+ if test -n "$PKG_CONFIG_LIBDIR"; then
+ PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR#:}
+ export PKG_CONFIG_LIBDIR
+ fi
elif test "$cross_compiling" = "yes" -a -z "$PKG_CONFIG"; then
# Cannot use pkg-config when cross-compiling
PKG_CONFIG=false
@@ -3011,17 +3043,14 @@ if test "${enable_openssl-no}" != no; then
enable_openssl=yes
fi
+ # Check whether --static is needed (don't assume name of ssl lib)
+ # There may be dependent libraries or -pthread.
O_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs-only-L $pkg_openssl`"
- # Check whether --static is needed (don't assume name of ssl lib)
libssl="`$PKG_CONFIG --libs-only-l $pkg_openssl | sed 's/^ *-l//'`"
- libssl_extra=`echo $libssl | sed 's/^[[^ ]]* *//'`
- libssl=`echo $libssl | sed 's/ .*//'`
+ libssl_extra="`echo $libssl | sed 's/^[[^ ]]* *//'`"
+ libssl="`echo $libssl | sed 's/ .*//'`"
AC_CHECK_LIB($libssl, SSL_new, [STATIC=""], [STATIC="--static"], [$libssl_extra])
-
- # Use OpenSSL's sha2 functions if possible (don't assume name of crypto)
- libcrypto="`$PKG_CONFIG --libs-only-l $pkg_libcrypto | sed -e 's/^ *-l//' -e 's/ .*//'`"
- AC_CHECK_LIB($libcrypto, EVP_MD_CTX_new, [DIGEST=digest_openssl.lo])
LDFLAGS="$O_LDFLAGS"
# Use pkg-config to determine OpenSSL libs and cflags
@@ -3037,7 +3066,28 @@ if test "${enable_openssl-no}" != no; then
esac
done
if $PKG_CONFIG --exists $pkg_libcrypto >/dev/null 2>&1; then
- LIBCRYPTO=`$PKG_CONFIG $STATIC --libs $pkg_libcrypto`
+ # Use OpenSSL's sha2 functions if possible (don't assume name of crypto)
+ O_LDFLAGS="$LDFLAGS"
+ libcrypto=
+ libcrypto_extra=
+ for f in `$PKG_CONFIG $STATIC --libs $pkg_libcrypto`; do
+ case "$f" in
+ -l*)
+ if test -z "$libcrypto"; then
+ libcrypto="${f#-l}"
+ else
+ libcrypto_extra="$libcrypto_extra $f"
+ fi
+ ;;
+ *)
+ AX_APPEND_FLAG([$f], [LDFLAGS])
+ ;;
+ esac
+ done
+ AC_CHECK_LIB($libcrypto, EVP_MD_CTX_new, [DIGEST=digest_openssl.lo], [], [$libcrypto_extra])
+ LDFLAGS="$O_LDFLAGS"
+
+ # Use pkg-config to determine libcrypto libs and cflags
for f in `$PKG_CONFIG $STATIC --libs $pkg_libcrypto`; do
case "$f" in
-L*)
@@ -3111,7 +3161,7 @@ if test "${enable_openssl-no}" != no; then
LDFLAGS="$O_LDFLAGS"
fi
if test "$enable_openssl" != "yes" -a "$enable_openssl" != "maybe"; then
- unset PKG_CONFIG_LIBDIRS
+ unset PKG_CONFIG_LIBDIR
fi
fi
dnl
@@ -4880,18 +4930,18 @@ if test "$enable_hardening" != "no" && test "$enable_ssp" != "no"; then
]
)
if test X"$sudo_cv_var_stack_protector" != X"no"; then
- SSP_CFLAGS="$sudo_cv_var_stack_protector"
- SSP_LDFLAGS="-Wc,$sudo_cv_var_stack_protector"
+ HARDENING_CFLAGS="$sudo_cv_var_stack_protector"
+ HARDENING_LDFLAGS="-Wc,$sudo_cv_var_stack_protector"
fi
fi
if test "$enable_hardening" != "no"; then
AX_CHECK_LINK_FLAG([-fstack-clash-protection], [
- AX_APPEND_FLAG([-fstack-clash-protection], [SSP_CFLAGS])
- AX_APPEND_FLAG([-Wc,-fstack-clash-protection], [SSP_LDFLAGS])
+ AX_APPEND_FLAG([-fstack-clash-protection], [HARDENING_CFLAGS])
+ AX_APPEND_FLAG([-Wc,-fstack-clash-protection], [HARDENING_LDFLAGS])
])
AX_CHECK_LINK_FLAG([-fcf-protection], [
- AX_APPEND_FLAG([-fcf-protection], [SSP_CFLAGS])
- AX_APPEND_FLAG([-Wc,-fcf-protection], [SSP_LDFLAGS])
+ AX_APPEND_FLAG([-fcf-protection], [HARDENING_CFLAGS])
+ AX_APPEND_FLAG([-Wc,-fcf-protection], [HARDENING_LDFLAGS])
])
AX_CHECK_LINK_FLAG([-Wl,-z,relro], [AX_APPEND_FLAG([-Wl,-z,relro], [LDFLAGS])])
AX_CHECK_LINK_FLAG([-Wl,-z,now], [AX_APPEND_FLAG([-Wl,-z,now], [LDFLAGS])])
@@ -4999,7 +5049,7 @@ dnl
test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
dnl
-dnl Expand exec_prefix in in variables used by the manual pages
+dnl Expand exec_prefix in variables used by the manual pages
dnl
oexec_prefix="$exec_prefix"
if test "$exec_prefix" = '$(prefix)'; then
@@ -5039,6 +5089,26 @@ while test X"$plugindir" != X"$_plugindir"; do
done
exec_prefix="$oexec_prefix"
+# Convert exampledir to something that can be used in the man pages
+# I wish there was a better way to expand this.
+EXAMPLES="$exampledir"
+while :; do
+ EXAMPLES="`echo \"$EXAMPLES\" | sed -e 's/(/{/g' -e 's/)/}/g'`"
+ case "$EXAMPLES" in
+ *\${[[A-Za-z]]*}*)
+ eval EXAMPLES="$EXAMPLES"
+ ;;
+ *)
+ break
+ ;;
+ esac
+done
+case "$EXAMPLES" in
+ NONE/*)
+ EXAMPLES="${ac_default_prefix}${EXAMPLES#NONE}"
+ ;;
+esac
+
dnl
dnl Defer setting _PATH_SUDO_NOEXEC, etc until after exec_prefix is set
dnl
@@ -5379,6 +5449,7 @@ AH_TEMPLATE(HAVE_PROJECT_H, [Define to 1 if you have the <project.h> header file
AH_TEMPLATE(HAVE_SECURID, [Define to 1 if you use SecurID for authentication.])
AH_TEMPLATE(HAVE_SELINUX, [Define to 1 to enable SELinux RBAC support.])
AH_TEMPLATE(HAVE_SETKEYCREATECON, [Define to 1 if you have the `setkeycreatecon' function.])
+AH_TEMPLATE(HAVE_APPARMOR, [Define to 1 to enable AppArmor support.])
AH_TEMPLATE(HAVE_SHL_LOAD, [Define to 1 if you have the `shl_load' function.])
AH_TEMPLATE(HAVE_SKEY, [Define to 1 if you use S/Key.])
AH_TEMPLATE(HAVE_SKEYACCESS, [Define to 1 if your S/Key library has skeyaccess().])
diff --git a/docker/debian/latest/Dockerfile b/docker/debian/latest/Dockerfile
index 9e2d5b9a0..80417ffd8 100644
--- a/docker/debian/latest/Dockerfile
+++ b/docker/debian/latest/Dockerfile
@@ -5,5 +5,6 @@ RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
build-essential curl dpkg-dev ed libldap2-dev libpam0g-dev \
libsasl2-dev libselinux1-dev libsepol1-dev libssl-dev zlib1g-dev \
libaudit-dev libssl-dev python3-dev libpython3-dev libwolfssl-dev \
+ libapparmor-dev \
file lsb-release fakeroot pkg-config procps git ssh openssh-client
RUN useradd -ms /bin/bash build
diff --git a/docker/debian/testing/Dockerfile b/docker/debian/testing/Dockerfile
index f8498bb20..e7dbec08c 100644
--- a/docker/debian/testing/Dockerfile
+++ b/docker/debian/testing/Dockerfile
@@ -3,7 +3,8 @@ FROM docker.io/library/debian:testing
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed libldap2-dev libpam0g-dev \
- libsasl2-dev libselinux1-dev libsepol1-dev libssl-dev zlib1g-dev \
+ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev zlib1g-dev \
libaudit-dev libssl-dev python3-dev libpython3-dev libwolfssl-dev \
+ libapparmor-dev \
file lsb-release fakeroot pkg-config procps git ssh openssh-client
RUN useradd -ms /bin/bash build
diff --git a/docker/ubuntu/devel/Dockerfile b/docker/ubuntu/devel/Dockerfile
index 5ded20e3b..4ccda0532 100644
--- a/docker/ubuntu/devel/Dockerfile
+++ b/docker/ubuntu/devel/Dockerfile
@@ -3,7 +3,8 @@ FROM docker.io/library/ubuntu:devel
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed libldap2-dev libpam0g-dev \
- libsasl2-dev libselinux1-dev libsepol1-dev libssl-dev zlib1g-dev \
+ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev zlib1g-dev \
libaudit-dev libssl-dev python3-dev libpython3-dev libwolfssl-dev \
+ libapparmor-dev \
file lsb-release fakeroot pkg-config procps git ssh openssh-client
RUN useradd -ms /bin/bash build
diff --git a/docker/ubuntu/latest/Dockerfile b/docker/ubuntu/latest/Dockerfile
index db619f97e..b8f19e708 100644
--- a/docker/ubuntu/latest/Dockerfile
+++ b/docker/ubuntu/latest/Dockerfile
@@ -3,7 +3,8 @@ FROM docker.io/library/ubuntu:latest
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed libldap2-dev libpam0g-dev \
- libsasl2-dev libselinux1-dev libsepol1-dev libssl-dev zlib1g-dev \
+ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev zlib1g-dev \
libaudit-dev libssl-dev python3-dev libpython3-dev libwolfssl-dev \
+ libapparmor-dev \
file lsb-release fakeroot pkg-config procps git ssh openssh-client
RUN useradd -ms /bin/bash build
diff --git a/docker/ubuntu/rolling/Dockerfile b/docker/ubuntu/rolling/Dockerfile
index 6a9aebfc0..6a1b926d2 100644
--- a/docker/ubuntu/rolling/Dockerfile
+++ b/docker/ubuntu/rolling/Dockerfile
@@ -3,7 +3,8 @@ FROM docker.io/library/ubuntu:rolling
RUN DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=America/Denver apt-get install -y \
build-essential curl dpkg-dev ed libldap2-dev libpam0g-dev \
- libsasl2-dev libselinux1-dev libsepol1-dev libssl-dev zlib1g-dev \
+ libsasl2-dev libselinux1-dev libsepol-dev libssl-dev zlib1g-dev \
libaudit-dev libssl-dev python3-dev libpython3-dev libwolfssl-dev \
+ libapparmor-dev \
file lsb-release fakeroot pkg-config procps git ssh openssh-client
RUN useradd -ms /bin/bash build
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
index 621bfb325..d1d1c1197 100644
--- a/docs/CONTRIBUTING.md
+++ b/docs/CONTRIBUTING.md
@@ -64,10 +64,19 @@ For more information, see https://www.sudo.ws/security/fuzzing/.
## Translations
-The Free Translation Project provides translations for Sudo. If
-you would like to contribute to Sudo's translations, see the
-ABOUT-NLS file in the Sudo source tree or visit [the Free Translation
-Project's homepage](https://translationproject.org).
+Sudo uses [GNU gettext](https://www.gnu.org/software/gettext/) for
+its National Language Support (NLS). Strings in sudo and related
+programs are collected in `.pot` files that can be translated into
+multiple languages.
+
+Translations for sudo are coordinated by the [Translation
+Project](https://translationproject.org). If you would like to
+contribute to Sudo's translations, please join a translation team
+at the Translation Project instead of contributing a `.po` file
+directly. This will avoid duplicated work if there is already a
+translation in progress. If you would like to become a member of
+a translation team, please follow the [instructions for
+translators](https://translationproject.org/html/translators.html).
There are currently two translation domains: [one for the sudo
front-end](https://translationproject.org/domain/sudo.html) and a
diff --git a/docs/CONTRIBUTORS.md b/docs/CONTRIBUTORS.md
index 2acbe32b1..02414d5cf 100644
--- a/docs/CONTRIBUTORS.md
+++ b/docs/CONTRIBUTORS.md
@@ -66,6 +66,7 @@ you believe you should be listed, send a note to sudo@sudo.ws.
Jackson, John R.
Jackson, Richard L., Jr.
Janssen, Mark
+ Jindrák, Jaroslav
Jepeway, Chris
Jorge, Joel Peláe
Jover, Guillem
@@ -143,8 +144,10 @@ you believe you should be listed, send a note to sudo@sudo.ws.
Schuring, Arno
Schwarze, Ingo
Scott, Dougal
+ Shand, Will
Sieger, Nick
Simon, Thor Lancelot
+ Skoll, Dianne
Slemko, Marc
Smith, Andy
Sobrado, Igor
@@ -194,6 +197,7 @@ https://translationproject.org for more details.
Cho, Seong-ho
Chornoivan, Yuri
Diéguez, Francisco
+ Doghonadze, Temuri
Fontenelle, Rafael
García-Fontes, Walter
Gezer, Volkan
diff --git a/docs/Makefile.in b/docs/Makefile.in
index afd0c491b..6828d5426 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -310,7 +310,7 @@ $(srcdir)/sudo_plugin_python.man.in: $(srcdir)/sudo_plugin_python.mdoc.in
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" \)"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" > $@; \
fi
./sudo_plugin_python.man: $(top_builddir)/config.status $(srcdir)/sudo_plugin_python.man.in fixman.sed
@@ -351,8 +351,8 @@ install-doc: install-dirs
$(INSTALL) $(INSTALL_OWNER) -m 0644 ./cvtsudoers.$(mantype) $(DESTDIR)$(mandirexe)/cvtsudoers.1
$(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
@LOGSRV@$(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudo_logsrvd.$(mantype) $(DESTDIR)$(mandirsu)/sudo_logsrvd.$(mansectsu)
- $(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudo_plugin.$(mantype) $(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu)
- @PYTHON_PLUGIN@$(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudo_plugin_python.$(mantype) $(DESTDIR)$(mandirsu)/sudo_plugin_python.$(mansectsu)
+ $(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudo_plugin.$(mantype) $(DESTDIR)$(mandirform)/sudo_plugin.$(mansectform)
+ @PYTHON_PLUGIN@$(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudo_plugin_python.$(mantype) $(DESTDIR)$(mandirform)/sudo_plugin_python.$(mansectform)
$(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudo_sendlog.$(mantype) $(DESTDIR)$(mandirsu)/sudo_sendlog.$(mansectsu)
$(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudoreplay.$(mantype) $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu)
$(INSTALL) $(INSTALL_OWNER) -m 0644 ./visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
@@ -363,7 +363,7 @@ install-doc: install-dirs
$(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudoers_timestamp.$(mantype) $(DESTDIR)$(mandirform)/sudoers_timestamp.$(mansectform)
@LDAP@$(INSTALL) $(INSTALL_OWNER) -m 0644 ./sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
@if test -n "$(MANCOMPRESS)"; then \
- for f in $(mandirexe)/cvtsudoers.1 $(mandirsu)/sudo.$(mansectsu) $(mandirsu)/sudo_logsrvd.$(mansectsu) $(mandirsu)/sudo_plugin.$(mansectsu) $(mandirsu)/sudo_plugin_python.$(mansectsu) $(mandirsu)/sudo_sendlog.$(mansectsu) $(mandirsu)/sudoreplay.$(mansectsu) $(mandirsu)/visudo.$(mansectsu) $(mandirform)/sudo.conf.$(mansectform) $(mandirform)/sudo_logsrv.proto.$(mansectform) $(mandirform)/sudo_logsrvd.conf.$(mansectform) $(mandirform)/sudoers.$(mansectform) $(mandirform)/sudoers_timestamp.$(mansectform) $(mandirform)/sudoers.ldap.$(mansectform); do \
+ for f in $(mandirexe)/cvtsudoers.1 $(mandirsu)/sudo.$(mansectsu) $(mandirsu)/sudo_logsrvd.$(mansectsu) $(mandirform)/sudo_plugin.$(mansectform) $(mandirform)/sudo_plugin_python.$(mansectform) $(mandirsu)/sudo_sendlog.$(mansectsu) $(mandirsu)/sudoreplay.$(mansectsu) $(mandirsu)/visudo.$(mansectsu) $(mandirform)/sudo.conf.$(mansectform) $(mandirform)/sudo_logsrv.proto.$(mansectform) $(mandirform)/sudo_logsrvd.conf.$(mansectform) $(mandirform)/sudoers.$(mansectform) $(mandirform)/sudoers_timestamp.$(mansectform) $(mandirform)/sudoers.ldap.$(mansectform); do \
if test -f $(DESTDIR)$$f; then \
echo $(MANCOMPRESS) -f $(DESTDIR)$$f; \
$(MANCOMPRESS) -f $(DESTDIR)$$f; \
@@ -388,14 +388,14 @@ uninstall:
$(DESTDIR)$(mandirsu)/sudo.$(mansectsu) \
$(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu) \
$(DESTDIR)$(mandirsu)/sudo_logsrvd.$(mansectsu) \
- $(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu) \
- $(DESTDIR)$(mandirsu)/sudo_plugin_python.$(mansectsu) \
$(DESTDIR)$(mandirsu)/sudo_sendlog.$(mansectsu) \
$(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu) \
$(DESTDIR)$(mandirsu)/visudo.$(mansectsu) \
$(DESTDIR)$(mandirform)/sudo.conf.$(mansectform) \
$(DESTDIR)$(mandirform)/sudo_logsrv.proto.$(mansectform) \
$(DESTDIR)$(mandirform)/sudo_logsrvd.conf.$(mansectform) \
+ $(DESTDIR)$(mandirform)/sudo_plugin.$(mansectform) \
+ $(DESTDIR)$(mandirform)/sudo_plugin_python.$(mansectform) \
$(DESTDIR)$(mandirform)/sudoers.$(mansectform) \
$(DESTDIR)$(mandirform)/sudoers_timestamp.$(mansectform) \
$(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
diff --git a/docs/TROUBLESHOOTING.md b/docs/TROUBLESHOOTING.md
index 8b3e30483..2d3b72173 100644
--- a/docs/TROUBLESHOOTING.md
+++ b/docs/TROUBLESHOOTING.md
@@ -75,9 +75,15 @@ It just says "Sorry, try again." three times and exits.
Account expired or PAM config lacks an 'account' section for sudo,
contact your system administrator`
-> when the account has not expired, your PAM config probably lacks
-> an 'account' specification. On Linux this usually means you are
-> missing a line in /etc/pam.d/sudo similar to:
+> double-check the `/etc/shadow` file to verify that the target user
+> (for example, root) does not have the password expiration field set.
+> A common way to disable access to an account is to set the expiration
+> date to 1, such as via `usermod -e 1`. If the account is marked as
+> expired, sudo will not allow you to access it.
+>
+> If, however, the account has not expired, it is possible that the PAM
+> configuration lacks an 'account' specification. On Linux this usually
+> means you are missing a line in /etc/pam.d/sudo similar to:
account required pam_unix.so
@@ -283,6 +289,22 @@ It just says "Sorry, try again." three times and exits.
Enter new password: <return>
Re-enter password: <return>
+#### After upgrading my system, sudo_logsrvd gives the error:
+
+ X509_verify_cert: CA cert does not include key usage extension
+
+> This can happen if you are using self-signed certificates that do not
+> include the key usage extension. This error can occur if the certificates
+> were generated using OpenSSL 1.x but sudo_logsrvd now uses OpenSSL 3.x,
+> for example after a system upgrade. The x509 certificate validation in
+> OpenSSL 3.x now requires that the key usage extension be present.
+> One way to address this is to disable certificate verification in
+> sudo_logsrvd by setting the _tls_verify_ key in the `[server]` section
+> to _false_. Alternately, you can simply remove your old CA and the
+> associated certificates and create a new one using an updated
+> `/etc/ssl/openssl.cnf` file. See the sudo_logsrvd manual for more
+> information on creating self-signed certificates.
+
#### On HP-UX, the umask setting in sudoers has no effect.
> If your /etc/pam.conf file has the libpam_hpsec.so.1 session module
diff --git a/docs/sudo.conf.man.in b/docs/sudo.conf.man.in
index c9758e99d..e5433a1b0 100644
--- a/docs/sudo.conf.man.in
+++ b/docs/sudo.conf.man.in
@@ -17,7 +17,7 @@
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.nr SL @SEMAN@
-.TH "SUDO.CONF" "@mansectform@" "February 16, 2022" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
+.TH "SUDO.CONF" "@mansectform@" "May 31, 2022" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
.nh
.if n .ad l
.SH "NAME"
@@ -296,8 +296,9 @@ The fully-qualified path to a shared library containing a wrappers for the
\fBexecv\fR(),
\fBexecve\fR(),
\fBexecvp\fR(),
+\fBexecvpe\fR(),
and
-\fBexecvpe\fR()
+\fBsystem\fR()
library functions that intercepts attempts to run further commands and
performs a policy check before allowing them to be executed.
This is used to implement the
@@ -605,9 +606,9 @@ Debug sudo_intercept.so @log_dir@/intercept_debug all@debug
.PP
would log all debugging statements, regardless of level, for the
\fIsudo_intercept.so\fR
-shared object that implements
+shared library that implements
\fBsudo\fR's
-intercept functionality.
+intercept functionality on some systems.
.PP
As of
\fBsudo\fR
diff --git a/docs/sudo.conf.mdoc.in b/docs/sudo.conf.mdoc.in
index 722fbd625..add83a667 100644
--- a/docs/sudo.conf.mdoc.in
+++ b/docs/sudo.conf.mdoc.in
@@ -16,7 +16,7 @@
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.nr SL @SEMAN@
-.Dd February 16, 2022
+.Dd May 31, 2022
.Dt SUDO.CONF @mansectform@
.Os Sudo @PACKAGE_VERSION@
.Sh NAME
@@ -271,8 +271,9 @@ The fully-qualified path to a shared library containing a wrappers for the
.Fn execv ,
.Fn execve ,
.Fn execvp ,
+.Fn execvpe ,
and
-.Fn execvpe
+.Fn system
library functions that intercepts attempts to run further commands and
performs a policy check before allowing them to be executed.
This is used to implement the
@@ -549,9 +550,9 @@ Debug sudo_intercept.so @log_dir@/intercept_debug all@debug
.Pp
would log all debugging statements, regardless of level, for the
.Pa sudo_intercept.so
-shared object that implements
+shared library that implements
.Nm sudo Ns 's
-intercept functionality.
+intercept functionality on some systems.
.Pp
As of
.Nm sudo
diff --git a/docs/sudo_logsrvd.man.in b/docs/sudo_logsrvd.man.in
index 0a4a1ae58..c0bccf412 100644
--- a/docs/sudo_logsrvd.man.in
+++ b/docs/sudo_logsrvd.man.in
@@ -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@" "February 16, 2022" "Sudo @PACKAGE_VERSION@" "System Manager's Manual"
+.TH "SUDO_LOGSRVD" "@mansectsu@" "May 17, 2022" "Sudo @PACKAGE_VERSION@" "System Manager's Manual"
.nh
.if n .ad l
.SH "NAME"
@@ -200,23 +200,38 @@ your system.
Now edit the
\fIopenssl.cnf\fR
file in the current directory and make sure it contains
-\(lqca\(rq
+\(lqca\(rq,
+\(lqCA_default\(rq,
+\(lqv3_ca\(rq,
and
-\(lqCA_default\(rq
+\(lqusr_cert\(rq
sections.
-Those sections should include the following settings:
+Those sections should include at least the following settings:
.nf
.sp
.RS 4n
[ ca ]
-default_ca = CA_default
+default_ca = CA_default
[ CA_default ]
-dir = /etc/ssl/sudo
-certs = $dir/certs
-database = $dir/index.txt
-certificate = $dir/cacert.pem
-serial = $dir/serial
+dir = /etc/ssl/sudo
+certs = $dir/certs
+database = $dir/index.txt
+certificate = $dir/cacert.pem
+serial = $dir/serial
+
+[ v3_ca ]
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always,issuer
+basicConstraints = critical,CA:true
+keyUsage = cRLSign, keyCertSign
+
+[ usr_cert ]
+basicConstraints = CA:FALSE
+keyUsage = nonRepudiation, digitalSignature, \e
+ keyEncipherment
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid,issuer
.RE
.fi
.PP
@@ -226,7 +241,9 @@ file already has a
\(lqCA_default\(rq
section, you may only need to modify the
\(lqdir\(rq
-setting.
+setting and enable the
+\(lqkeyUsage\(rq
+settings if they are commented out.
.SS "Creating the CA key and certificate"
In order to create and sign our own certificates, we need to create
a private key and a certificate for the root of the CA.
@@ -355,8 +372,8 @@ Certificate Details:
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
+ X509v3 Key Usage:
+ Digital Signature, Non Repudiation, Key Encipherment
X509v3 Subject Key Identifier:
4C:50:F9:D0:BE:1A:4C:B2:AC:90:76:56:C7:9E:16:AE:E6:9E:E5:B5
X509v3 Authority Key Identifier:
diff --git a/docs/sudo_logsrvd.mdoc.in b/docs/sudo_logsrvd.mdoc.in
index c438f5a54..8c6a1e59a 100644
--- a/docs/sudo_logsrvd.mdoc.in
+++ b/docs/sudo_logsrvd.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 February 16, 2022
+.Dd May 17, 2022
.Dt SUDO_LOGSRVD @mansectsu@
.Os Sudo @PACKAGE_VERSION@
.Sh NAME
@@ -184,21 +184,36 @@ your system.
Now edit the
.Pa openssl.cnf
file in the current directory and make sure it contains
-.Dq ca
+.Dq ca ,
+.Dq CA_default ,
+.Dq v3_ca ,
and
-.Dq CA_default
+.Dq usr_cert
sections.
-Those sections should include the following settings:
+Those sections should include at least the following settings:
.Bd -literal -offset 4n
[ ca ]
-default_ca = CA_default
+default_ca = CA_default
[ CA_default ]
-dir = /etc/ssl/sudo
-certs = $dir/certs
-database = $dir/index.txt
-certificate = $dir/cacert.pem
-serial = $dir/serial
+dir = /etc/ssl/sudo
+certs = $dir/certs
+database = $dir/index.txt
+certificate = $dir/cacert.pem
+serial = $dir/serial
+
+[ v3_ca ]
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid:always,issuer
+basicConstraints = critical,CA:true
+keyUsage = cRLSign, keyCertSign
+
+[ usr_cert ]
+basicConstraints = CA:FALSE
+keyUsage = nonRepudiation, digitalSignature, \e
+ keyEncipherment
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid,issuer
.Ed
.Pp
If your
@@ -207,7 +222,9 @@ file already has a
.Dq CA_default
section, you may only need to modify the
.Dq dir
-setting.
+setting and enable the
+.Dq keyUsage
+settings if they are commented out.
.Ss Creating the CA key and certificate
In order to create and sign our own certificates, we need to create
a private key and a certificate for the root of the CA.
@@ -319,8 +336,8 @@ Certificate Details:
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
+ X509v3 Key Usage:
+ Digital Signature, Non Repudiation, Key Encipherment
X509v3 Subject Key Identifier:
4C:50:F9:D0:BE:1A:4C:B2:AC:90:76:56:C7:9E:16:AE:E6:9E:E5:B5
X509v3 Authority Key Identifier:
diff --git a/docs/sudo_plugin.man.in b/docs/sudo_plugin.man.in
index 8fee422f8..4fa699e21 100644
--- a/docs/sudo_plugin.man.in
+++ b/docs/sudo_plugin.man.in
@@ -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" "February 16, 2022" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
+.TH "SUDO_PLUGIN" "5" "May 26, 2022" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
.nh
.if n .ad l
.SH "NAME"
@@ -291,6 +291,36 @@ implied_shell=bool
If the user does not specify a program on the command line,
\fBsudo\fR
will pass the plugin the path to the user's shell and set
+\fIimplied_shell\fR.
+.TP 6n
+intercept_ptrace=bool
+Indicates whether or not the system supports intercept
+mode using
+ptrace(2).
+This is currently only true for Linux systems that support
+seccomp(2)
+filtering and the
+\(lqtrap\(rq
+action.
+Other systems will use a dynamic shared object to implement
+intercept.
+.TP 6n
+intercept_setid=bool
+Indicates whether or not the system supports running set-user-ID
+and set-group-ID binaries in intercept mode.
+This is currently only true for Linux systems that support
+seccomp(2)
+filtering and the
+\(lqtrap\(rq
+action.
+On systems that use a dynamic shared object to implement
+intercept, the dynamic linker (ld.so or the equivalent)
+will disable preloading of shared objects when executing a
+set-user-ID or set-group-ID binary.
+This will disable intercept mode for that program and any other
+programs that it executes.
+The policy plugin may refuse to execute a set-user-ID or set-group-ID
+binary in intercept mode to avoid this.
.TP 6n
login_class=string
BSD
@@ -1078,6 +1108,21 @@ The specified
\fInumber\fR
must refer to an open file descriptor.
.TP 6n
+intercept=bool
+If specified,
+\fBsudo\fR
+will intercept attempts to execute a subsequent command and perform
+a policy check via the policy plugin's
+\fBcheck_policy\fR()
+function to determine whether or not the command is permitted.
+This can be used to prevent shell escapes on supported platforms
+but it has a number of limitations.
+See
+\fBPreventing shell escapes\fR
+in
+sudoers(@mansectform@)
+for details.
+.TP 6n
iolog_compress=bool
Set to true if the I/O logging plugins, if any, should compress the
log data.
@@ -1142,6 +1187,24 @@ on
BSD
systems.
.TP 6n
+log_subcmds=bool
+If specified,
+\fBsudo\fR
+will call the audit plugin's
+\fBaccept\fR()
+function to log when the command runs a subsequent command, if supported
+by the system.
+If
+\fIintercept\fR
+is also specified,
+\fIlog_subcmds\fR
+will be ignored.
+See
+\fBPreventing shell escapes\fR
+in
+sudoers(@mansectform@)
+for more information.
+.TP 6n
noexec=bool
If set, prevent the command from executing other programs.
.TP 6n
@@ -1466,6 +1529,16 @@ Force the value specified by the
\fIumask\fR
option to override any umask set by PAM or login.conf.
.TP 6n
+use_ptrace=bool
+If specified,
+\fBsudo\fR
+will use
+ptrace(2)
+to implement intercept mode if supported by the system.
+This setting has no effect unless
+\fIintercept\fR
+is also set.
+.TP 6n
use_pty=bool
Allocate a pseudo-terminal to run the command in, regardless of whether
or not I/O logging is in use.
@@ -5280,7 +5353,7 @@ The
\fIcmnd_chroot\fR
and
\fIcmnd_cwd\fR
-enties were added to the
+entries were added to the
\fRsettings\fR
list.
.TP 6n
@@ -5293,6 +5366,27 @@ Version 1.18 (sudo 1.9.9)
The policy may now set resource limit values in the
\fRcommand_info\fR
list.
+The
+\fIintercept\fR
+and
+\fIlog_subcmds\fR
+entries were added to the
+\fRcommand_info\fR
+list.
+.TP 6n
+Version 1.19 (sudo 1.9.11)
+The
+\fIintercept_ptrace\fR
+and
+\fIintercept_setid\fR
+entries were added to the
+\fRsettings\fR
+list.
+The
+\fIuser_ptrace\fR
+entry was added to the
+\fRcommand_info\fR
+list.
.SH "SEE ALSO"
sudo.conf(@mansectform@),
sudoers(@mansectform@),
diff --git a/docs/sudo_plugin.mdoc.in b/docs/sudo_plugin.mdoc.in
index e4432b839..24f2f5976 100644
--- a/docs/sudo_plugin.mdoc.in
+++ b/docs/sudo_plugin.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 February 16, 2022
+.Dd May 26, 2022
.Dt SUDO_PLUGIN @mansectform@
.Os Sudo @PACKAGE_VERSION@
.Sh NAME
@@ -269,6 +269,34 @@ to print a usage message and exit.
If the user does not specify a program on the command line,
.Nm sudo
will pass the plugin the path to the user's shell and set
+.Em implied_shell .
+.It intercept_ptrace=bool
+Indicates whether or not the system supports intercept
+mode using
+.Xr ptrace 2 .
+This is currently only true for Linux systems that support
+.Xr seccomp 2
+filtering and the
+.Dq trap
+action.
+Other systems will use a dynamic shared object to implement
+intercept.
+.It intercept_setid=bool
+Indicates whether or not the system supports running set-user-ID
+and set-group-ID binaries in intercept mode.
+This is currently only true for Linux systems that support
+.Xr seccomp 2
+filtering and the
+.Dq trap
+action.
+On systems that use a dynamic shared object to implement
+intercept, the dynamic linker (ld.so or the equivalent)
+will disable preloading of shared objects when executing a
+set-user-ID or set-group-ID binary.
+This will disable intercept mode for that program and any other
+programs that it executes.
+The policy plugin may refuse to execute a set-user-ID or set-group-ID
+binary in intercept mode to avoid this.
.It login_class=string
.Bx
login class to use when setting resource limits and nice value,
@@ -965,6 +993,20 @@ system call to execute the command instead of
The specified
.Em number
must refer to an open file descriptor.
+.It intercept=bool
+If specified,
+.Nm sudo
+will intercept attempts to execute a subsequent command and perform
+a policy check via the policy plugin's
+.Fn check_policy
+function to determine whether or not the command is permitted.
+This can be used to prevent shell escapes on supported platforms
+but it has a number of limitations.
+See
+.Sy Preventing shell escapes
+in
+.Xr sudoers @mansectform@
+for details.
.It iolog_compress=bool
Set to true if the I/O logging plugins, if any, should compress the
log data.
@@ -1017,6 +1059,23 @@ The nice value, if specified, overrides the priority associated with the
on
.Bx
systems.
+.It log_subcmds=bool
+If specified,
+.Nm sudo
+will call the audit plugin's
+.Fn accept
+function to log when the command runs a subsequent command, if supported
+by the system.
+If
+.Em intercept
+is also specified,
+.Em log_subcmds
+will be ignored.
+See
+.Sy Preventing shell escapes
+in
+.Xr sudoers @mansectform@
+for more information.
.It noexec=bool
If set, prevent the command from executing other programs.
.It preserve_fds=list
@@ -1311,6 +1370,15 @@ option is also set.
Force the value specified by the
.Em umask
option to override any umask set by PAM or login.conf.
+.It use_ptrace=bool
+If specified,
+.Nm sudo
+will use
+.Xr ptrace 2
+to implement intercept mode if supported by the system.
+This setting has no effect unless
+.Em intercept
+is also set.
.It use_pty=bool
Allocate a pseudo-terminal to run the command in, regardless of whether
or not I/O logging is in use.
@@ -4676,7 +4744,7 @@ The
.Em cmnd_chroot
and
.Em cmnd_cwd
-enties were added to the
+entries were added to the
.Li settings
list.
.It Version 1.17 (sudo 1.9.4)
@@ -4687,6 +4755,26 @@ field was added to the audit_plugin and approval_plugin structs.
The policy may now set resource limit values in the
.Li command_info
list.
+The
+.Em intercept
+and
+.Em log_subcmds
+entries were added to the
+.Li command_info
+list.
+.It Version 1.19 (sudo 1.9.11)
+The
+.Em intercept_ptrace
+and
+.Em intercept_setid
+entries were added to the
+.Li settings
+list.
+The
+.Em user_ptrace
+entry was added to the
+.Li command_info
+list.
.El
.Sh SEE ALSO
.Xr sudo.conf @mansectform@ ,
diff --git a/docs/sudo_plugin_python.man.in b/docs/sudo_plugin_python.man.in
index e2cf4d814..98c0abbfc 100644
--- a/docs/sudo_plugin_python.man.in
+++ b/docs/sudo_plugin_python.man.in
@@ -17,7 +17,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_PYTHON" "5" "February 16, 2022" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
+.TH "SUDO_PLUGIN_PYTHON" "5" "June 6, 2022" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
.nh
.if n .ad l
.SH "NAME"
@@ -184,7 +184,18 @@ The plugin arguments are as follows:
ModulePath
The path of a python file which contains the class of the sudo Python plugin.
It must be either an absolute path or a path relative to the sudo Python plugin
-directory: "@plugindir@/python".
+directory,
+\fI@plugindir@/python\fR.
+The parent directory of
+\fIModulePath\fR
+will be appended to Python's module search path (there is currently no
+way to force Python to load a module from a fully-qualified path).
+It is good practice to use a prefix for the module file that is unlikely
+to conflict with other installed Python modules, for example,
+\fIsudo_policy.py\fR.
+Otherwise, if the there is an installed Python module with the same
+file name as the sudo Python plugin file (without the directory),
+the wrong file will be loaded.
.TP 6n
ClassName
(Optional.) The name of the class implementing the sudo Python plugin.
@@ -553,7 +564,7 @@ To try it, register it by adding the following lines to
.sp
.RS 0n
Plugin python_policy python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_policy_plugin.py \e
+ ModulePath=@EXAMPLES@/example_policy_plugin.py \e
ClassName=SudoPolicyPlugin
.RE
.fi
@@ -845,7 +856,7 @@ To try it, register it by adding the following lines to
.sp
.RS 4n
Plugin python_io python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_io_plugin.py \e
+ ModulePath=@EXAMPLES@/example_io_plugin.py \e
ClassName=SudoIOPlugin
.RE
.fi
@@ -1161,7 +1172,7 @@ To try it, register it by adding the following lines to
.sp
.RS 4n
Plugin python_audit python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_audit_plugin.py \e
+ ModulePath=@EXAMPLES@/example_audit_plugin.py \e
ClassName=SudoAuditPlugin
.RE
.fi
@@ -1302,7 +1313,7 @@ To try it, register it by adding the following lines to
.sp
.RS 4n
Plugin python_approval python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_approval_plugin.py \e
+ ModulePath=@EXAMPLES@/example_approval_plugin.py \e
ClassName=BusinessHoursApprovalPlugin
.RE
.fi
@@ -1399,7 +1410,7 @@ file by adding the following lines:
.sp
.RS 4n
Defaults group_plugin="python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_group_plugin.py \e
+ ModulePath=@EXAMPLES@/example_group_plugin.py \e
ClassName=SudoGroupPlugin"
.RE
.fi
@@ -1558,7 +1569,7 @@ To try it, register it by adding the following lines to
.sp
.RS 4n
Plugin python_io python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_conversation.py \e
+ ModulePath=@EXAMPLES@/example_conversation.py \e
ClassName=ReasonLoggerIOPlugin
.RE
.fi
@@ -1737,7 +1748,7 @@ To try it, register it by adding the following lines to
.sp
.RS 4n
Plugin python_io python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_debugging.py \e
+ ModulePath=@EXAMPLES@/example_debugging.py \e
ClassName=DebugDemoPlugin
Debug python_plugin.so \e
diff --git a/docs/sudo_plugin_python.mdoc.in b/docs/sudo_plugin_python.mdoc.in
index 9665a4914..111bed672 100644
--- a/docs/sudo_plugin_python.mdoc.in
+++ b/docs/sudo_plugin_python.mdoc.in
@@ -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.
.\"
-.Dd February 16, 2022
+.Dd June 6, 2022
.Dt SUDO_PLUGIN_PYTHON @mansectform@
.Os Sudo @PACKAGE_VERSION@
.Sh NAME
@@ -155,7 +155,18 @@ The plugin arguments are as follows:
.It ModulePath
The path of a python file which contains the class of the sudo Python plugin.
It must be either an absolute path or a path relative to the sudo Python plugin
-directory: "@plugindir@/python".
+directory,
+.Pa @plugindir@/python .
+The parent directory of
+.Em ModulePath
+will be appended to Python's module search path (there is currently no
+way to force Python to load a module from a fully-qualified path).
+It is good practice to use a prefix for the module file that is unlikely
+to conflict with other installed Python modules, for example,
+.Pa sudo_policy.py .
+Otherwise, if the there is an installed Python module with the same
+file name as the sudo Python plugin file (without the directory),
+the wrong file will be loaded.
.It ClassName
(Optional.) The name of the class implementing the sudo Python plugin.
If not supplied, the one and only sudo.Plugin that is present in the module
@@ -449,7 +460,7 @@ To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf :
.Bd -literal
Plugin python_policy python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_policy_plugin.py \e
+ ModulePath=@EXAMPLES@/example_policy_plugin.py \e
ClassName=SudoPolicyPlugin
.Ed
.Pp
@@ -683,7 +694,7 @@ To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n
Plugin python_io python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_io_plugin.py \e
+ ModulePath=@EXAMPLES@/example_io_plugin.py \e
ClassName=SudoIOPlugin
.Ed
.Ss Audit plugin API
@@ -930,7 +941,7 @@ To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n
Plugin python_audit python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_audit_plugin.py \e
+ ModulePath=@EXAMPLES@/example_audit_plugin.py \e
ClassName=SudoAuditPlugin
.Ed
.Pp
@@ -1036,7 +1047,7 @@ To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n
Plugin python_approval python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_approval_plugin.py \e
+ ModulePath=@EXAMPLES@/example_approval_plugin.py \e
ClassName=BusinessHoursApprovalPlugin
.Ed
.Pp
@@ -1113,7 +1124,7 @@ To try it, register it in the
file by adding the following lines:
.Bd -literal -offset 4n
Defaults group_plugin="python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_group_plugin.py \e
+ ModulePath=@EXAMPLES@/example_group_plugin.py \e
ClassName=SudoGroupPlugin"
.Ed
.Pp
@@ -1249,7 +1260,7 @@ To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n
Plugin python_io python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_conversation.py \e
+ ModulePath=@EXAMPLES@/example_conversation.py \e
ClassName=ReasonLoggerIOPlugin
.Ed
.Ss Information / error display API
@@ -1398,7 +1409,7 @@ To try it, register it by adding the following lines to
.Pa @sysconfdir@/sudo.conf :
.Bd -literal -offset 4n
Plugin python_io python_plugin.so \e
- ModulePath=@prefix@/share/doc/sudo/examples/example_debugging.py \e
+ ModulePath=@EXAMPLES@/example_debugging.py \e
ClassName=DebugDemoPlugin
Debug python_plugin.so \e
diff --git a/docs/sudoers.man.in b/docs/sudoers.man.in
index fcb953d2d..e12462665 100644
--- a/docs/sudoers.man.in
+++ b/docs/sudoers.man.in
@@ -25,7 +25,7 @@
.nr BA @BAMAN@
.nr LC @LCMAN@
.nr PS @PSMAN@
-.TH "SUDOERS" "@mansectform@" "February 21, 2022" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
+.TH "SUDOERS" "@mansectform@" "May 31, 2022" "Sudo @PACKAGE_VERSION@" "File Formats Manual"
.nh
.if n .ad l
.SH "NAME"
@@ -1290,6 +1290,8 @@ Runas_Spec ::= '(' Runas_List? (':' Runas_List)? ')'
SELinux_Spec ::= ('ROLE=role' | 'TYPE=type')
.\}
+AppArmor_Spec ::= 'APPARMOR_PROFILE=profile'
+
.if \n(PS \{\
Solaris_Priv_Spec ::= ('PRIVS=privset' | 'LIMITPRIVS=privset')
@@ -1503,6 +1505,7 @@ Options may consist of
.if \n(SL \{\
SELinux roles and/or types,
.\}
+AppArmor profiles,
.if \n(PS \{\
Solaris privileges sets,
.\}
@@ -1533,6 +1536,59 @@ A role or type specified on the command line,
however, will supersede the values in
\fIsudoers\fR.
.\}
+.SS "AppArmor_Spec"
+On systems supporting AppArmor,
+\fIsudoers\fR
+file entries may optionally specify an AppArmor profile that should be
+used to confine a command.
+If an AppArmor profile is specified with the command, it will override
+any default values specified in
+\fIsudoers\fR.
+Appropriate profile transition rules must be defined to support the
+profile change specified for a user.
+.PP
+AppArmor profiles can be specified in any way that complies with the
+rules of
+aa_change_profile(2).
+For instance, in the following
+\fIsudoers\fR
+entry
+.nf
+.sp
+.RS 0n
+alice ALL = (root) APPARMOR_PROFILE=my-profile ALL
+.RE
+.fi
+.PP
+the user
+\fBalice\fR
+may run any command as root under confinement by the profile
+\(oqmy-profile\(cq.
+You can also stack profiles, or allow a user to run commands unconfined by
+any profile. E.g.,
+.nf
+.sp
+.RS 0n
+bob ALL = (root) APPARMOR_PROFILE=foo//&bar /usr/bin/vi
+cathy ALL = (root) APPARMOR_PROFILE=unconfined /bin/ls
+.RE
+.fi
+.PP
+These
+\fIsudoers\fR
+entries allow user
+\fBbob\fR
+to run
+\fI/usr/bin/vi\fR
+as root under the stacked profiles
+\(oqfoo\(cq
+and
+\(oqbar\(cq,
+and user
+\fBcathy\fR
+to run
+\fI/bin/ls\fR
+without any confinement at all.
.if \n(PS \{\
.SS "Solaris_Priv_Spec"
On Solaris systems,
@@ -3095,8 +3151,9 @@ using the
\fBexecv\fR(),
\fBexecve\fR(),
\fBexecvp\fR(),
+\fBexecvpe\fR(),
or
-\fBexecvpe\fR()
+\fBsystem\fR()
library functions.
For example, if a shell is run by
\fBsudo\fR,
@@ -3114,7 +3171,9 @@ See
\fIPreventing shell escapes\fR
for more information on what systems support this option and its limitations.
This setting is only supported by version 1.9.8 or higher
-and is incompatible with SELinux RBAC support.
+and is incompatible with SELinux RBAC support unless the system supports
+seccomp(2)
+filter mode.
.TP 18n
log_year
If set, the four-digit year will be logged in the (non-syslog)
@@ -3291,7 +3350,9 @@ This flag is
by default.
.sp
This setting is only supported by version 1.9.8 or higher
-and is incompatible with SELinux RBAC support.
+and is incompatible with SELinux RBAC support unless the system supports
+seccomp(2)
+filter mode.
.TP 18n
intercept_allow_setid
On most systems, the dynamic loader will ignore
@@ -3303,7 +3364,7 @@ To prevent this from happening,
will not permit a set-user-ID or set-group-ID program to be run in
intercept mode unless
\fIintercept_allow_setid\fR
-is set.
+is enable.
This flag has no effect unless the
\fIintercept\fR
flag is enabled or the
@@ -3311,7 +3372,12 @@ flag is enabled or the
tag has been set for the command.
This flag is
\fIon\fR
-by default.
+by default when the
+\fIintercept_type\fR
+option is set to
+\fItrace\fR,
+otherwise it default to
+\fIoff\fR.
.sp
This setting is only supported by version 1.9.8 or higher.
.TP 18n
@@ -4152,6 +4218,19 @@ which does not create a new PAM session.
.PP
\fBStrings\fR:
.TP 18n
+apparmor_profile
+The default AppArmor profile to transition into when executing the
+command.
+The default
+\fIapparmor_profile\fR
+can be overridden for individual
+\fIsudoers\fR
+entries by specifying the
+\fIAPPARMOR_PROFILE\fR
+option.
+This option is only available when sudo is built with AppArmor
+support.
+.TP 18n
authfail_message
Message that is displayed after a user fails to authenticate.
The message may include the
@@ -4208,6 +4287,64 @@ option is disabled.
The default is
\fI@editor@\fR.
.TP 18n
+intercept_type
+The underlying mechanism used by the
+\fIintercept\fR
+and
+\fIlog_subcmds\fR
+options.
+It has the following possible values:
+.PP
+.RS 18n
+.PD 0
+.TP 8n
+dso
+Preload a dynamic shared object (shared library) that intercepts the
+\fBexecl\fR(),
+\fBexecle\fR(),
+\fBexeclp\fR(),
+\fBexecv\fR(),
+\fBexecve\fR(),
+\fBexecvp\fR(),
+\fBexecvpe\fR(),
+and
+\fBsystem\fR()
+library functions.
+A value of
+\fIdso\fR
+is incompatible with
+\fBsudo\fR's
+SELinux RBAC support.
+.PD
+.TP 8n
+trace
+Use
+ptrace(2)
+to intercept the
+execve(2)
+system call.
+This is only supported on Linux systems where
+seccomp(2)
+filtering is enabled.
+If the
+\fI/proc/sys/kernel/seccomp/actions_avail\fR
+file is missing or does not contain a
+\(lqtrap\(rq
+element, setting
+\fIintercept_type\fR
+to
+\fItrace\fR
+will have no effect and
+\fIdso\fR
+will be used instead.
+.PP
+The default is to use
+\fItrace\fR
+if it is supported by the system and
+\fIdso\fR
+if it is not.
+.RE
+.TP 18n
iolog_dir
The top-level directory to use when constructing the path name for
the input/output log directory.
@@ -6757,14 +6894,35 @@ For example, this can be used to restrict the commands run from
within a privileged shell.
Note, however, that this applies only to dynamically-linked
executables.
-Statically-linked executables and executables
-running under binary emulation are not affected.
-Also, most shells support built-in commands and the ability to read
-or write sensitive files that cannot be intercepted by
-\fBsudo\fR.
-.sp
-Currently,
+It is not possible to intercept commands for statically-linked executables
+or executables that run under binary emulation.
+This implementation of the
+\fIintercept\fR
+functionality is incompatible with
+\fBsudo\fR's
+SELinux RBAC support (but see below).
+SELinux disables
+\fRLD_PRELOAD\fR
+by default and interferes with file descriptor inheritance.
+.sp
+Linux systems that support
+seccomp(2)
+filtering can use a different method involving
+ptrace(2)
+instead of pre-loading a shared library.
+This method supports both static and dynamic executables as well as
\fBsudo\fR's
+SELinux RBAC mode.
+Because it operates at the system call level, not the library function level,
+it is possible to intercept all calls to
+execve(2).
+Functions utilizing the
+execveat(2)
+system call, such as
+fexecve(3),
+are not currently intercepted.
+.sp
+The shared library-based
\fIintercept\fR
functionality only works for programs that use the
\fBexecl\fR(),
@@ -6773,8 +6931,9 @@ functionality only works for programs that use the
\fBexecv\fR(),
\fBexecve\fR(),
\fBexecvp\fR(),
+\fBexecvpe\fR(),
or
-\fBexecvpe\fR()
+\fBsystem\fR()
library functions to run the new command.
This may be expanded in a future release of
\fBsudo\fR.
@@ -6785,6 +6944,9 @@ Because most dynamic loaders ignore
will not permit such programs to be run in
\fIintercept\fR
mode.
+The Linux
+seccomp(2)\-based
+implementation does not share these restrictions.
.sp
The
\fIintercept\fR
@@ -6797,11 +6959,8 @@ Check your operating system's manual pages for the dynamic linker
(usually ld.so, ld.so.1, dyld, dld.sl, rld, or loader) to see if
\fRLD_PRELOAD\fR
is supported.
-It is
-\fInot\fR
-supported when
-\fBsudo\fR's
-SELinux RBAC support is in use due to a fundamental incompatibility.
+It is not possible to intercept shell built-in commands or restrict
+the ability to read or write sensitive files from within a shell.
.sp
To enable intercept mode on a per-command basis, use the
\fRINTERCEPT\fR
@@ -6859,7 +7018,9 @@ noexec
functionality can be used to prevent a program run by
\fBsudo\fR
from executing any other programs.
-On most systems, it uses the same mechanism as
+On most systems, it uses the same
+\fRLD_PRELOAD\fR
+mechanism as
\fIintercept\fR
(see above) and thus the same caveats apply.
The
diff --git a/docs/sudoers.mdoc.in b/docs/sudoers.mdoc.in
index 4a47f3702..9211fbe9e 100644
--- a/docs/sudoers.mdoc.in
+++ b/docs/sudoers.mdoc.in
@@ -21,10 +21,11 @@
.\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
.\"
.nr SL @SEMAN@
+.nr AA @AAMAN@
.nr BA @BAMAN@
.nr LC @LCMAN@
.nr PS @PSMAN@
-.Dd February 21, 2022
+.Dd May 31, 2022
.Dt SUDOERS @mansectform@
.Os Sudo @PACKAGE_VERSION@
.Sh NAME
@@ -1231,14 +1232,24 @@ Runas_Spec ::= '(' Runas_List? (':' Runas_List)? ')'
.el Option_Spec ::= (SELinux_Spec | Date_Spec | Timeout_Spec | Chdir_Spec | Chroot_Spec)
.\}
.el \{\
+.ie \n(AA \{\
+.ie \n(PS Option_Spec ::= (AppArmor_Spec | Solaris_Priv_Spec | Date_Spec | Timeout_Spec | Chdir_Spec | Chroot_Spec)
+.el Option_Spec ::= (AppArmor_Spec | Date_Spec | Timeout_Spec | Chdir_Spec | Chroot_Spec)
+.\}
+.el \{\
.ie \n(PS Option_Spec ::= (Solaris_Priv_Spec | Date_Spec | Timeout_Spec | Chdir_Spec | Chroot_Spec)
.el Option_Spec ::= (Date_Spec | Timeout_Spec | Chdir_Spec | Chroot_Spec)
.\}
+.\}
.if \n(SL \{\
SELinux_Spec ::= ('ROLE=role' | 'TYPE=type')
.\}
+.if \n(AA \{\
+AppArmor_Spec ::= 'APPARMOR_PROFILE=profile'
+
+.\}
.if \n(PS \{\
Solaris_Priv_Spec ::= ('PRIVS=privset' | 'LIMITPRIVS=privset')
@@ -1427,6 +1438,9 @@ Options may consist of
.if \n(SL \{\
SELinux roles and/or types,
.\}
+.if \n(AA \{\
+AppArmor profiles,
+.\}
.if \n(PS \{\
Solaris privileges sets,
.\}
@@ -1457,6 +1471,55 @@ A role or type specified on the command line,
however, will supersede the values in
.Em sudoers .
.\}
+.if \n(AA \{\
+.Ss AppArmor_Spec
+On systems supporting AppArmor,
+.Em sudoers
+file entries may optionally specify an AppArmor profile that should be
+used to confine a command.
+If an AppArmor profile is specified with the command, it will override
+any default values specified in
+.Em sudoers .
+Appropriate profile transition rules must be defined to support the
+profile change specified for a user.
+.Pp
+AppArmor profiles can be specified in any way that complies with the
+rules of
+.Xr aa_change_profile 2 .
+For instance, in the following
+.Em sudoers
+entry
+.Bd -literal
+alice ALL = (root) APPARMOR_PROFILE=my-profile ALL
+.Ed
+.Pp
+the user
+.Sy alice
+may run any command as root under confinement by the profile
+.Ql my-profile .
+You can also stack profiles, or allow a user to run commands unconfined by
+any profile. E.g.,
+.Bd -literal
+bob ALL = (root) APPARMOR_PROFILE=foo//&bar /usr/bin/vi
+cathy ALL = (root) APPARMOR_PROFILE=unconfined /bin/ls
+.Ed
+.Pp
+These
+.Em sudoers
+entries allow user
+.Sy bob
+to run
+.Pa /usr/bin/vi
+as root under the stacked profiles
+.Ql foo
+and
+.Ql bar ,
+and user
+.Sy cathy
+to run
+.Pa /bin/ls
+without any confinement at all.
+.\}
.if \n(PS \{\
.Ss Solaris_Priv_Spec
On Solaris systems,
@@ -2922,8 +2985,9 @@ using the
.Fn execv ,
.Fn execve ,
.Fn execvp ,
+.Fn execvpe ,
or
-.Fn execvpe
+.Fn system
library functions.
For example, if a shell is run by
.Nm sudo ,
@@ -2941,7 +3005,9 @@ See
.Sx Preventing shell escapes
for more information on what systems support this option and its limitations.
This setting is only supported by version 1.9.8 or higher
-and is incompatible with SELinux RBAC support.
+and is incompatible with SELinux RBAC support unless the system supports
+.Xr seccomp 2
+filter mode.
.It log_year
If set, the four-digit year will be logged in the (non-syslog)
.Nm sudo
@@ -3108,7 +3174,9 @@ This flag is
by default.
.Pp
This setting is only supported by version 1.9.8 or higher
-and is incompatible with SELinux RBAC support.
+and is incompatible with SELinux RBAC support unless the system supports
+.Xr seccomp 2
+filter mode.
.It intercept_allow_setid
On most systems, the dynamic loader will ignore
.Ev LD_PRELOAD
@@ -3119,7 +3187,7 @@ To prevent this from happening,
will not permit a set-user-ID or set-group-ID program to be run in
intercept mode unless
.Em intercept_allow_setid
-is set.
+is enable.
This flag has no effect unless the
.Em intercept
flag is enabled or the
@@ -3127,7 +3195,12 @@ flag is enabled or the
tag has been set for the command.
This flag is
.Em on
-by default.
+by default when the
+.Em intercept_type
+option is set to
+.Em trace ,
+otherwise it default to
+.Em off .
.Pp
This setting is only supported by version 1.9.8 or higher.
.It intercept_authenticate
@@ -3922,6 +3995,20 @@ which does not create a new PAM session.
.Pp
.Sy Strings :
.Bl -tag -width 16n
+.if \n(AA \{\
+.It apparmor_profile
+The default AppArmor profile to transition into when executing the
+command.
+The default
+.Em apparmor_profile
+can be overridden for individual
+.Em sudoers
+entries by specifying the
+.Em APPARMOR_PROFILE
+option.
+This option is only available when sudo is built with AppArmor
+support.
+.\}
.It authfail_message
Message that is displayed after a user fails to authenticate.
The message may include the
@@ -3975,6 +4062,58 @@ list or the
option is disabled.
The default is
.Pa @editor@ .
+.It intercept_type
+The underlying mechanism used by the
+.Em intercept
+and
+.Em log_subcmds
+options.
+It has the following possible values:
+.Bl -tag -width 6n
+.It dso
+Preload a dynamic shared object (shared library) that intercepts the
+.Fn execl ,
+.Fn execle ,
+.Fn execlp ,
+.Fn execv ,
+.Fn execve ,
+.Fn execvp ,
+.Fn execvpe ,
+and
+.Fn system
+library functions.
+A value of
+.Em dso
+is incompatible with
+.Nm sudo Ns 's
+SELinux RBAC support.
+.It trace
+Use
+.Xr ptrace 2
+to intercept the
+.Xr execve 2
+system call.
+This is only supported on Linux systems where
+.Xr seccomp 2
+filtering is enabled.
+If the
+.Pa /proc/sys/kernel/seccomp/actions_avail
+file is missing or does not contain a
+.Dq trap
+element, setting
+.Em intercept_type
+to
+.Em trace
+will have no effect and
+.Em dso
+will be used instead.
+.El
+.Pp
+The default is to use
+.Em trace
+if it is supported by the system and
+.Em dso
+if it is not.
.It iolog_dir
The top-level directory to use when constructing the path name for
the input/output log directory.
@@ -6246,14 +6385,35 @@ For example, this can be used to restrict the commands run from
within a privileged shell.
Note, however, that this applies only to dynamically-linked
executables.
-Statically-linked executables and executables
-running under binary emulation are not affected.
-Also, most shells support built-in commands and the ability to read
-or write sensitive files that cannot be intercepted by
-.Nm sudo .
-.Pp
-Currently,
+It is not possible to intercept commands for statically-linked executables
+or executables that run under binary emulation.
+This implementation of the
+.Em intercept
+functionality is incompatible with
+.Nm sudo Ns 's
+SELinux RBAC support (but see below).
+SELinux disables
+.Ev LD_PRELOAD
+by default and interferes with file descriptor inheritance.
+.Pp
+Linux systems that support
+.Xr seccomp 2
+filtering can use a different method involving
+.Xr ptrace 2
+instead of pre-loading a shared library.
+This method supports both static and dynamic executables as well as
.Nm sudo Ns 's
+SELinux RBAC mode.
+Because it operates at the system call level, not the library function level,
+it is possible to intercept all calls to
+.Xr execve 2 .
+Functions utilizing the
+.Xr execveat 2
+system call, such as
+.Xr fexecve 3 ,
+are not currently intercepted.
+.Pp
+The shared library-based
.Em intercept
functionality only works for programs that use the
.Fn execl ,
@@ -6262,8 +6422,9 @@ functionality only works for programs that use the
.Fn execv ,
.Fn execve ,
.Fn execvp ,
+.Fn execvpe ,
or
-.Fn execvpe
+.Fn system
library functions to run the new command.
This may be expanded in a future release of
.Nm sudo .
@@ -6274,6 +6435,9 @@ Because most dynamic loaders ignore
will not permit such programs to be run in
.Em intercept
mode.
+The Linux
+.Xr seccomp 2 Ns \- Ns based
+implementation does not share these restrictions.
.Pp
The
.Em intercept
@@ -6286,11 +6450,8 @@ Check your operating system's manual pages for the dynamic linker
(usually ld.so, ld.so.1, dyld, dld.sl, rld, or loader) to see if
.Ev LD_PRELOAD
is supported.
-It is
-.Em not
-supported when
-.Nm sudo Ns 's
-SELinux RBAC support is in use due to a fundamental incompatibility.
+It is not possible to intercept shell built-in commands or restrict
+the ability to read or write sensitive files from within a shell.
.Pp
To enable intercept mode on a per-command basis, use the
.Li INTERCEPT
@@ -6341,7 +6502,9 @@ flag uses the same mechanism as
functionality can be used to prevent a program run by
.Nm sudo
from executing any other programs.
-On most systems, it uses the same mechanism as
+On most systems, it uses the same
+.Ev LD_PRELOAD
+mechanism as
.Em intercept
(see above) and thus the same caveats apply.
The
diff --git a/docs/visudo.man.in b/docs/visudo.man.in
index 5b53e6c17..b64ec2532 100644
--- a/docs/visudo.man.in
+++ b/docs/visudo.man.in
@@ -21,7 +21,7 @@
.\" Agency (DARPA) and Air Force Research Laboratory, Air Force
.\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
.\"
-.TH "VISUDO" "@mansectsu@" "February 16, 2022" "Sudo @PACKAGE_VERSION@" "System Manager's Manual"
+.TH "VISUDO" "@mansectsu@" "April 23, 2022" "Sudo @PACKAGE_VERSION@" "System Manager's Manual"
.nh
.if n .ad l
.SH "NAME"
@@ -132,7 +132,7 @@ is typically run as root so this option may allow a user with
privileges to run arbitrary commands as root without logging.
An alternative is to place a colon-separated list of
\(lqsafe\(rq
-editors int the
+editors in the
\fIeditor\fR
variable.
\fBvisudo\fR
diff --git a/docs/visudo.mdoc.in b/docs/visudo.mdoc.in
index d9baddde3..725e71cfc 100644
--- a/docs/visudo.mdoc.in
+++ b/docs/visudo.mdoc.in
@@ -20,7 +20,7 @@
.\" Agency (DARPA) and Air Force Research Laboratory, Air Force
.\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
.\"
-.Dd February 16, 2022
+.Dd April 23, 2022
.Dt VISUDO @mansectsu@
.Os Sudo @PACKAGE_VERSION@
.Sh NAME
@@ -129,7 +129,7 @@ is typically run as root so this option may allow a user with
privileges to run arbitrary commands as root without logging.
An alternative is to place a colon-separated list of
.Dq safe
-editors int the
+editors in the
.Em editor
variable.
.Nm
diff --git a/etc/sudo-logsrvd.pp b/etc/sudo-logsrvd.pp
index 1e49c65c1..242b21986 100644
--- a/etc/sudo-logsrvd.pp
+++ b/etc/sudo-logsrvd.pp
@@ -132,6 +132,10 @@ This makes it possible to have all sudo I/O logs on a central server."
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'`
case "$pp_rpm_distro" in
centos*|rhel*|f[0-9]*)
+ # CentOS Stream has a single-digit version
+ if test $osrelease -lt 10; then
+ osrelease="${osrelease}0"
+ fi
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}"
;;
sles*)
diff --git a/etc/sudo-python.pp b/etc/sudo-python.pp
index de7734072..9250da4f7 100644
--- a/etc/sudo-python.pp
+++ b/etc/sudo-python.pp
@@ -88,6 +88,10 @@
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'`
case "$pp_rpm_distro" in
centos*|rhel*|f[0-9]*)
+ # CentOS Stream has a single-digit version
+ if test $osrelease -lt 10; then
+ osrelease="${osrelease}0"
+ fi
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}"
;;
sles*)
diff --git a/etc/sudo.pp b/etc/sudo.pp
index 0c96a75bd..97d82856c 100644
--- a/etc/sudo.pp
+++ b/etc/sudo.pp
@@ -163,6 +163,10 @@ still allow people to get their work done."
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'`
case "$pp_rpm_distro" in
centos*|rhel*|f[0-9]*)
+ # CentOS Stream has a single-digit version
+ if test $osrelease -lt 10; then
+ osrelease="${osrelease}0"
+ fi
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}"
;;
sles*)
diff --git a/include/compat/endian.h b/include/compat/endian.h
index d3c5ca949..fe6ee838e 100644
--- a/include/compat/endian.h
+++ b/include/compat/endian.h
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2013 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2013, 2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -37,7 +37,13 @@
* We just check for the most common uses.
*/
-# if defined(__BYTE_ORDER)
+# if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \
+ (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+# define BYTE_ORDER LITTLE_ENDIAN
+# elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && \
+ (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+# define BYTE_ORDER BIG_ENDIAN
+# elif defined(__BYTE_ORDER)
# define BYTE_ORDER __BYTE_ORDER
# elif defined(_BYTE_ORDER)
# define BYTE_ORDER _BYTE_ORDER
@@ -49,7 +55,7 @@
defined(BIT_ZERO_ON_RIGHT) || defined(i386) || defined(__i386) || \
defined(MIPSEL) || defined(_MIPSEL) || defined(ns32000) || \
defined(__ns3200) || defined(sun386) || defined(vax) || \
- defined(__vax) || defined(__x86__) || \
+ defined(__vax) || defined(__x86__) || defined(__riscv) || \
(defined(sun) && defined(__powerpc)) || \
(!defined(__hpux) && defined(__ia64))
# define BYTE_ORDER LITTLE_ENDIAN
diff --git a/include/intercept.pb-c.h b/include/intercept.pb-c.h
index 4bc8a00a1..9d6390b8b 100644
--- a/include/intercept.pb-c.h
+++ b/include/intercept.pb-c.h
@@ -10,19 +10,19 @@ PROTOBUF_C__BEGIN_DECLS
#if PROTOBUF_C_VERSION_NUMBER < 1003000
# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
-#elif 1003003 < PROTOBUF_C_MIN_COMPILER_VERSION
+#elif 1004000 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
#endif
-typedef struct _InterceptRequest InterceptRequest;
-typedef struct _InterceptHello InterceptHello;
-typedef struct _HelloResponse HelloResponse;
-typedef struct _PolicyCheckRequest PolicyCheckRequest;
-typedef struct _PolicyAcceptMessage PolicyAcceptMessage;
-typedef struct _PolicyRejectMessage PolicyRejectMessage;
-typedef struct _PolicyErrorMessage PolicyErrorMessage;
-typedef struct _InterceptResponse InterceptResponse;
+typedef struct InterceptRequest InterceptRequest;
+typedef struct InterceptHello InterceptHello;
+typedef struct HelloResponse HelloResponse;
+typedef struct PolicyCheckRequest PolicyCheckRequest;
+typedef struct PolicyAcceptMessage PolicyAcceptMessage;
+typedef struct PolicyRejectMessage PolicyRejectMessage;
+typedef struct PolicyErrorMessage PolicyErrorMessage;
+typedef struct InterceptResponse InterceptResponse;
/* --- enums --- */
@@ -34,14 +34,14 @@ typedef enum {
INTERCEPT_REQUEST__TYPE__NOT_SET = 0,
INTERCEPT_REQUEST__TYPE_POLICY_CHECK_REQ = 1,
INTERCEPT_REQUEST__TYPE_HELLO = 2
- PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INTERCEPT_REQUEST__TYPE)
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INTERCEPT_REQUEST__TYPE__CASE)
} InterceptRequest__TypeCase;
/*
* Intercept message from sudo_intercept.so. Messages on the
* wire are prefixed with a 32-bit size in network byte order.
*/
-struct _InterceptRequest
+struct InterceptRequest
{
ProtobufCMessage base;
InterceptRequest__TypeCase type_case;
@@ -59,7 +59,7 @@ struct _InterceptRequest
* Hello message from sudo_intercept.so to main sudo process.
* Sudo sends back the token and localhost port number.
*/
-struct _InterceptHello
+struct InterceptHello
{
ProtobufCMessage base;
int32_t pid;
@@ -73,7 +73,7 @@ struct _InterceptHello
* Sudo response to an InterceptHello from sudo_intercept.so.
* The client uses the port number and token to connect back to sudo.
*/
-struct _HelloResponse
+struct HelloResponse
{
ProtobufCMessage base;
uint64_t token_lo;
@@ -90,7 +90,7 @@ struct _HelloResponse
* Note that the plugin API only currently supports passing
* the new environment in to the open() function.
*/
-struct _PolicyCheckRequest
+struct PolicyCheckRequest
{
ProtobufCMessage base;
char *command;
@@ -106,7 +106,7 @@ struct _PolicyCheckRequest
, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0 }
-struct _PolicyAcceptMessage
+struct PolicyAcceptMessage
{
ProtobufCMessage base;
char *run_command;
@@ -120,7 +120,7 @@ struct _PolicyAcceptMessage
, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL }
-struct _PolicyRejectMessage
+struct PolicyRejectMessage
{
ProtobufCMessage base;
char *reject_message;
@@ -130,7 +130,7 @@ struct _PolicyRejectMessage
, (char *)protobuf_c_empty_string }
-struct _PolicyErrorMessage
+struct PolicyErrorMessage
{
ProtobufCMessage base;
char *error_message;
@@ -146,13 +146,13 @@ typedef enum {
INTERCEPT_RESPONSE__TYPE_ACCEPT_MSG = 2,
INTERCEPT_RESPONSE__TYPE_REJECT_MSG = 3,
INTERCEPT_RESPONSE__TYPE_ERROR_MSG = 4
- PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INTERCEPT_RESPONSE__TYPE)
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INTERCEPT_RESPONSE__TYPE__CASE)
} InterceptResponse__TypeCase;
/*
* Response sent back to sudo_intercept.so.
*/
-struct _InterceptResponse
+struct InterceptResponse
{
ProtobufCMessage base;
InterceptResponse__TypeCase type_case;
diff --git a/include/log_server.pb-c.h b/include/log_server.pb-c.h
index b14a04d93..a7238c3ea 100644
--- a/include/log_server.pb-c.h
+++ b/include/log_server.pb-c.h
@@ -10,27 +10,27 @@ PROTOBUF_C__BEGIN_DECLS
#if PROTOBUF_C_VERSION_NUMBER < 1003000
# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
-#elif 1003003 < PROTOBUF_C_MIN_COMPILER_VERSION
+#elif 1004000 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
#endif
-typedef struct _ClientMessage ClientMessage;
-typedef struct _TimeSpec TimeSpec;
-typedef struct _IoBuffer IoBuffer;
-typedef struct _InfoMessage InfoMessage;
-typedef struct _InfoMessage__StringList InfoMessage__StringList;
-typedef struct _InfoMessage__NumberList InfoMessage__NumberList;
-typedef struct _AcceptMessage AcceptMessage;
-typedef struct _RejectMessage RejectMessage;
-typedef struct _ExitMessage ExitMessage;
-typedef struct _AlertMessage AlertMessage;
-typedef struct _RestartMessage RestartMessage;
-typedef struct _ChangeWindowSize ChangeWindowSize;
-typedef struct _CommandSuspend CommandSuspend;
-typedef struct _ClientHello ClientHello;
-typedef struct _ServerMessage ServerMessage;
-typedef struct _ServerHello ServerHello;
+typedef struct ClientMessage ClientMessage;
+typedef struct TimeSpec TimeSpec;
+typedef struct IoBuffer IoBuffer;
+typedef struct InfoMessage InfoMessage;
+typedef struct InfoMessage__StringList InfoMessage__StringList;
+typedef struct InfoMessage__NumberList InfoMessage__NumberList;
+typedef struct AcceptMessage AcceptMessage;
+typedef struct RejectMessage RejectMessage;
+typedef struct ExitMessage ExitMessage;
+typedef struct AlertMessage AlertMessage;
+typedef struct RestartMessage RestartMessage;
+typedef struct ChangeWindowSize ChangeWindowSize;
+typedef struct CommandSuspend CommandSuspend;
+typedef struct ClientHello ClientHello;
+typedef struct ServerMessage ServerMessage;
+typedef struct ServerHello ServerHello;
/* --- enums --- */
@@ -53,14 +53,14 @@ typedef enum {
CLIENT_MESSAGE__TYPE_WINSIZE_EVENT = 11,
CLIENT_MESSAGE__TYPE_SUSPEND_EVENT = 12,
CLIENT_MESSAGE__TYPE_HELLO_MSG = 13
- PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(CLIENT_MESSAGE__TYPE)
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(CLIENT_MESSAGE__TYPE__CASE)
} ClientMessage__TypeCase;
/*
* Client message to the server. Messages on the wire are
* prefixed with a 32-bit size in network byte order.
*/
-struct _ClientMessage
+struct ClientMessage
{
ProtobufCMessage base;
ClientMessage__TypeCase type_case;
@@ -88,7 +88,7 @@ struct _ClientMessage
/*
* Equivalent of POSIX struct timespec
*/
-struct _TimeSpec
+struct TimeSpec
{
ProtobufCMessage base;
/*
@@ -108,7 +108,7 @@ struct _TimeSpec
/*
* I/O buffer with keystroke data
*/
-struct _IoBuffer
+struct IoBuffer
{
ProtobufCMessage base;
/*
@@ -125,7 +125,7 @@ struct _IoBuffer
, NULL, {0,NULL} }
-struct _InfoMessage__StringList
+struct InfoMessage__StringList
{
ProtobufCMessage base;
size_t n_strings;
@@ -136,7 +136,7 @@ struct _InfoMessage__StringList
, 0,NULL }
-struct _InfoMessage__NumberList
+struct InfoMessage__NumberList
{
ProtobufCMessage base;
size_t n_numbers;
@@ -153,14 +153,14 @@ typedef enum {
INFO_MESSAGE__VALUE_STRVAL = 3,
INFO_MESSAGE__VALUE_STRLISTVAL = 4,
INFO_MESSAGE__VALUE_NUMLISTVAL = 5
- PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INFO_MESSAGE__VALUE)
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INFO_MESSAGE__VALUE__CASE)
} InfoMessage__ValueCase;
/*
* Key/value pairs, like Privilege Manager struct info.
* The value may be a number, a string, or a list of strings.
*/
-struct _InfoMessage
+struct InfoMessage
{
ProtobufCMessage base;
char *key;
@@ -180,7 +180,7 @@ struct _InfoMessage
/*
* Event log data for command accepted by the policy.
*/
-struct _AcceptMessage
+struct AcceptMessage
{
ProtobufCMessage base;
/*
@@ -205,7 +205,7 @@ struct _AcceptMessage
/*
* Event log data for command rejected by the policy.
*/
-struct _RejectMessage
+struct RejectMessage
{
ProtobufCMessage base;
/*
@@ -230,7 +230,7 @@ struct _RejectMessage
/*
* Might revisit runtime and use end_time instead
*/
-struct _ExitMessage
+struct ExitMessage
{
ProtobufCMessage base;
/*
@@ -262,7 +262,7 @@ struct _ExitMessage
/*
* Alert message, policy module-specific.
*/
-struct _AlertMessage
+struct AlertMessage
{
ProtobufCMessage base;
/*
@@ -287,7 +287,7 @@ struct _AlertMessage
/*
* Used to restart an existing I/O log on the server.
*/
-struct _RestartMessage
+struct RestartMessage
{
ProtobufCMessage base;
/*
@@ -307,7 +307,7 @@ struct _RestartMessage
/*
* Window size change event.
*/
-struct _ChangeWindowSize
+struct ChangeWindowSize
{
ProtobufCMessage base;
/*
@@ -331,7 +331,7 @@ struct _ChangeWindowSize
/*
* Command suspend/resume event.
*/
-struct _CommandSuspend
+struct CommandSuspend
{
ProtobufCMessage base;
/*
@@ -351,7 +351,7 @@ struct _CommandSuspend
/*
* Hello message from client when connecting to server.
*/
-struct _ClientHello
+struct ClientHello
{
ProtobufCMessage base;
/*
@@ -371,14 +371,14 @@ typedef enum {
SERVER_MESSAGE__TYPE_LOG_ID = 3,
SERVER_MESSAGE__TYPE_ERROR = 4,
SERVER_MESSAGE__TYPE_ABORT = 5
- PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SERVER_MESSAGE__TYPE)
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(SERVER_MESSAGE__TYPE__CASE)
} ServerMessage__TypeCase;
/*
* Server messages to the client. Messages on the wire are
* prefixed with a 32-bit size in network byte order.
*/
-struct _ServerMessage
+struct ServerMessage
{
ProtobufCMessage base;
ServerMessage__TypeCase type_case;
@@ -413,7 +413,7 @@ struct _ServerMessage
/*
* Hello message from server when client connects.
*/
-struct _ServerHello
+struct ServerHello
{
ProtobufCMessage base;
/*
diff --git a/include/protobuf-c/protobuf-c.h b/include/protobuf-c/protobuf-c.h
index 8348cf199..71c928fdb 100644
--- a/include/protobuf-c/protobuf-c.h
+++ b/include/protobuf-c/protobuf-c.h
@@ -238,7 +238,11 @@ PROTOBUF_C__BEGIN_DECLS
#define PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC 0x114315af
/* Empty string used for initializers */
+#if defined(_WIN32) && defined(PROTOBUF_C_USE_SHARED_LIB)
+static const char protobuf_c_empty_string[] = "";
+#else
extern const char protobuf_c_empty_string[];
+#endif
/**
* \defgroup api Public API
@@ -790,13 +794,13 @@ protobuf_c_version_number(void);
* The version of the protobuf-c headers, represented as a string using the same
* format as protobuf_c_version().
*/
-#define PROTOBUF_C_VERSION "1.3.3"
+#define PROTOBUF_C_VERSION "1.4.0"
/**
* The version of the protobuf-c headers, represented as an integer using the
* same format as protobuf_c_version_number().
*/
-#define PROTOBUF_C_VERSION_NUMBER 1003003
+#define PROTOBUF_C_VERSION_NUMBER 1004000
/**
* The minimum protoc-c version which works with the current version of the
diff --git a/include/sudo_compat.h b/include/sudo_compat.h
index d070006fb..d62dea7d6 100644
--- a/include/sudo_compat.h
+++ b/include/sudo_compat.h
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 1996, 1998-2005, 2008, 2009-2018
+ * Copyright (c) 1996, 1998-2005, 2008, 2009-2022
* Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -290,12 +290,6 @@ extern int errno;
# define WCOREDUMP(x) ((x) & 0x80)
#endif
-/* Older systems may not support WCONTINUED */
-#if !defined(WCONTINUED) && !defined(WIFCONTINUED)
-# define WCONTINUED 0
-# define WIFCONTINUED(x) 0
-#endif
-
/* W_EXITCODE is not POSIX but the encoding of wait status is. */
#ifndef W_EXITCODE
# define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
diff --git a/include/sudo_debug.h b/include/sudo_debug.h
index b598aefd0..399602b8f 100644
--- a/include/sudo_debug.h
+++ b/include/sudo_debug.h
@@ -85,6 +85,7 @@ struct sudo_conf_debug_file_list;
#define SUDO_DEBUG_SELINUX (12<<6) /* selinux */
#define SUDO_DEBUG_UTIL (13<<6) /* utility functions */
#define SUDO_DEBUG_UTMP (14<<6) /* utmp file ops */
+#define SUDO_DEBUG_APPARMOR (15<<6) /* AppArmor */
#define SUDO_DEBUG_ALL 0xffff0000 /* all subsystems */
/* Error return for sudo_debug_register(). */
diff --git a/include/sudo_plugin.h b/include/sudo_plugin.h
index 873805cdb..032a5fd48 100644
--- a/include/sudo_plugin.h
+++ b/include/sudo_plugin.h
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2009-2020 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -21,7 +21,7 @@
/* API version major/minor */
#define SUDO_API_VERSION_MAJOR 1
-#define SUDO_API_VERSION_MINOR 18
+#define SUDO_API_VERSION_MINOR 19
#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 2fd543e17..ece8c2ed5 100644
--- a/include/sudo_util.h
+++ b/include/sudo_util.h
@@ -33,6 +33,13 @@
#endif
#define ROOT_GID 0
+#ifndef TIME_T_MIN
+# if SIZEOF_TIME_T == 8
+# define TIME_T_MIN LLONG_MIN
+# else
+# define TIME_T_MIN INT_MIN
+# endif
+#endif
#ifndef TIME_T_MAX
# if SIZEOF_TIME_T == 8
# define TIME_T_MAX LLONG_MAX
diff --git a/lib/eventlog/Makefile.in b/lib/eventlog/Makefile.in
index 9e640f555..68fdcfc9e 100644
--- a/lib/eventlog/Makefile.in
+++ b/lib/eventlog/Makefile.in
@@ -59,8 +59,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -109,7 +109,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -121,7 +121,7 @@ libsudo_eventlog.la: $(LIBEVENTLOG_OBJS) $(LT_LIBS)
$(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LIBEVENTLOG_OBJS) $(LT_LIBS)
check_wrap: $(CHECK_WRAP_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_WRAP_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_WRAP_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
pre-install:
@@ -159,6 +159,7 @@ check: $(TEST_PROGS) check-fuzzer
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -196,7 +197,7 @@ check_wrap.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/logwrap/check_wrap.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/logwrap/check_wrap.c
check_wrap.i: $(srcdir)/regress/logwrap/check_wrap.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
@@ -212,7 +213,7 @@ eventlog.lo: $(srcdir)/eventlog.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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/eventlog.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/eventlog.c
eventlog.i: $(srcdir)/eventlog.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
@@ -230,7 +231,7 @@ eventlog_conf.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/eventlog_conf.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/eventlog_conf.c
eventlog_conf.i: $(srcdir)/eventlog_conf.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
@@ -245,7 +246,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/eventlog_free.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/eventlog_free.c
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 \
@@ -257,7 +258,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logwrap.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logwrap.c
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 \
diff --git a/lib/eventlog/eventlog.c b/lib/eventlog/eventlog.c
index 8281e7677..223ab8a69 100644
--- a/lib/eventlog/eventlog.c
+++ b/lib/eventlog/eventlog.c
@@ -424,7 +424,9 @@ send_mail(const struct eventlog *evlog, const char *fmt, ...)
{
const struct eventlog_config *evl_conf = eventlog_getconf();
const char *cp, *timefmt = evl_conf->time_fmt;
+ struct sigaction sa;
char timebuf[1024];
+ sigset_t chldmask;
struct tm tm;
time_t now;
FILE *mail;
@@ -449,13 +451,20 @@ send_mail(const struct eventlog *evlog, const char *fmt, ...)
if (localtime_r(&now, &tm) == NULL)
debug_return_bool(false);
+ /* Block SIGCHLD for the duration since we call waitpid() below. */
+ sigemptyset(&chldmask);
+ sigaddset(&chldmask, SIGCHLD);
+ (void)sigprocmask(SIG_BLOCK, &chldmask, NULL);
+
/* Fork and return, child will daemonize. */
switch (pid = sudo_debug_fork()) {
case -1:
/* Error. */
sudo_warn("%s", U_("unable to fork"));
+
+ /* Unblock SIGCHLD and return. */
+ (void)sigprocmask(SIG_UNBLOCK, &chldmask, NULL);
debug_return_bool(false);
- break;
case 0:
/* Child. */
switch (fork()) {
@@ -486,9 +495,20 @@ send_mail(const struct eventlog *evlog, const char *fmt, ...)
}
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
"child (%d) exit value %d", (int)rv, status);
+
+ /* Unblock SIGCHLD and return. */
+ (void)sigprocmask(SIG_UNBLOCK, &chldmask, NULL);
debug_return_bool(true);
}
+ /* Reset SIGCHLD to default and unblock it. */
+ memset(&sa, 0, sizeof(sa));
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = SA_RESTART;
+ sa.sa_handler = SIG_DFL;
+ (void)sigaction(SIGCHLD, &sa, NULL);
+ (void)sigprocmask(SIG_UNBLOCK, &chldmask, NULL);
+
/* Daemonize - disassociate from session/tty. */
if (setsid() == -1)
sudo_warn("setsid");
@@ -681,8 +701,7 @@ eventlog_store_json(struct json_container *json, const struct eventlog *evlog)
debug_decl(eventlog_store_json, SUDO_DEBUG_UTIL);
/* Required settings. */
- if (evlog == NULL || evlog->command == NULL || evlog->submituser == NULL ||
- evlog->runuser == NULL)
+ if (evlog == NULL || evlog->submituser == NULL)
debug_return_bool(false);
/*
@@ -696,15 +715,19 @@ eventlog_store_json(struct json_container *json, const struct eventlog *evlog)
if (!sudo_json_add_value(json, "submituser", &json_value))
goto oom;
- json_value.type = JSON_STRING;
- json_value.u.string = evlog->command;
- if (!sudo_json_add_value(json, "command", &json_value))
- goto oom;
+ if (evlog->command != NULL) {
+ json_value.type = JSON_STRING;
+ json_value.u.string = evlog->command;
+ if (!sudo_json_add_value(json, "command", &json_value))
+ goto oom;
+ }
- json_value.type = JSON_STRING;
- json_value.u.string = evlog->runuser;
- if (!sudo_json_add_value(json, "runuser", &json_value))
- goto oom;
+ if (evlog->runuser != NULL) {
+ json_value.type = JSON_STRING;
+ json_value.u.string = evlog->runuser;
+ if (!sudo_json_add_value(json, "runuser", &json_value))
+ goto oom;
+ }
if (evlog->rungroup != NULL) {
json_value.type = JSON_STRING;
diff --git a/lib/eventlog/regress/logwrap/check_wrap.c b/lib/eventlog/regress/logwrap/check_wrap.c
index 5d67e6ee7..19f6b890f 100644
--- a/lib/eventlog/regress/logwrap/check_wrap.c
+++ b/lib/eventlog/regress/logwrap/check_wrap.c
@@ -103,7 +103,7 @@ main(int argc, char *argv[])
len = maxlen = sudo_strtonum(cp, 0, INT_MAX, &errstr);
}
if (errstr != NULL) {
- sudo_fatalx("%s: invalid length on line %d\n", infile, lineno);
+ sudo_fatalx("%s: invalid length on line %d", infile, lineno);
}
while (len <= maxlen) {
if (len == 0)
diff --git a/lib/fuzzstub/Makefile.in b/lib/fuzzstub/Makefile.in
index ff308d251..76baf2eb5 100644
--- a/lib/fuzzstub/Makefile.in
+++ b/lib/fuzzstub/Makefile.in
@@ -59,8 +59,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -104,7 +104,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -169,7 +169,7 @@ cleandir: realclean
fuzzstub.lo: $(srcdir)/fuzzstub.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/fuzzstub.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fuzzstub.c
fuzzstub.i: $(srcdir)/fuzzstub.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
diff --git a/lib/iolog/Makefile.in b/lib/iolog/Makefile.in
index e83527137..780a9c220 100644
--- a/lib/iolog/Makefile.in
+++ b/lib/iolog/Makefile.in
@@ -38,8 +38,7 @@ SHA1SUM = @SHA1SUM@
SED = @SED@
# Libraries
-LT_LIBS = $(top_builddir)/lib/eventlog/libsudo_eventlog.la \
- $(top_builddir)/lib/util/libsudo_util.la
+LT_LIBS = $(top_builddir)/lib/util/libsudo_util.la
LIBS = @LIBS@ @ZLIB@ $(LT_LIBS)
# C preprocessor flags
@@ -63,8 +62,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -78,7 +77,8 @@ PVS_IGNORE = 'V707,V011,V002,V536'
PVS_LOG_OPTS = -a 'GA:1,2' -e -t errorfile -d $(PVS_IGNORE)
# Regression tests
-TEST_PROGS = check_iolog_filter check_iolog_json check_iolog_mkpath check_iolog_path check_iolog_timing host_port_test
+TEST_PROGS = check_iolog_filter check_iolog_json check_iolog_mkpath \
+ check_iolog_path check_iolog_timing host_port_test
TEST_LIBS = @LIBS@
TEST_LDFLAGS = @LDFLAGS@
TEST_VERBOSE =
@@ -88,7 +88,8 @@ LIBFUZZSTUB = $(top_builddir)/lib/fuzzstub/libsudo_fuzzstub.la
LIB_FUZZING_ENGINE = @FUZZ_ENGINE@
FUZZ_PROGS = fuzz_iolog_json fuzz_iolog_legacy fuzz_iolog_timing
FUZZ_SEED_CORPUS = ${FUZZ_PROGS:=_seed_corpus.zip}
-FUZZ_LIBS = $(LIB_FUZZING_ENGINE) @LIBS@
+FUZZ_LIBS = $(LIB_FUZZING_ENGINE) @LIBS@ \
+ $(top_builddir)/lib/eventlog/libsudo_eventlog.la
FUZZ_LDFLAGS = @LDFLAGS@
FUZZ_MAX_LEN = 4096
FUZZ_RUNS = 8192
@@ -155,7 +156,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -167,31 +168,31 @@ libsudo_iolog.la: $(LIBIOLOG_OBJS) $(LT_LIBS)
$(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LIBIOLOG_OBJS) $(LT_LIBS) @ZLIB@ @NET_LIBS@
check_iolog_path: $(CHECK_IOLOG_PATH_OBJS) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_PATH_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_PATH_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
check_iolog_mkpath: $(CHECK_IOLOG_MKPATH_OBJS) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_MKPATH_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_MKPATH_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
check_iolog_timing: $(CHECK_IOLOG_TIMING_OBJS) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_TIMING_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_TIMING_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
check_iolog_filter: $(CHECK_IOLOG_FILTER_OBJS) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_FILTER_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_FILTER_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
check_iolog_json: $(CHECK_IOLOG_JSON_OBJS) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_JSON_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_JSON_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
host_port_test: $(HOST_PORT_TEST_OBJS) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(HOST_PORT_TEST_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(HOST_PORT_TEST_OBJS) libsudo_iolog.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
fuzz_iolog_json: $(FUZZ_IOLOG_JSON_OBJS) $(LIBFUZZSTUB) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_IOLOG_JSON_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) libsudo_iolog.la
+ $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_IOLOG_JSON_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) libsudo_iolog.la
fuzz_iolog_legacy: $(FUZZ_IOLOG_LEGACY_OBJS) $(LIBFUZZSTUB) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_IOLOG_LEGACY_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) libsudo_iolog.la
+ $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_IOLOG_LEGACY_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) libsudo_iolog.la
fuzz_iolog_timing: $(FUZZ_IOLOG_TIMING_OBJS) $(LIBFUZZSTUB) libsudo_iolog.la
- $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_IOLOG_TIMING_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) libsudo_iolog.la
+ $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_IOLOG_TIMING_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) libsudo_iolog.la
fuzz_iolog_json_seed_corpus.zip:
tdir=fuzz_iolog_json.$$$$; \
@@ -209,6 +210,7 @@ run-fuzz_iolog_json: fuzz_iolog_json
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -235,6 +237,7 @@ run-fuzz_iolog_legacy: fuzz_iolog_legacy
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -261,6 +264,7 @@ run-fuzz_iolog_timing: fuzz_iolog_timing
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -311,6 +315,7 @@ check-fuzzer: $(FUZZ_PROGS)
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
echo "fuzz_iolog_legacy: verifying corpus"; \
@@ -329,6 +334,7 @@ check: $(TEST_PROGS) check-fuzzer
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
rval=0; \
@@ -373,7 +379,7 @@ check_iolog_filter.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/iolog_filter/check_iolog_filter.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/iolog_filter/check_iolog_filter.c
check_iolog_filter.i: $(srcdir)/regress/iolog_filter/check_iolog_filter.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \
@@ -388,7 +394,7 @@ check_iolog_json.lo: $(srcdir)/regress/iolog_json/check_iolog_json.c \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
$(incdir)/sudo_util.h $(srcdir)/iolog_json.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/iolog_json/check_iolog_json.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/iolog_json/check_iolog_json.c
check_iolog_json.i: $(srcdir)/regress/iolog_json/check_iolog_json.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_json.h \
@@ -403,7 +409,7 @@ check_iolog_mkpath.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/iolog_mkpath/check_iolog_mkpath.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/iolog_mkpath/check_iolog_mkpath.c
check_iolog_mkpath.i: $(srcdir)/regress/iolog_mkpath/check_iolog_mkpath.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \
@@ -417,7 +423,7 @@ check_iolog_path.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/iolog_path/check_iolog_path.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/iolog_path/check_iolog_path.c
check_iolog_path.i: $(srcdir)/regress/iolog_path/check_iolog_path.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \
@@ -431,7 +437,7 @@ check_iolog_timing.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/iolog_timing/check_iolog_timing.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/iolog_timing/check_iolog_timing.c
check_iolog_timing.i: $(srcdir)/regress/iolog_timing/check_iolog_timing.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \
@@ -447,7 +453,7 @@ fuzz_iolog_json.lo: $(srcdir)/regress/fuzz/fuzz_iolog_json.c \
$(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
$(srcdir)/iolog_json.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_json.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_json.c
fuzz_iolog_json.i: $(srcdir)/regress/fuzz/fuzz_iolog_json.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \
@@ -464,7 +470,7 @@ fuzz_iolog_legacy.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_legacy.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_legacy.c
fuzz_iolog_legacy.i: $(srcdir)/regress/fuzz/fuzz_iolog_legacy.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \
@@ -480,7 +486,7 @@ fuzz_iolog_timing.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_timing.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_timing.c
fuzz_iolog_timing.i: $(srcdir)/regress/fuzz/fuzz_iolog_timing.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \
@@ -494,7 +500,7 @@ 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_queue.h \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/host_port.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/host_port.c
host_port.i: $(srcdir)/host_port.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_gettext.h $(incdir)/sudo_queue.h \
@@ -507,7 +513,7 @@ host_port_test.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/host_port/host_port_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/host_port/host_port_test.c
host_port_test.i: $(srcdir)/regress/host_port/host_port_test.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \
@@ -520,7 +526,7 @@ hostcheck.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/hostcheck.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/hostcheck.c
hostcheck.i: $(srcdir)/hostcheck.c $(incdir)/compat/stdbool.h \
$(incdir)/hostcheck.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \
@@ -532,7 +538,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_clearerr.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_clearerr.c
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 \
@@ -544,7 +550,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_close.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_close.c
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 \
@@ -557,7 +563,7 @@ iolog_conf.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_conf.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_conf.c
iolog_conf.i: $(srcdir)/iolog_conf.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \
@@ -570,7 +576,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_eof.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_eof.c
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 \
@@ -584,7 +590,7 @@ iolog_filter.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_filter.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_filter.c
iolog_filter.i: $(srcdir)/iolog_filter.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -598,7 +604,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_flush.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_flush.c
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 \
@@ -610,7 +616,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_gets.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_gets.c
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 \
@@ -625,7 +631,7 @@ iolog_json.lo: $(srcdir)/iolog_json.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
$(srcdir)/iolog_json.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_json.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_json.c
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_fatal.h \
@@ -642,7 +648,7 @@ iolog_legacy.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_legacy.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_legacy.c
iolog_legacy.i: $(srcdir)/iolog_legacy.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
@@ -659,7 +665,7 @@ iolog_loginfo.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_loginfo.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_loginfo.c
iolog_loginfo.i: $(srcdir)/iolog_loginfo.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
@@ -676,7 +682,7 @@ iolog_mkdirs.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_mkdirs.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_mkdirs.c
iolog_mkdirs.i: $(srcdir)/iolog_mkdirs.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -692,7 +698,7 @@ iolog_mkdtemp.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_mkdtemp.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_mkdtemp.c
iolog_mkdtemp.i: $(srcdir)/iolog_mkdtemp.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -706,7 +712,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_mkpath.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_mkpath.c
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 \
@@ -720,7 +726,7 @@ iolog_nextid.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_nextid.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_nextid.c
iolog_nextid.i: $(srcdir)/iolog_nextid.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -734,7 +740,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_open.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_open.c
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 \
@@ -748,7 +754,7 @@ iolog_openat.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_openat.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_openat.c
iolog_openat.i: $(srcdir)/iolog_openat.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -764,7 +770,7 @@ iolog_path.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_path.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_path.c
iolog_path.i: $(srcdir)/iolog_path.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -778,7 +784,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_read.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_read.c
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 \
@@ -790,7 +796,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_seek.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_seek.c
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 \
@@ -803,7 +809,7 @@ iolog_swapids.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_swapids.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_swapids.c
iolog_swapids.i: $(srcdir)/iolog_swapids.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -818,7 +824,7 @@ iolog_timing.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_timing.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_timing.c
iolog_timing.i: $(srcdir)/iolog_timing.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
@@ -832,7 +838,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_util.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_util.c
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 \
@@ -844,7 +850,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_write.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_write.c
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 \
diff --git a/lib/iolog/regress/iolog_path/check_iolog_path.c b/lib/iolog/regress/iolog_path/check_iolog_path.c
index 72548aeea..7a467358b 100644
--- a/lib/iolog/regress/iolog_path/check_iolog_path.c
+++ b/lib/iolog/regress/iolog_path/check_iolog_path.c
@@ -281,6 +281,10 @@ main(int argc, char *argv[])
}
state = (state + 1) % MAX_STATE;
}
+ free(dir_in);
+ free(dir_out);
+ free(file_in);
+ free(file_out);
if (ntests != 0) {
printf("iolog_path: %d test%s run, %d errors, %d%% success rate\n",
diff --git a/lib/logsrv/Makefile.in b/lib/logsrv/Makefile.in
index 1b173a5d9..119ebf05a 100644
--- a/lib/logsrv/Makefile.in
+++ b/lib/logsrv/Makefile.in
@@ -35,7 +35,7 @@ CC = @CC@
LIBTOOL = @LIBTOOL@
# Libraries
-LT_LIBS = $(top_builddir)/lib/protobuf-c/libprotobuf-c.la
+LT_LIBS =
# C preprocessor flags
CPPFLAGS = -I$(incdir) -I$(top_builddir) -I$(srcdir) -I$(top_srcdir) @CPPFLAGS@
@@ -55,8 +55,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -102,7 +102,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -184,7 +184,7 @@ cleandir: realclean
# Autogenerated dependencies, do not modify
log_server.pb-c.lo: $(srcdir)/log_server.pb-c.c $(incdir)/log_server.pb-c.h \
$(incdir)/protobuf-c/protobuf-c.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/log_server.pb-c.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/log_server.pb-c.c
log_server.pb-c.i: $(srcdir)/log_server.pb-c.c $(incdir)/log_server.pb-c.h \
$(incdir)/protobuf-c/protobuf-c.h
$(CC) -E -o $@ $(CPPFLAGS) $<
diff --git a/lib/protobuf-c/Makefile.in b/lib/protobuf-c/Makefile.in
index 6c6315291..89846b4e4 100644
--- a/lib/protobuf-c/Makefile.in
+++ b/lib/protobuf-c/Makefile.in
@@ -52,8 +52,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -97,7 +97,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -175,7 +175,7 @@ cleandir: realclean
# Autogenerated dependencies, do not modify
protobuf-c.lo: $(srcdir)/protobuf-c.c $(incdir)/protobuf-c/protobuf-c.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/protobuf-c.c
+ $(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)/protobuf-c/protobuf-c.h \
$(top_builddir)/config.h
$(CC) -E -o $@ $(CPPFLAGS) $<
diff --git a/lib/protobuf-c/protobuf-c.c b/lib/protobuf-c/protobuf-c.c
index 0325bc04c..96b750650 100644
--- a/lib/protobuf-c/protobuf-c.c
+++ b/lib/protobuf-c/protobuf-c.c
@@ -49,9 +49,22 @@
#include <stdlib.h> /* for malloc, free */
#include <string.h> /* for strcmp, strlen, memcpy, memmove, memset */
+#if defined(HAVE_ENDIAN_H)
+# include <endian.h>
+#elif defined(HAVE_SYS_ENDIAN_H)
+# include <sys/endian.h>
+#elif defined(HAVE_MACHINE_ENDIAN_H)
+# include <machine/endian.h>
+#else
+# include "compat/endian.h"
+#endif
#include "protobuf-c/protobuf-c.h"
+#if BYTE_ORDER == BIG_ENDIAN
+# define WORDS_BIGENDIAN
+#endif
+
#define TRUE 1
#define FALSE 0
@@ -86,7 +99,9 @@
# define PROTOBUF_C_UNPACK_ERROR(...)
#endif
+#if !defined(_WIN32) || !defined(PROTOBUF_C_USE_SHARED_LIB)
const char protobuf_c_empty_string[] = "";
+#endif
/**
* Internal `ProtobufCMessage` manipulation macro.
@@ -150,12 +165,14 @@ protobuf_c_version_number(void)
static void *
system_alloc(void *allocator_data, size_t size)
{
+ (void)allocator_data;
return malloc(size);
}
static void
system_free(void *allocator_data, void *data)
{
+ (void)allocator_data;
free(data);
}
@@ -1620,22 +1637,19 @@ required_field_pack_to_buffer(const ProtobufCFieldDescriptor *field,
break;
}
case PROTOBUF_C_TYPE_MESSAGE: {
- uint8_t simple_buffer_scratch[256];
- size_t sublen;
const ProtobufCMessage *msg = *(ProtobufCMessage * const *) member;
- ProtobufCBufferSimple simple_buffer =
- PROTOBUF_C_BUFFER_SIMPLE_INIT(simple_buffer_scratch);
-
+
scratch[0] |= PROTOBUF_C_WIRE_TYPE_LENGTH_PREFIXED;
- if (msg == NULL)
- sublen = 0;
- else
- sublen = protobuf_c_message_pack_to_buffer(msg, &simple_buffer.base);
- rv += uint32_pack(sublen, scratch + rv);
- buffer->append(buffer, rv, scratch);
- buffer->append(buffer, sublen, simple_buffer.data);
- rv += sublen;
- PROTOBUF_C_BUFFER_SIMPLE_CLEAR(&simple_buffer);
+ if (msg == NULL) {
+ rv += uint32_pack(0, scratch + rv);
+ buffer->append(buffer, rv, scratch);
+ } else {
+ size_t sublen = protobuf_c_message_get_packed_size(msg);
+ rv += uint32_pack(sublen, scratch + rv);
+ buffer->append(buffer, rv, scratch);
+ protobuf_c_message_pack_to_buffer(msg, buffer);
+ rv += sublen;
+ }
break;
}
default:
@@ -2065,7 +2079,7 @@ static size_t
parse_tag_and_wiretype(size_t len,
const uint8_t *data,
uint32_t *tag_out,
- ProtobufCWireType *wiretype_out)
+ uint8_t *wiretype_out)
{
unsigned max_rv = len > 5 ? 5 : len;
uint32_t tag = (data[0] & 0x7f) >> 3;
@@ -2097,9 +2111,9 @@ parse_tag_and_wiretype(size_t len,
/* sizeof(ScannedMember) must be <= (1UL<<BOUND_SIZEOF_SCANNED_MEMBER_LOG2) */
#define BOUND_SIZEOF_SCANNED_MEMBER_LOG2 5
-typedef struct _ScannedMember ScannedMember;
+typedef struct ScannedMember ScannedMember;
/** Field as it's being read. */
-struct _ScannedMember {
+struct ScannedMember {
uint32_t tag; /**< Field tag. */
uint8_t wire_type; /**< Field type. */
uint8_t length_prefix_len; /**< Prefix length. */
@@ -2134,11 +2148,13 @@ scan_length_prefixed_data(size_t len, const uint8_t *data,
// Protobuf messages should always be less than 2 GiB in size.
// We also want to return early here so that hdr_len + val does
// not overflow on 32-bit systems.
- PROTOBUF_C_UNPACK_ERROR("length prefix of %lu is too large", val);
+ PROTOBUF_C_UNPACK_ERROR("length prefix of %lu is too large",
+ (unsigned long int)val);
return 0;
}
if (hdr_len + val > len) {
- PROTOBUF_C_UNPACK_ERROR("data too short after length-prefix of %lu", val);
+ PROTOBUF_C_UNPACK_ERROR("data too short after length-prefix of %lu",
+ (unsigned long int)val);
return 0;
}
return hdr_len + val;
@@ -2500,7 +2516,7 @@ parse_required_member(ScannedMember *scanned_member,
{
unsigned len = scanned_member->len;
const uint8_t *data = scanned_member->data;
- ProtobufCWireType wire_type = scanned_member->wire_type;
+ uint8_t wire_type = scanned_member->wire_type;
switch (scanned_member->field->type) {
case PROTOBUF_C_TYPE_ENUM:
@@ -2581,7 +2597,7 @@ parse_required_member(ScannedMember *scanned_member,
{
do_free(allocator, bd->data);
}
- if (len - pref_len > 0) {
+ if (len > pref_len) {
bd->data = do_alloc(allocator, len - pref_len);
if (bd->data == NULL)
return FALSE;
@@ -2749,7 +2765,9 @@ parse_packed_repeated_member(ScannedMember *scanned_member,
const uint8_t *at = scanned_member->data + scanned_member->length_prefix_len;
size_t rem = scanned_member->len - scanned_member->length_prefix_len;
size_t count = 0;
+#if defined(WORDS_BIGENDIAN)
unsigned i;
+#endif
switch (field->type) {
case PROTOBUF_C_TYPE_SFIXED32:
@@ -2842,13 +2860,15 @@ parse_packed_repeated_member(ScannedMember *scanned_member,
}
break;
case PROTOBUF_C_TYPE_BOOL:
- count = rem;
- for (i = 0; i < count; i++) {
- if (at[i] > 1) {
+ while (rem > 0) {
+ unsigned s = scan_varint(rem, at);
+ if (s == 0) {
PROTOBUF_C_UNPACK_ERROR("bad packed-repeated boolean value");
return FALSE;
}
- ((protobuf_c_boolean *) array)[i] = at[i];
+ ((protobuf_c_boolean *) array)[count++] = parse_boolean(s, at);
+ at += s;
+ rem -= s;
}
break;
default:
@@ -3082,7 +3102,7 @@ protobuf_c_message_unpack(const ProtobufCMessageDescriptor *desc,
while (rem > 0) {
uint32_t tag;
- ProtobufCWireType wire_type;
+ uint8_t wire_type;
size_t used = parse_tag_and_wiretype(rem, at, &tag, &wire_type);
const ProtobufCFieldDescriptor *field;
ScannedMember tmp;
diff --git a/lib/util/Makefile.in b/lib/util/Makefile.in
index 07f538cad..856ee1e27 100644
--- a/lib/util/Makefile.in
+++ b/lib/util/Makefile.in
@@ -92,8 +92,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# Libtool style shared library version
SHLIB_VERSION = 0:0:0
@@ -216,7 +216,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -235,7 +235,7 @@ libsudo_util.la: $(LTOBJS) @LT_LDDEP@
*-no-install*) \
$(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LDFLAGS) $(LT_LDFLAGS) $(LTOBJS) @LT_DEP_LIBS@ @LIBINTL@ @LIBMD@ @LIBCRYPTO@ @LIBPTHREAD@ @LIBDL@ @LIBRT@ @NET_LIBS@;; \
*) \
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) $(LTOBJS) -version-info $(SHLIB_VERSION) -rpath $(libexecdir)/sudo @LT_DEP_LIBS@ @LIBINTL@ @LIBMD@ @LIBCRYPTO@ @LIBPTHREAD@ @LIBDL@ @LIBRT@ @NET_LIBS@;; \
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) $(LTOBJS) -version-info $(SHLIB_VERSION) -rpath $(libexecdir)/sudo @LT_DEP_LIBS@ @LIBINTL@ @LIBMD@ @LIBCRYPTO@ @LIBPTHREAD@ @LIBDL@ @LIBRT@ @NET_LIBS@;; \
esac
siglist.c: mksiglist
@@ -267,64 +267,64 @@ 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
closefrom_test: $(CLOSEFROM_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CLOSEFROM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CLOSEFROM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
conf_test: $(CONF_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CONF_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CONF_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
fnm_test: $(FNM_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(FNM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(FNM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
globtest: $(GLOBTEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(GLOBTEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(GLOBTEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
getdelim_test: $(GETDELIM_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(GETDELIM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(GETDELIM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
hltq_test: $(HLTQ_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(HLTQ_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(HLTQ_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
mktemp_test: $(MKTEMP_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(MKTEMP_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(MKTEMP_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
parseln_test: $(PARSELN_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(PARSELN_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(PARSELN_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
progname_test: $(PROGNAME_TEST_OBJS)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(PROGNAME_TEST_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(PROGNAME_TEST_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
parse_gids_test: $(PARSE_GIDS_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(PARSE_GIDS_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(PARSE_GIDS_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
getgids: $(GETGIDS_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(GETGIDS_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(GETGIDS_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
getgrouplist_test: $(GETGROUPLIST_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(GETGROUPLIST_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(GETGROUPLIST_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
strsplit_test: $(STRSPLIT_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRSPLIT_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRSPLIT_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
strsig_test: $(STRSIG_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRSIG_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRSIG_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
strtobool_test: $(STRTOBOOL_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRTOBOOL_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRTOBOOL_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
strtomode_test: $(STRTOMODE_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRTOMODE_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRTOMODE_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
strtonum_test: $(STRTONUM_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRTONUM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRTONUM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
strtoid_test: $(STRTOID_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRTOID_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(STRTOID_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
uuid_test: $(UUID_TEST_OBJS) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(UUID_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(UUID_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
fuzz_sudo_conf: $(FUZZ_SUDO_CONF_OBJS) $(LIBFUZZSTUB) libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(FUZZ_SUDO_CONF_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) libsudo_util.la
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(FUZZ_SUDO_CONF_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) libsudo_util.la
fuzz_sudo_conf_seed_corpus.zip:
tdir=fuzz_sudo_conf.$$$$; \
@@ -342,6 +342,7 @@ run-fuzz_sudo_conf: fuzz_sudo_conf
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -404,6 +405,7 @@ check-fuzzer: $(FUZZ_PROGS)
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
echo "fuzz_sudo_conf: verifying corpus"; \
@@ -419,6 +421,7 @@ check: $(TEST_PROGS) check-fuzzer
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
rval=0; \
@@ -499,7 +502,7 @@ aix.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/aix.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/aix.c
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 \
@@ -511,7 +514,7 @@ 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 \
$(srcdir)/chacha_private.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/arc4random.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/arc4random.c
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 \
@@ -521,7 +524,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/arc4random_buf.c
+ $(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) $<
@@ -529,7 +532,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/arc4random_uniform.c
+ $(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) $<
@@ -538,7 +541,7 @@ arc4random_uniform.plog: arc4random_uniform.i
basename.lo: $(srcdir)/basename.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/basename.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/basename.c
basename.i: $(srcdir)/basename.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -547,7 +550,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/cfmakeraw.c
+ $(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) $<
@@ -556,7 +559,7 @@ cfmakeraw.plog: cfmakeraw.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/closefrom.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/closefrom.c
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
@@ -567,7 +570,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/closefrom/closefrom_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/closefrom/closefrom_test.c
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 \
@@ -580,7 +583,7 @@ conf_test.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/sudo_conf/conf_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/sudo_conf/conf_test.c
conf_test.i: $(srcdir)/regress/sudo_conf/conf_test.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -593,7 +596,7 @@ 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 \
$(incdir)/sudo_queue.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/digest.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/digest.c
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 \
@@ -605,7 +608,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/digest_gcrypt.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/digest_gcrypt.c
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 \
@@ -617,7 +620,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/digest_openssl.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/digest_openssl.c
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 \
@@ -626,7 +629,7 @@ digest_openssl.i: $(srcdir)/digest_openssl.c $(incdir)/compat/stdbool.h \
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 $@
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) $(SSP_CFLAGS) $(srcdir)/dup3.c
+ $(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) $<
dup3.plog: dup3.i
@@ -635,7 +638,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/event.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/event.c
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 \
@@ -648,7 +651,7 @@ event_poll.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/event_poll.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/event_poll.c
event_poll.i: $(srcdir)/event_poll.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \
@@ -662,7 +665,7 @@ event_select.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/event_select.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/event_select.c
event_select.i: $(srcdir)/event_select.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \
@@ -673,7 +676,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/explicit_bzero.c
+ $(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) $<
@@ -684,7 +687,7 @@ fatal.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/fatal.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fatal.c
fatal.i: $(srcdir)/fatal.c $(incdir)/compat/getaddrinfo.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -695,7 +698,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/fchmodat.c
+ $(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) $<
@@ -704,7 +707,7 @@ fchmodat.plog: fchmodat.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fnmatch/fnm_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fnmatch/fnm_test.c
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
@@ -714,7 +717,7 @@ fnm_test.plog: fnm_test.i
fnmatch.lo: $(srcdir)/fnmatch.c $(incdir)/compat/charclass.h \
$(incdir)/compat/fnmatch.h $(incdir)/sudo_compat.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/fnmatch.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fnmatch.c
fnmatch.i: $(srcdir)/fnmatch.c $(incdir)/compat/charclass.h \
$(incdir)/compat/fnmatch.h $(incdir)/sudo_compat.h \
$(top_builddir)/config.h
@@ -723,14 +726,14 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/freezero.c
+ $(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) $<
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 $@
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) $(SSP_CFLAGS) $(srcdir)/fstatat.c
+ $(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) $<
fstatat.plog: fstatat.i
@@ -741,7 +744,7 @@ fuzz_sudo_conf.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_sudo_conf.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_sudo_conf.c
fuzz_sudo_conf.i: $(srcdir)/regress/fuzz/fuzz_sudo_conf.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -753,21 +756,21 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/getaddrinfo.c
+ $(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) $<
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 $@
getcwd.lo: $(srcdir)/getcwd.c $(incdir)/sudo_compat.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/getcwd.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getcwd.c
getcwd.i: $(srcdir)/getcwd.c $(incdir)/sudo_compat.h $(top_builddir)/config.h
$(CC) -E -o $@ $(CPPFLAGS) $<
getcwd.plog: getcwd.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getcwd.c --i-file $< --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) $(SSP_CFLAGS) $(srcdir)/getdelim.c
+ $(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) $<
@@ -777,7 +780,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/getdelim/getdelim_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/getdelim/getdelim_test.c
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 \
@@ -788,7 +791,7 @@ getdelim_test.plog: getdelim_test.i
getentropy.lo: $(srcdir)/getentropy.c $(incdir)/sudo_compat.h \
$(incdir)/sudo_digest.h $(incdir)/sudo_rand.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/getentropy.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getentropy.c
getentropy.i: $(srcdir)/getentropy.c $(incdir)/sudo_compat.h \
$(incdir)/sudo_digest.h $(incdir)/sudo_rand.h \
$(top_builddir)/config.h
@@ -799,7 +802,7 @@ getgids.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/getgrouplist/getgids.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/getgrouplist/getgids.c
getgids.i: $(srcdir)/regress/getgrouplist/getgids.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \
@@ -811,7 +814,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/getgrouplist.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getgrouplist.c
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 \
@@ -823,7 +826,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/getgrouplist/getgrouplist_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/getgrouplist/getgrouplist_test.c
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 \
@@ -834,7 +837,7 @@ getgrouplist_test.plog: getgrouplist_test.i
gethostname.lo: $(srcdir)/gethostname.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gethostname.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gethostname.c
gethostname.i: $(srcdir)/gethostname.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -845,7 +848,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/getopt_long.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getopt_long.c
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 \
@@ -857,7 +860,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gettime.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gettime.c
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 \
@@ -869,7 +872,7 @@ getusershell.lo: $(srcdir)/getusershell.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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/getusershell.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getusershell.c
getusershell.i: $(srcdir)/getusershell.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_gettext.h $(incdir)/sudo_queue.h \
@@ -882,7 +885,7 @@ gidlist.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gidlist.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gidlist.c
gidlist.i: $(srcdir)/gidlist.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -893,7 +896,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/glob.c
+ $(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) $<
@@ -902,7 +905,7 @@ glob.plog: glob.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/glob/globtest.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/glob/globtest.c
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
@@ -912,7 +915,7 @@ globtest.plog: globtest.i
gmtime_r.lo: $(srcdir)/gmtime_r.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gmtime_r.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gmtime_r.c
gmtime_r.i: $(srcdir)/gmtime_r.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -923,7 +926,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/tailq/hltq_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/tailq/hltq_test.c
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 \
@@ -933,14 +936,14 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/inet_pton.c
+ $(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) $<
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 $@
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) $(SSP_CFLAGS) $(srcdir)/isblank.c
+ $(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) $<
isblank.plog: isblank.i
@@ -950,7 +953,7 @@ json.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/json.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/json.c
json.i: $(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 \
@@ -963,7 +966,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/key_val.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/key_val.c
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 \
@@ -974,7 +977,7 @@ key_val.plog: key_val.i
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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/lbuf.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/lbuf.c
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 \
$(top_builddir)/config.h
@@ -984,7 +987,7 @@ lbuf.plog: lbuf.i
localtime_r.lo: $(srcdir)/localtime_r.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/localtime_r.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/localtime_r.c
localtime_r.i: $(srcdir)/localtime_r.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -995,7 +998,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/locking.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/locking.c
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 \
@@ -1006,7 +1009,7 @@ locking.plog: locking.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logfac.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logfac.c
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
@@ -1016,7 +1019,7 @@ logfac.plog: logfac.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logpri.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logpri.c
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
@@ -1024,7 +1027,7 @@ logpri.i: $(srcdir)/logpri.c $(incdir)/compat/stdbool.h \
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 $@
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) $(SSP_CFLAGS) $(srcdir)/memrchr.c
+ $(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) $<
memrchr.plog: memrchr.i
@@ -1034,7 +1037,7 @@ mkdir_parents.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/mkdir_parents.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/mkdir_parents.c
mkdir_parents.i: $(srcdir)/mkdir_parents.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -1044,14 +1047,14 @@ mkdir_parents.i: $(srcdir)/mkdir_parents.c $(incdir)/compat/stdbool.h \
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 $@
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) $(SSP_CFLAGS) $(srcdir)/mkdirat.c
+ $(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) $<
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 $@
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) $(SSP_CFLAGS) $(srcdir)/mksiglist.c
+ $(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) $<
@@ -1059,7 +1062,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/mksigname.c
+ $(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) $<
@@ -1067,7 +1070,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/mktemp.c
+ $(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) $<
@@ -1077,7 +1080,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/mktemp/mktemp_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/mktemp/mktemp_test.c
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 \
@@ -1088,7 +1091,7 @@ mktemp_test.plog: mktemp_test.i
nanosleep.lo: $(srcdir)/nanosleep.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/nanosleep.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/nanosleep.c
nanosleep.i: $(srcdir)/nanosleep.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -1096,7 +1099,7 @@ nanosleep.i: $(srcdir)/nanosleep.c $(incdir)/compat/stdbool.h \
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 $@
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) $(SSP_CFLAGS) $(srcdir)/openat.c
+ $(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) $<
openat.plog: openat.i
@@ -1105,7 +1108,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/parse_gids/parse_gids_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/parse_gids/parse_gids_test.c
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 \
@@ -1117,7 +1120,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/parseln.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/parseln.c
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 \
@@ -1128,7 +1131,7 @@ parseln.plog: parseln.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/sudo_parseln/parseln_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(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
@@ -1136,13 +1139,13 @@ parseln_test.i: $(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 $@
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) $(SSP_CFLAGS) $(srcdir)/pipe2.c
+ $(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) $<
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 $@
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) $(SSP_CFLAGS) $(srcdir)/pread.c
+ $(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) $<
pread.plog: pread.i
@@ -1150,7 +1153,7 @@ pread.plog: pread.i
progname.lo: $(srcdir)/progname.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/progname.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/progname.c
progname.i: $(srcdir)/progname.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -1160,7 +1163,7 @@ progname.plog: progname.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/progname/progname_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(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
@@ -1168,13 +1171,13 @@ progname_test.i: $(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 $@
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) $(SSP_CFLAGS) $(srcdir)/pw_dup.c
+ $(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) $<
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 $@
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) $(SSP_CFLAGS) $(srcdir)/pwrite.c
+ $(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) $<
pwrite.plog: pwrite.i
@@ -1182,7 +1185,7 @@ pwrite.plog: pwrite.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/rcstr.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/rcstr.c
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
@@ -1191,7 +1194,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/reallocarray.c
+ $(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) $<
@@ -1200,7 +1203,7 @@ reallocarray.plog: reallocarray.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regex.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regex.c
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
@@ -1211,7 +1214,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/roundup.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/roundup.c
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 \
@@ -1223,7 +1226,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/secure_path.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/secure_path.c
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 \
@@ -1235,7 +1238,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/setgroups.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/setgroups.c
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 \
@@ -1245,7 +1248,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/sha2.c
+ $(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) $<
@@ -1254,7 +1257,7 @@ sha2.plog: sha2.i
sig2str.lo: $(srcdir)/sig2str.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sig2str.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sig2str.c
sig2str.i: $(srcdir)/sig2str.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -1262,20 +1265,20 @@ sig2str.i: $(srcdir)/sig2str.c $(incdir)/compat/stdbool.h \
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 $@
siglist.lo: siglist.c
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) 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) $<
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 $@
signame.lo: signame.c
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) 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) $<
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 $@
snprintf.lo: $(srcdir)/snprintf.c $(incdir)/sudo_compat.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/snprintf.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/snprintf.c
snprintf.i: $(srcdir)/snprintf.c $(incdir)/sudo_compat.h \
$(top_builddir)/config.h
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -1284,7 +1287,7 @@ snprintf.plog: snprintf.i
str2sig.lo: $(srcdir)/str2sig.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/str2sig.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/str2sig.c
str2sig.i: $(srcdir)/str2sig.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -1292,25 +1295,25 @@ str2sig.i: $(srcdir)/str2sig.c $(incdir)/compat/stdbool.h \
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 $@
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) $(SSP_CFLAGS) $(srcdir)/strlcat.c
+ $(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) $<
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 $@
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) $(SSP_CFLAGS) $(srcdir)/strlcpy.c
+ $(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) $<
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 $@
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) $(SSP_CFLAGS) $(srcdir)/strndup.c
+ $(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) $<
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 $@
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) $(SSP_CFLAGS) $(srcdir)/strnlen.c
+ $(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) $<
strnlen.plog: strnlen.i
@@ -1319,7 +1322,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/strsig/strsig_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/strsig/strsig_test.c
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 \
@@ -1329,7 +1332,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/strsignal.c
+ $(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) $<
@@ -1339,7 +1342,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/strsplit.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strsplit.c
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 \
@@ -1351,7 +1354,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/strsplit/strsplit_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/strsplit/strsplit_test.c
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 \
@@ -1363,7 +1366,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/strtobool.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strtobool.c
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 \
@@ -1375,7 +1378,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/strtofoo/strtobool_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/strtofoo/strtobool_test.c
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 \
@@ -1387,7 +1390,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/strtoid.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strtoid.c
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 \
@@ -1399,7 +1402,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/strtofoo/strtoid_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/strtofoo/strtoid_test.c
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 \
@@ -1411,7 +1414,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/strtomode.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strtomode.c
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 \
@@ -1423,7 +1426,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/strtofoo/strtomode_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/strtofoo/strtomode_test.c
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 \
@@ -1434,7 +1437,7 @@ strtomode_test.plog: strtomode_test.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/strtonum.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strtonum.c
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
@@ -1445,7 +1448,7 @@ 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 \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/strtofoo/strtonum_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/strtofoo/strtonum_test.c
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 \
@@ -1459,7 +1462,7 @@ sudo_conf.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_conf.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_conf.c
sudo_conf.i: $(srcdir)/sudo_conf.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
@@ -1475,7 +1478,7 @@ sudo_debug.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_debug.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_debug.c
sudo_debug.i: $(srcdir)/sudo_debug.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
@@ -1487,7 +1490,7 @@ 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 $@
sudo_dso.lo: $(srcdir)/sudo_dso.c $(incdir)/sudo_compat.h $(incdir)/sudo_dso.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_dso.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_dso.c
sudo_dso.i: $(srcdir)/sudo_dso.c $(incdir)/sudo_compat.h $(incdir)/sudo_dso.h \
$(top_builddir)/config.h
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -1496,7 +1499,7 @@ sudo_dso.plog: sudo_dso.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/term.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/term.c
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
@@ -1506,7 +1509,7 @@ term.plog: term.i
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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/timegm.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/timegm.c
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
@@ -1518,7 +1521,7 @@ ttyname_dev.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/ttyname_dev.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ttyname_dev.c
ttyname_dev.i: $(srcdir)/ttyname_dev.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \
@@ -1531,7 +1534,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/ttysize.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ttysize.c
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 \
@@ -1541,7 +1544,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/unlinkat.c
+ $(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) $<
@@ -1550,7 +1553,7 @@ unlinkat.plog: unlinkat.i
utimens.lo: $(srcdir)/utimens.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/utimens.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/utimens.c
utimens.i: $(srcdir)/utimens.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_util.h \
$(top_builddir)/config.h
@@ -1559,7 +1562,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/uuid.c
+ $(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) $<
@@ -1569,7 +1572,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/uuid/uuid_test.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/uuid/uuid_test.c
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 \
diff --git a/lib/util/getdelim.c b/lib/util/getdelim.c
index 3106f8c57..53687a1f8 100644
--- a/lib/util/getdelim.c
+++ b/lib/util/getdelim.c
@@ -50,13 +50,13 @@ sudo_getdelim(char **buf, size_t *bufsize, int delim, FILE *fp)
do {
if (cp + 1 >= ep) {
- char *tmp = reallocarray(*buf, *bufsize, 2);
- if (tmp == NULL)
+ char *newbuf = reallocarray(*buf, *bufsize, 2);
+ if (newbuf == NULL)
goto bad;
*bufsize *= 2;
- cp = tmp + (cp - *buf);
- ep = cp + *bufsize;
- *buf = tmp;
+ cp = newbuf + (cp - *buf);
+ ep = newbuf + *bufsize;
+ *buf = newbuf;
}
if ((ch = getc(fp)) == EOF) {
if (feof(fp))
diff --git a/lib/util/regress/getdelim/getdelim_test.c b/lib/util/regress/getdelim/getdelim_test.c
index 15f4650d4..2e77fd2c9 100644
--- a/lib/util/regress/getdelim/getdelim_test.c
+++ b/lib/util/regress/getdelim/getdelim_test.c
@@ -38,6 +38,8 @@
sudo_dso_public int main(int argc, char *argv[]);
+ssize_t sudo_getdelim(char **bufp, size_t *bufsizep, int delim, FILE *fp);
+
/*
* Test that sudo_getdelim() works as expected.
*/
@@ -48,7 +50,7 @@ struct getdelim_test {
int delim;
};
-static char longstr[LINE_MAX * 2];
+static char longstr[LINE_MAX * 4];
static struct getdelim_test test_data[] = {
{ "a\nb\nc\n", { "a\n", "b\n", "c\n", NULL }, '\n' },
{ "a\nb\nc", { "a\n", "b\n", "c", NULL }, '\n' },
@@ -100,8 +102,8 @@ runtests(char **buf, size_t *buflen)
for (j = 0; test_data[i].output[j] != NULL; j++) {
ntests++;
alarm(10);
- if (getdelim(buf, buflen, test_data[i].delim, fp) == -1)
- sudo_fatal_nodebug("getdelim");
+ if (sudo_getdelim(buf, buflen, test_data[i].delim, fp) == -1)
+ sudo_fatal_nodebug("sudo_getdelim");
alarm(0);
if (strcmp(*buf, test_data[i].output[j]) != 0) {
sudo_warnx_nodebug("failed test #%d: expected %s, got %s",
@@ -113,7 +115,7 @@ runtests(char **buf, size_t *buflen)
/* test EOF */
ntests++;
alarm(30);
- if (getdelim(buf, buflen, test_data[i].delim, fp) != -1) {
+ if (sudo_getdelim(buf, buflen, test_data[i].delim, fp) != -1) {
sudo_warnx_nodebug("failed test #%d: expected EOF, got %s",
ntests, *buf);
errors++;
@@ -130,7 +132,7 @@ runtests(char **buf, size_t *buflen)
close(fileno(fp));
ntests++;
alarm(30);
- if (getdelim(buf, buflen, test_data[i].delim, fp) != -1) {
+ if (sudo_getdelim(buf, buflen, test_data[i].delim, fp) != -1) {
sudo_warnx_nodebug("failed test #%d: expected error, got %s",
ntests, *buf);
errors++;
@@ -172,6 +174,7 @@ main(int argc, char *argv[])
argv += optind;
runtests(&buf, &buflen);
+ free(buf);
/* XXX - redo tests with preallocated buffer filled with junk */
if (ntests != 0) {
diff --git a/lib/util/regress/getgrouplist/getgrouplist_test.c b/lib/util/regress/getgrouplist/getgrouplist_test.c
index f34fe09be..c5903bc1a 100644
--- a/lib/util/regress/getgrouplist/getgrouplist_test.c
+++ b/lib/util/regress/getgrouplist/getgrouplist_test.c
@@ -109,6 +109,8 @@ main(int argc, char *argv[])
printf("%s: %d tests run, %d errors, %d%% success rate\n",
getprogname(), ntests, errors, (ntests - errors) * 100 / ntests);
}
+ free(username);
+ free(groups);
#endif /* HAVE_GETGROUPLIST_2 */
return errors;
}
diff --git a/lib/util/regress/parse_gids/parse_gids_test.c b/lib/util/regress/parse_gids/parse_gids_test.c
index c0d35746f..9fb8c3b73 100644
--- a/lib/util/regress/parse_gids/parse_gids_test.c
+++ b/lib/util/regress/parse_gids/parse_gids_test.c
@@ -88,6 +88,7 @@ main(int argc, char *argv[])
for (i = 0; test_data[i].gids != NULL; i++) {
free(gidlist);
+ gidlist = NULL;
ngids = sudo_parse_gids(test_data[i].gids, test_data[i].baseptr, &gidlist);
if (ngids == -1)
sudo_fatal_nodebug("sudo_parse_gids");
@@ -111,6 +112,8 @@ main(int argc, char *argv[])
}
}
}
+ free(gidlist);
+
if (ntests != 0) {
printf("%s: %d tests run, %d errors, %d%% success rate\n",
getprogname(), ntests, errors, (ntests - errors) * 100 / ntests);
diff --git a/lib/util/secure_path.c b/lib/util/secure_path.c
index 639425fbe..9f84de8e9 100644
--- a/lib/util/secure_path.c
+++ b/lib/util/secure_path.c
@@ -34,27 +34,28 @@
* Verify that path is the right type and not writable by other users.
*/
static int
-sudo_secure_path(const char *path, unsigned int type, uid_t uid, gid_t gid, struct stat *sbp)
+sudo_secure_path(const char *path, unsigned int type, uid_t uid, gid_t gid, struct stat *sb)
{
- struct stat sb;
+ struct stat stat_buf;
int ret = SUDO_PATH_MISSING;
debug_decl(sudo_secure_path, SUDO_DEBUG_UTIL);
- if (path != NULL && stat(path, &sb) == 0) {
- if ((sb.st_mode & S_IFMT) != type) {
+ if (sb == NULL)
+ sb = &stat_buf;
+
+ if (path != NULL && stat(path, sb) == 0) {
+ if ((sb->st_mode & S_IFMT) != type) {
ret = SUDO_PATH_BAD_TYPE;
- } else if (uid != (uid_t)-1 && sb.st_uid != uid) {
+ } else if (uid != (uid_t)-1 && sb->st_uid != uid) {
ret = SUDO_PATH_WRONG_OWNER;
- } else if (sb.st_mode & S_IWOTH) {
+ } else if (sb->st_mode & S_IWOTH) {
ret = SUDO_PATH_WORLD_WRITABLE;
- } else if (ISSET(sb.st_mode, S_IWGRP) &&
- (gid == (gid_t)-1 || sb.st_gid != gid)) {
+ } else if (ISSET(sb->st_mode, S_IWGRP) &&
+ (gid == (gid_t)-1 || sb->st_gid != gid)) {
ret = SUDO_PATH_GROUP_WRITABLE;
} else {
ret = SUDO_PATH_SECURE;
}
- if (sbp)
- (void) memcpy(sbp, &sb, sizeof(struct stat));
}
debug_return_int(ret);
@@ -64,16 +65,16 @@ sudo_secure_path(const char *path, unsigned int type, uid_t uid, gid_t gid, stru
* Verify that path is a regular file and not writable by other users.
*/
int
-sudo_secure_file_v1(const char *path, uid_t uid, gid_t gid, struct stat *sbp)
+sudo_secure_file_v1(const char *path, uid_t uid, gid_t gid, struct stat *st)
{
- return sudo_secure_path(path, S_IFREG, uid, gid, sbp);
+ return sudo_secure_path(path, S_IFREG, uid, gid, st);
}
/*
* Verify that path is a directory and not writable by other users.
*/
int
-sudo_secure_dir_v1(const char *path, uid_t uid, gid_t gid, struct stat *sbp)
+sudo_secure_dir_v1(const char *path, uid_t uid, gid_t gid, struct stat *st)
{
- return sudo_secure_path(path, S_IFDIR, uid, gid, sbp);
+ return sudo_secure_path(path, S_IFDIR, uid, gid, st);
}
diff --git a/lib/zlib/Makefile.in b/lib/zlib/Makefile.in
index ebb98efe0..098cc4fb7 100644
--- a/lib/zlib/Makefile.in
+++ b/lib/zlib/Makefile.in
@@ -79,8 +79,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# Libtool style shared library version
SHLIB_VERSION = 0:0:0
@@ -110,7 +110,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .lo
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
$(shlib_map): $(shlib_exp)
@$(AWK) 'BEGIN { print "{\n\tglobal:" } { print "\t\t"$$0";" } END { print "\tlocal:\n\t\t*;\n};" }' $(shlib_exp) > $@
@@ -123,7 +123,7 @@ libsudo_z.la: $(LTOBJS) @LT_LDDEP@
*-no-install*) \
$(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LDFLAGS) $(LT_LDFLAGS) $(LTOBJS);; \
*) \
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) $(LTOBJS) -version-info $(SHLIB_VERSION) -rpath $(libexecdir)/sudo;; \
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) $(LTOBJS) -version-info $(SHLIB_VERSION) -rpath $(libexecdir)/sudo;; \
esac
pre-install:
@@ -189,42 +189,42 @@ cleandir: realclean
# Autogenerated dependencies, do not modify
adler32.lo: $(srcdir)/adler32.c $(srcdir)/zlib.h $(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/adler32.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/adler32.c
compress.lo: $(srcdir)/compress.c $(srcdir)/zlib.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/compress.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/compress.c
crc32.lo: $(srcdir)/crc32.c $(srcdir)/crc32.h $(srcdir)/zlib.h \
$(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/crc32.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/crc32.c
deflate.lo: $(srcdir)/deflate.c $(srcdir)/deflate.h $(srcdir)/zlib.h \
$(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/deflate.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/deflate.c
gzclose.lo: $(srcdir)/gzclose.c $(srcdir)/gzguts.h $(srcdir)/zlib.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gzclose.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gzclose.c
gzlib.lo: $(srcdir)/gzlib.c $(srcdir)/gzguts.h $(srcdir)/zlib.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gzlib.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gzlib.c
gzread.lo: $(srcdir)/gzread.c $(srcdir)/gzguts.h $(srcdir)/zlib.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gzread.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gzread.c
gzwrite.lo: $(srcdir)/gzwrite.c $(srcdir)/gzguts.h $(srcdir)/zlib.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gzwrite.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gzwrite.c
infback.lo: $(srcdir)/infback.c $(srcdir)/inffast.h $(srcdir)/inffixed.h \
$(srcdir)/inflate.h $(srcdir)/inftrees.h $(srcdir)/zlib.h \
$(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/infback.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/infback.c
inffast.lo: $(srcdir)/inffast.c $(srcdir)/inffast.h $(srcdir)/inflate.h \
$(srcdir)/inftrees.h $(srcdir)/zlib.h $(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/inffast.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/inffast.c
inflate.lo: $(srcdir)/inflate.c $(srcdir)/inffast.h $(srcdir)/inffixed.h \
$(srcdir)/inflate.h $(srcdir)/inftrees.h $(srcdir)/zlib.h \
$(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/inflate.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/inflate.c
inftrees.lo: $(srcdir)/inftrees.c $(srcdir)/inftrees.h $(srcdir)/zlib.h \
$(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/inftrees.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/inftrees.c
trees.lo: $(srcdir)/trees.c $(srcdir)/deflate.h $(srcdir)/trees.h \
$(srcdir)/zlib.h $(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/trees.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/trees.c
uncompr.lo: $(srcdir)/uncompr.c $(srcdir)/zlib.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/uncompr.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/uncompr.c
zutil.lo: $(srcdir)/zutil.c $(srcdir)/gzguts.h $(srcdir)/zlib.h \
$(srcdir)/zutil.h ./zconf.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/zutil.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/zutil.c
diff --git a/lib/zlib/crc32.c b/lib/zlib/crc32.c
index 9580440c0..a1bdce5c2 100644
--- a/lib/zlib/crc32.c
+++ b/lib/zlib/crc32.c
@@ -1,12 +1,10 @@
/* crc32.c -- compute the CRC-32 of a data stream
- * Copyright (C) 1995-2006, 2010, 2011, 2012, 2016 Mark Adler
+ * Copyright (C) 1995-2022 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*
- * Thanks to Rodney Brown <rbrown64@csc.com.au> for his contribution of faster
- * CRC methods: exclusive-oring 32 bits of data at a time, and pre-computing
- * tables for updating the shift register in one step with three exclusive-ors
- * instead of four steps with four exclusive-ors. This results in about a
- * factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3.
+ * This interleaved implementation of a CRC makes use of pipelined multiple
+ * arithmetic-logic units, commonly found in modern CPU cores. It is due to
+ * Kadatch and Jenkins (2010). See doc/crc-doc.1.0.pdf in this distribution.
*/
/* @(#) $Id$ */
@@ -14,11 +12,12 @@
/*
Note on the use of DYNAMIC_CRC_TABLE: there is no mutex or semaphore
protection on the static variables used to control the first-use generation
- of the crc tables. Therefore, if you #define DYNAMIC_CRC_TABLE, you should
+ of the crc tables. Therefore, if you #define DYNAMIC_CRC_TABLE, you should
first call get_crc_table() to initialize the tables before allowing more than
one thread to use crc32().
- DYNAMIC_CRC_TABLE and MAKECRCH can be #defined to write out crc32.h.
+ MAKECRCH can be #defined to write out crc32.h. A main() routine is also
+ produced, so that this one source file can be compiled to an executable.
*/
#ifdef MAKECRCH
@@ -28,415 +27,1090 @@
# endif /* !DYNAMIC_CRC_TABLE */
#endif /* MAKECRCH */
-#include "zutil.h" /* for STDC and FAR definitions */
+#include "zutil.h" /* for Z_U4, Z_U8, z_crc_t, and FAR definitions */
-/* Definitions for doing the crc four data bytes at a time. */
-#if !defined(NOBYFOUR) && defined(Z_U4)
-# define BYFOUR
+ /*
+ A CRC of a message is computed on N braids of words in the message, where
+ each word consists of W bytes (4 or 8). If N is 3, for example, then three
+ running sparse CRCs are calculated respectively on each braid, at these
+ indices in the array of words: 0, 3, 6, ..., 1, 4, 7, ..., and 2, 5, 8, ...
+ This is done starting at a word boundary, and continues until as many blocks
+ of N * W bytes as are available have been processed. The results are combined
+ into a single CRC at the end. For this code, N must be in the range 1..6 and
+ W must be 4 or 8. The upper limit on N can be increased if desired by adding
+ more #if blocks, extending the patterns apparent in the code. In addition,
+ crc32.h would need to be regenerated, if the maximum N value is increased.
+
+ N and W are chosen empirically by benchmarking the execution time on a given
+ processor. The choices for N and W below were based on testing on Intel Kaby
+ Lake i7, AMD Ryzen 7, ARM Cortex-A57, Sparc64-VII, PowerPC POWER9, and MIPS64
+ Octeon II processors. The Intel, AMD, and ARM processors were all fastest
+ with N=5, W=8. The Sparc, PowerPC, and MIPS64 were all fastest at N=5, W=4.
+ They were all tested with either gcc or clang, all using the -O3 optimization
+ level. Your mileage may vary.
+ */
+
+/* Define N */
+#ifdef Z_TESTN
+# define N Z_TESTN
+#else
+# define N 5
+#endif
+#if N < 1 || N > 6
+# error N must be in 1..6
#endif
-#ifdef BYFOUR
- local unsigned long crc32_little OF((unsigned long,
- const unsigned char FAR *, z_size_t));
- local unsigned long crc32_big OF((unsigned long,
- const unsigned char FAR *, z_size_t));
-# define TBLS 8
+
+/*
+ z_crc_t must be at least 32 bits. z_word_t must be at least as long as
+ z_crc_t. It is assumed here that z_word_t is either 32 bits or 64 bits, and
+ that bytes are eight bits.
+ */
+
+/*
+ Define W and the associated z_word_t type. If W is not defined, then a
+ braided calculation is not used, and the associated tables and code are not
+ compiled.
+ */
+#ifdef Z_TESTW
+# if Z_TESTW-1 != -1
+# define W Z_TESTW
+# endif
#else
-# define TBLS 1
-#endif /* BYFOUR */
+# ifdef MAKECRCH
+# define W 8 /* required for MAKECRCH */
+# else
+# if defined(__x86_64__) || defined(__aarch64__)
+# define W 8
+# else
+# define W 4
+# endif
+# endif
+#endif
+#ifdef W
+# if W == 8 && defined(Z_U8)
+ typedef Z_U8 z_word_t;
+# elif defined(Z_U4)
+# undef W
+# define W 4
+ typedef Z_U4 z_word_t;
+# else
+# undef W
+# endif
+#endif
-/* Local functions for crc concatenation */
-local unsigned long gf2_matrix_times OF((unsigned long *mat,
- unsigned long vec));
-local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat));
-local uLong crc32_combine_ OF((uLong crc1, uLong crc2, z_off64_t len2));
+/* Local functions. */
+local z_crc_t multmodp OF((z_crc_t a, z_crc_t b));
+local z_crc_t x2nmodp OF((z_off64_t n, unsigned k));
+/* If available, use the ARM processor CRC32 instruction. */
+#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) && W == 8
+# define ARMCRC32
+#endif
+
+#if defined(W) && (!defined(ARMCRC32) || defined(DYNAMIC_CRC_TABLE))
+/*
+ Swap the bytes in a z_word_t to convert between little and big endian. Any
+ self-respecting compiler will optimize this to a single machine byte-swap
+ instruction, if one is available. This assumes that word_t is either 32 bits
+ or 64 bits.
+ */
+local z_word_t byte_swap(word)
+ z_word_t word;
+{
+# if W == 8
+ return
+ (word & 0xff00000000000000) >> 56 |
+ (word & 0xff000000000000) >> 40 |
+ (word & 0xff0000000000) >> 24 |
+ (word & 0xff00000000) >> 8 |
+ (word & 0xff000000) << 8 |
+ (word & 0xff0000) << 24 |
+ (word & 0xff00) << 40 |
+ (word & 0xff) << 56;
+# else /* W == 4 */
+ return
+ (word & 0xff000000) >> 24 |
+ (word & 0xff0000) >> 8 |
+ (word & 0xff00) << 8 |
+ (word & 0xff) << 24;
+# endif
+}
+#endif
+
+/* CRC polynomial. */
+#define POLY 0xedb88320 /* p(x) reflected, with x^32 implied */
#ifdef DYNAMIC_CRC_TABLE
-local volatile int crc_table_empty = 1;
-local z_crc_t FAR crc_table[TBLS][256];
+local z_crc_t FAR crc_table[256];
+local z_crc_t FAR x2n_table[32];
local void make_crc_table OF((void));
+#ifdef W
+ local z_word_t FAR crc_big_table[256];
+ local z_crc_t FAR crc_braid_table[W][256];
+ local z_word_t FAR crc_braid_big_table[W][256];
+ local void braid OF((z_crc_t [][256], z_word_t [][256], int, int));
+#endif
#ifdef MAKECRCH
- local void write_table OF((FILE *, const z_crc_t FAR *));
+ local void write_table OF((FILE *, const z_crc_t FAR *, int));
+ local void write_table32hi OF((FILE *, const z_word_t FAR *, int));
+ local void write_table64 OF((FILE *, const z_word_t FAR *, int));
#endif /* MAKECRCH */
+
+/*
+ Define a once() function depending on the availability of atomics. If this is
+ compiled with DYNAMIC_CRC_TABLE defined, and if CRCs will be computed in
+ multiple threads, and if atomics are not available, then get_crc_table() must
+ be called to initialize the tables and must return before any threads are
+ allowed to compute or combine CRCs.
+ */
+
+/* Definition of once functionality. */
+typedef struct once_s once_t;
+local void once OF((once_t *, void (*)(void)));
+
+/* Check for the availability of atomics. */
+#if defined(__STDC__) && __STDC_VERSION__ >= 201112L && \
+ !defined(__STDC_NO_ATOMICS__)
+
+#include <stdatomic.h>
+
+/* Structure for once(), which must be initialized with ONCE_INIT. */
+struct once_s {
+ atomic_flag begun;
+ atomic_int done;
+};
+#define ONCE_INIT {ATOMIC_FLAG_INIT, 0}
+
+/*
+ Run the provided init() function exactly once, even if multiple threads
+ invoke once() at the same time. The state must be a once_t initialized with
+ ONCE_INIT.
+ */
+local void once(state, init)
+ once_t *state;
+ void (*init)(void);
+{
+ if (!atomic_load(&state->done)) {
+ if (atomic_flag_test_and_set(&state->begun))
+ while (!atomic_load(&state->done))
+ ;
+ else {
+ init();
+ atomic_store(&state->done, 1);
+ }
+ }
+}
+
+#else /* no atomics */
+
+/* Structure for once(), which must be initialized with ONCE_INIT. */
+struct once_s {
+ volatile int begun;
+ volatile int done;
+};
+#define ONCE_INIT {0, 0}
+
+/* Test and set. Alas, not atomic, but tries to minimize the period of
+ vulnerability. */
+local int test_and_set OF((int volatile *));
+local int test_and_set(flag)
+ int volatile *flag;
+{
+ int was;
+
+ was = *flag;
+ *flag = 1;
+ return was;
+}
+
+/* Run the provided init() function once. This is not thread-safe. */
+local void once(state, init)
+ once_t *state;
+ void (*init)(void);
+{
+ if (!state->done) {
+ if (test_and_set(&state->begun))
+ while (!state->done)
+ ;
+ else {
+ init();
+ state->done = 1;
+ }
+ }
+}
+
+#endif
+
+/* State for once(). */
+local once_t made = ONCE_INIT;
+
/*
Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
Polynomials over GF(2) are represented in binary, one bit per coefficient,
- with the lowest powers in the most significant bit. Then adding polynomials
+ with the lowest powers in the most significant bit. Then adding polynomials
is just exclusive-or, and multiplying a polynomial by x is a right shift by
- one. If we call the above polynomial p, and represent a byte as the
+ one. If we call the above polynomial p, and represent a byte as the
polynomial q, also with the lowest power in the most significant bit (so the
- byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
+ byte 0xb1 is the polynomial x^7+x^3+x^2+1), then the CRC is (q*x^32) mod p,
where a mod b means the remainder after dividing a by b.
This calculation is done using the shift-register method of multiplying and
- taking the remainder. The register is initialized to zero, and for each
+ taking the remainder. The register is initialized to zero, and for each
incoming bit, x^32 is added mod p to the register if the bit is a one (where
- x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
- x (which is shifting right by one and adding x^32 mod p if the bit shifted
- out is a one). We start with the highest power (least significant bit) of
- q and repeat for all eight bits of q.
-
- The first table is simply the CRC of all possible eight bit values. This is
- all the information needed to generate CRCs on data a byte at a time for all
- combinations of CRC register values and incoming bytes. The remaining tables
- allow for word-at-a-time CRC calculation for both big-endian and little-
- endian machines, where a word is four bytes.
-*/
+ x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by x
+ (which is shifting right by one and adding x^32 mod p if the bit shifted out
+ is a one). We start with the highest power (least significant bit) of q and
+ repeat for all eight bits of q.
+
+ The table is simply the CRC of all possible eight bit values. This is all the
+ information needed to generate CRCs on data a byte at a time for all
+ combinations of CRC register values and incoming bytes.
+ */
+
local void make_crc_table()
{
- z_crc_t c;
- int n, k;
- z_crc_t poly; /* polynomial exclusive-or pattern */
- /* terms of polynomial defining this crc (except x^32): */
- static volatile int first = 1; /* flag to limit concurrent making */
- static const unsigned char p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
-
- /* See if another task is already doing this (not thread-safe, but better
- than nothing -- significantly reduces duration of vulnerability in
- case the advice about DYNAMIC_CRC_TABLE is ignored) */
- if (first) {
- first = 0;
-
- /* make exclusive-or pattern from polynomial (0xedb88320UL) */
- poly = 0;
- for (n = 0; n < (int)(sizeof(p)/sizeof(unsigned char)); n++)
- poly |= (z_crc_t)1 << (31 - p[n]);
-
- /* generate a crc for every 8-bit value */
- for (n = 0; n < 256; n++) {
- c = (z_crc_t)n;
- for (k = 0; k < 8; k++)
- c = c & 1 ? poly ^ (c >> 1) : c >> 1;
- crc_table[0][n] = c;
- }
+ unsigned i, j, n;
+ z_crc_t p;
-#ifdef BYFOUR
- /* generate crc for each value followed by one, two, and three zeros,
- and then the byte reversal of those as well as the first table */
- for (n = 0; n < 256; n++) {
- c = crc_table[0][n];
- crc_table[4][n] = ZSWAP32(c);
- for (k = 1; k < 4; k++) {
- c = crc_table[0][c & 0xff] ^ (c >> 8);
- crc_table[k][n] = c;
- crc_table[k + 4][n] = ZSWAP32(c);
- }
- }
-#endif /* BYFOUR */
-
- crc_table_empty = 0;
- }
- else { /* not first */
- /* wait for the other guy to finish (not efficient, but rare) */
- while (crc_table_empty)
- ;
+ /* initialize the CRC of bytes tables */
+ for (i = 0; i < 256; i++) {
+ p = i;
+ for (j = 0; j < 8; j++)
+ p = p & 1 ? (p >> 1) ^ POLY : p >> 1;
+ crc_table[i] = p;
+#ifdef W
+ crc_big_table[i] = byte_swap(p);
+#endif
}
+ /* initialize the x^2^n mod p(x) table */
+ p = (z_crc_t)1 << 30; /* x^1 */
+ x2n_table[0] = p;
+ for (n = 1; n < 32; n++)
+ x2n_table[n] = p = multmodp(p, p);
+
+#ifdef W
+ /* initialize the braiding tables -- needs x2n_table[] */
+ braid(crc_braid_table, crc_braid_big_table, N, W);
+#endif
+
#ifdef MAKECRCH
- /* write out CRC tables to crc32.h */
{
+ /*
+ The crc32.h header file contains tables for both 32-bit and 64-bit
+ z_word_t's, and so requires a 64-bit type be available. In that case,
+ z_word_t must be defined to be 64-bits. This code then also generates
+ and writes out the tables for the case that z_word_t is 32 bits.
+ */
+#if !defined(W) || W != 8
+# error Need a 64-bit integer type in order to generate crc32.h.
+#endif
FILE *out;
+ int k, n;
+ z_crc_t ltl[8][256];
+ z_word_t big[8][256];
out = fopen("crc32.h", "w");
if (out == NULL) return;
- fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n");
- fprintf(out, " * Generated automatically by crc32.c\n */\n\n");
- fprintf(out, "local const z_crc_t FAR ");
- fprintf(out, "crc_table[TBLS][256] =\n{\n {\n");
- write_table(out, crc_table[0]);
-# ifdef BYFOUR
- fprintf(out, "#ifdef BYFOUR\n");
- for (k = 1; k < 8; k++) {
- fprintf(out, " },\n {\n");
- write_table(out, crc_table[k]);
+
+ /* write out little-endian CRC table to crc32.h */
+ fprintf(out,
+ "/* crc32.h -- tables for rapid CRC calculation\n"
+ " * Generated automatically by crc32.c\n */\n"
+ "\n"
+ "local const z_crc_t FAR crc_table[] = {\n"
+ " ");
+ write_table(out, crc_table, 256);
+ fprintf(out,
+ "};\n");
+
+ /* write out big-endian CRC table for 64-bit z_word_t to crc32.h */
+ fprintf(out,
+ "\n"
+ "#ifdef W\n"
+ "\n"
+ "#if W == 8\n"
+ "\n"
+ "local const z_word_t FAR crc_big_table[] = {\n"
+ " ");
+ write_table64(out, crc_big_table, 256);
+ fprintf(out,
+ "};\n");
+
+ /* write out big-endian CRC table for 32-bit z_word_t to crc32.h */
+ fprintf(out,
+ "\n"
+ "#else /* W == 4 */\n"
+ "\n"
+ "local const z_word_t FAR crc_big_table[] = {\n"
+ " ");
+ write_table32hi(out, crc_big_table, 256);
+ fprintf(out,
+ "};\n"
+ "\n"
+ "#endif\n");
+
+ /* write out braid tables for each value of N */
+ for (n = 1; n <= 6; n++) {
+ fprintf(out,
+ "\n"
+ "#if N == %d\n", n);
+
+ /* compute braid tables for this N and 64-bit word_t */
+ braid(ltl, big, n, 8);
+
+ /* write out braid tables for 64-bit z_word_t to crc32.h */
+ fprintf(out,
+ "\n"
+ "#if W == 8\n"
+ "\n"
+ "local const z_crc_t FAR crc_braid_table[][256] = {\n");
+ for (k = 0; k < 8; k++) {
+ fprintf(out, " {");
+ write_table(out, ltl[k], 256);
+ fprintf(out, "}%s", k < 7 ? ",\n" : "");
+ }
+ fprintf(out,
+ "};\n"
+ "\n"
+ "local const z_word_t FAR crc_braid_big_table[][256] = {\n");
+ for (k = 0; k < 8; k++) {
+ fprintf(out, " {");
+ write_table64(out, big[k], 256);
+ fprintf(out, "}%s", k < 7 ? ",\n" : "");
+ }
+ fprintf(out,
+ "};\n");
+
+ /* compute braid tables for this N and 32-bit word_t */
+ braid(ltl, big, n, 4);
+
+ /* write out braid tables for 32-bit z_word_t to crc32.h */
+ fprintf(out,
+ "\n"
+ "#else /* W == 4 */\n"
+ "\n"
+ "local const z_crc_t FAR crc_braid_table[][256] = {\n");
+ for (k = 0; k < 4; k++) {
+ fprintf(out, " {");
+ write_table(out, ltl[k], 256);
+ fprintf(out, "}%s", k < 3 ? ",\n" : "");
+ }
+ fprintf(out,
+ "};\n"
+ "\n"
+ "local const z_word_t FAR crc_braid_big_table[][256] = {\n");
+ for (k = 0; k < 4; k++) {
+ fprintf(out, " {");
+ write_table32hi(out, big[k], 256);
+ fprintf(out, "}%s", k < 3 ? ",\n" : "");
+ }
+ fprintf(out,
+ "};\n"
+ "\n"
+ "#endif\n"
+ "\n"
+ "#endif\n");
}
- fprintf(out, "#endif\n");
-# endif /* BYFOUR */
- fprintf(out, " }\n};\n");
+ fprintf(out,
+ "\n"
+ "#endif\n");
+
+ /* write out zeros operator table to crc32.h */
+ fprintf(out,
+ "\n"
+ "local const z_crc_t FAR x2n_table[] = {\n"
+ " ");
+ write_table(out, x2n_table, 32);
+ fprintf(out,
+ "};\n");
fclose(out);
}
#endif /* MAKECRCH */
}
#ifdef MAKECRCH
-local void write_table(out, table)
+
+/*
+ Write the 32-bit values in table[0..k-1] to out, five per line in
+ hexadecimal separated by commas.
+ */
+local void write_table(out, table, k)
FILE *out;
const z_crc_t FAR *table;
+ int k;
{
int n;
- for (n = 0; n < 256; n++)
- fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ",
+ for (n = 0; n < k; n++)
+ fprintf(out, "%s0x%08lx%s", n == 0 || n % 5 ? "" : " ",
(unsigned long)(table[n]),
- n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", "));
+ n == k - 1 ? "" : (n % 5 == 4 ? ",\n" : ", "));
}
+
+/*
+ Write the high 32-bits of each value in table[0..k-1] to out, five per line
+ in hexadecimal separated by commas.
+ */
+local void write_table32hi(out, table, k)
+FILE *out;
+const z_word_t FAR *table;
+int k;
+{
+ int n;
+
+ for (n = 0; n < k; n++)
+ fprintf(out, "%s0x%08lx%s", n == 0 || n % 5 ? "" : " ",
+ (unsigned long)(table[n] >> 32),
+ n == k - 1 ? "" : (n % 5 == 4 ? ",\n" : ", "));
+}
+
+/*
+ Write the 64-bit values in table[0..k-1] to out, three per line in
+ hexadecimal separated by commas. This assumes that if there is a 64-bit
+ type, then there is also a long long integer type, and it is at least 64
+ bits. If not, then the type cast and format string can be adjusted
+ accordingly.
+ */
+local void write_table64(out, table, k)
+ FILE *out;
+ const z_word_t FAR *table;
+ int k;
+{
+ int n;
+
+ for (n = 0; n < k; n++)
+ fprintf(out, "%s0x%016llx%s", n == 0 || n % 3 ? "" : " ",
+ (unsigned long long)(table[n]),
+ n == k - 1 ? "" : (n % 3 == 2 ? ",\n" : ", "));
+}
+
+/* Actually do the deed. */
+int main()
+{
+ make_crc_table();
+ return 0;
+}
+
#endif /* MAKECRCH */
+#ifdef W
+/*
+ Generate the little and big-endian braid tables for the given n and z_word_t
+ size w. Each array must have room for w blocks of 256 elements.
+ */
+local void braid(ltl, big, n, w)
+ z_crc_t ltl[][256];
+ z_word_t big[][256];
+ int n;
+ int w;
+{
+ int k;
+ z_crc_t i, p, q;
+ for (k = 0; k < w; k++) {
+ p = x2nmodp((n * w + 3 - k) << 3, 0);
+ ltl[k][0] = 0;
+ big[w - 1 - k][0] = 0;
+ for (i = 1; i < 256; i++) {
+ ltl[k][i] = q = multmodp(i << 24, p);
+ big[w - 1 - k][i] = byte_swap(q);
+ }
+ }
+}
+#endif
+
#else /* !DYNAMIC_CRC_TABLE */
/* ========================================================================
- * Tables of CRC-32s of all single-byte values, made by make_crc_table().
+ * Tables for byte-wise and braided CRC-32 calculations, and a table of powers
+ * of x for combining CRC-32s, all made by make_crc_table().
*/
#include "crc32.h"
#endif /* DYNAMIC_CRC_TABLE */
+/* ========================================================================
+ * Routines used for CRC calculation. Some are also required for the table
+ * generation above.
+ */
+
+/*
+ Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
+ reflected. For speed, this requires that a not be zero.
+ */
+local z_crc_t multmodp(a, b)
+ z_crc_t a;
+ z_crc_t b;
+{
+ z_crc_t m, p;
+
+ m = (z_crc_t)1 << 31;
+ p = 0;
+ for (;;) {
+ if (a & m) {
+ p ^= b;
+ if ((a & (m - 1)) == 0)
+ break;
+ }
+ m >>= 1;
+ b = b & 1 ? (b >> 1) ^ POLY : b >> 1;
+ }
+ return p;
+}
+
+/*
+ Return x^(n * 2^k) modulo p(x). Requires that x2n_table[] has been
+ initialized.
+ */
+local z_crc_t x2nmodp(n, k)
+ z_off64_t n;
+ unsigned k;
+{
+ z_crc_t p;
+
+ p = (z_crc_t)1 << 31; /* x^0 == 1 */
+ while (n) {
+ if (n & 1)
+ p = multmodp(x2n_table[k & 31], p);
+ n >>= 1;
+ k++;
+ }
+ return p;
+}
+
/* =========================================================================
- * This function can be used by asm versions of crc32()
+ * This function can be used by asm versions of crc32(), and to force the
+ * generation of the CRC tables in a threaded application.
*/
const z_crc_t FAR * ZEXPORT get_crc_table()
{
#ifdef DYNAMIC_CRC_TABLE
- if (crc_table_empty)
- make_crc_table();
+ once(&made, make_crc_table);
#endif /* DYNAMIC_CRC_TABLE */
return (const z_crc_t FAR *)crc_table;
}
-/* ========================================================================= */
-#define DO1 crc = crc_table[0][((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8)
-#define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
+/* =========================================================================
+ * Use ARM machine instructions if available. This will compute the CRC about
+ * ten times faster than the braided calculation. This code does not check for
+ * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
+ * only be defined if the compilation specifies an ARM processor architecture
+ * that has the instructions. For example, compiling with -march=armv8.1-a or
+ * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
+ * instructions.
+ */
+#ifdef ARMCRC32
+
+/*
+ Constants empirically determined to maximize speed. These values are from
+ measurements on a Cortex-A57. Your mileage may vary.
+ */
+#define Z_BATCH 3990 /* number of words in a batch */
+#define Z_BATCH_ZEROS 0xa10d3d0c /* computed from Z_BATCH = 3990 */
+#define Z_BATCH_MIN 800 /* fewest words in a final batch */
-/* ========================================================================= */
unsigned long ZEXPORT crc32_z(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
z_size_t len;
{
- if (buf == Z_NULL) return 0UL;
+ z_crc_t val;
+ z_word_t crc1, crc2;
+ const z_word_t *word;
+ z_word_t val0, val1, val2;
+ z_size_t last, last2, i;
+ z_size_t num;
+
+ /* Return initial CRC, if requested. */
+ if (buf == Z_NULL) return 0;
#ifdef DYNAMIC_CRC_TABLE
- if (crc_table_empty)
- make_crc_table();
+ once(&made, make_crc_table);
#endif /* DYNAMIC_CRC_TABLE */
-#ifdef BYFOUR
- if (sizeof(void *) == sizeof(ptrdiff_t)) {
- z_crc_t endian;
+ /* Pre-condition the CRC */
+ crc ^= 0xffffffff;
- endian = 1;
- if (*((unsigned char *)(&endian)))
- return crc32_little(crc, buf, len);
- else
- return crc32_big(crc, buf, len);
+ /* Compute the CRC up to a word boundary. */
+ while (len && ((z_size_t)buf & 7) != 0) {
+ len--;
+ val = *buf++;
+ __asm__ volatile("crc32b %w0, %w0, %w1" : "+r"(crc) : "r"(val));
}
-#endif /* BYFOUR */
- crc = crc ^ 0xffffffffUL;
- while (len >= 8) {
- DO8;
- len -= 8;
+
+ /* Prepare to compute the CRC on full 64-bit words word[0..num-1]. */
+ word = (z_word_t const *)buf;
+ num = len >> 3;
+ len &= 7;
+
+ /* Do three interleaved CRCs to realize the throughput of one crc32x
+ instruction per cycle. Each CRC is calcuated on Z_BATCH words. The three
+ CRCs are combined into a single CRC after each set of batches. */
+ while (num >= 3 * Z_BATCH) {
+ crc1 = 0;
+ crc2 = 0;
+ for (i = 0; i < Z_BATCH; i++) {
+ val0 = word[i];
+ val1 = word[i + Z_BATCH];
+ val2 = word[i + 2 * Z_BATCH];
+ __asm__ volatile("crc32x %w0, %w0, %x1" : "+r"(crc) : "r"(val0));
+ __asm__ volatile("crc32x %w0, %w0, %x1" : "+r"(crc1) : "r"(val1));
+ __asm__ volatile("crc32x %w0, %w0, %x1" : "+r"(crc2) : "r"(val2));
+ }
+ word += 3 * Z_BATCH;
+ num -= 3 * Z_BATCH;
+ crc = multmodp(Z_BATCH_ZEROS, crc) ^ crc1;
+ crc = multmodp(Z_BATCH_ZEROS, crc) ^ crc2;
}
- if (len) do {
- DO1;
- } while (--len);
- return crc ^ 0xffffffffUL;
-}
-/* ========================================================================= */
-unsigned long ZEXPORT crc32(crc, buf, len)
- unsigned long crc;
- const unsigned char FAR *buf;
- uInt len;
-{
- return crc32_z(crc, buf, len);
+ /* Do one last smaller batch with the remaining words, if there are enough
+ to pay for the combination of CRCs. */
+ last = num / 3;
+ if (last >= Z_BATCH_MIN) {
+ last2 = last << 1;
+ crc1 = 0;
+ crc2 = 0;
+ for (i = 0; i < last; i++) {
+ val0 = word[i];
+ val1 = word[i + last];
+ val2 = word[i + last2];
+ __asm__ volatile("crc32x %w0, %w0, %x1" : "+r"(crc) : "r"(val0));
+ __asm__ volatile("crc32x %w0, %w0, %x1" : "+r"(crc1) : "r"(val1));
+ __asm__ volatile("crc32x %w0, %w0, %x1" : "+r"(crc2) : "r"(val2));
+ }
+ word += 3 * last;
+ num -= 3 * last;
+ val = x2nmodp(last, 6);
+ crc = multmodp(val, crc) ^ crc1;
+ crc = multmodp(val, crc) ^ crc2;
+ }
+
+ /* Compute the CRC on any remaining words. */
+ for (i = 0; i < num; i++) {
+ val0 = word[i];
+ __asm__ volatile("crc32x %w0, %w0, %x1" : "+r"(crc) : "r"(val0));
+ }
+ word += num;
+
+ /* Complete the CRC on any remaining bytes. */
+ buf = (const unsigned char FAR *)word;
+ while (len) {
+ len--;
+ val = *buf++;
+ __asm__ volatile("crc32b %w0, %w0, %w1" : "+r"(crc) : "r"(val));
+ }
+
+ /* Return the CRC, post-conditioned. */
+ return crc ^ 0xffffffff;
}
-#ifdef BYFOUR
+#else
+
+#ifdef W
/*
- This BYFOUR code accesses the passed unsigned char * buffer with a 32-bit
- integer pointer type. This violates the strict aliasing rule, where a
- compiler can assume, for optimization purposes, that two pointers to
- fundamentally different types won't ever point to the same memory. This can
- manifest as a problem only if one of the pointers is written to. This code
- only reads from those pointers. So long as this code remains isolated in
- this compilation unit, there won't be a problem. For this reason, this code
- should not be copied and pasted into a compilation unit in which other code
- writes to the buffer that is passed to these routines.
+ Return the CRC of the W bytes in the word_t data, taking the
+ least-significant byte of the word as the first byte of data, without any pre
+ or post conditioning. This is used to combine the CRCs of each braid.
*/
+local z_crc_t crc_word(data)
+ z_word_t data;
+{
+ int k;
+ for (k = 0; k < W; k++)
+ data = (data >> 8) ^ crc_table[data & 0xff];
+ return (z_crc_t)data;
+}
-/* ========================================================================= */
-#define DOLIT4 c ^= *buf4++; \
- c = crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \
- crc_table[1][(c >> 16) & 0xff] ^ crc_table[0][c >> 24]
-#define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4
+local z_word_t crc_word_big(data)
+ z_word_t data;
+{
+ int k;
+ for (k = 0; k < W; k++)
+ data = (data << 8) ^
+ crc_big_table[(data >> ((W - 1) << 3)) & 0xff];
+ return data;
+}
+
+#endif
/* ========================================================================= */
-local unsigned long crc32_little(crc, buf, len)
+unsigned long ZEXPORT crc32_z(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
z_size_t len;
{
- register z_crc_t c;
- register const z_crc_t FAR *buf4;
+ /* Return initial CRC, if requested. */
+ if (buf == Z_NULL) return 0;
- c = (z_crc_t)crc;
- c = ~c;
- while (len && ((ptrdiff_t)buf & 3)) {
- c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
- len--;
- }
+#ifdef DYNAMIC_CRC_TABLE
+ once(&made, make_crc_table);
+#endif /* DYNAMIC_CRC_TABLE */
- buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
- while (len >= 32) {
- DOLIT32;
- len -= 32;
- }
- while (len >= 4) {
- DOLIT4;
- len -= 4;
- }
- buf = (const unsigned char FAR *)buf4;
+ /* Pre-condition the CRC */
+ crc ^= 0xffffffff;
- if (len) do {
- c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
- } while (--len);
- c = ~c;
- return (unsigned long)c;
-}
+#ifdef W
-/* ========================================================================= */
-#define DOBIG4 c ^= *buf4++; \
- c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
- crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
-#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
+ /* If provided enough bytes, do a braided CRC calculation. */
+ if (len >= N * W + W - 1) {
+ z_size_t blks;
+ z_word_t const *words;
+ unsigned endian;
+ int k;
-/* ========================================================================= */
-local unsigned long crc32_big(crc, buf, len)
- unsigned long crc;
- const unsigned char FAR *buf;
- z_size_t len;
-{
- register z_crc_t c;
- register const z_crc_t FAR *buf4;
+ /* Compute the CRC up to a z_word_t boundary. */
+ while (len && ((z_size_t)buf & (W - 1)) != 0) {
+ len--;
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
+ }
- c = ZSWAP32((z_crc_t)crc);
- c = ~c;
- while (len && ((ptrdiff_t)buf & 3)) {
- c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
- len--;
+ /* Compute the CRC on as many N z_word_t blocks as are available. */
+ blks = len / (N * W);
+ len -= blks * N * W;
+ words = (z_word_t const *)buf;
+
+ /* Do endian check at execution time instead of compile time, since ARM
+ processors can change the endianess at execution time. If the
+ compiler knows what the endianess will be, it can optimize out the
+ check and the unused branch. */
+ endian = 1;
+ if (*(unsigned char *)&endian) {
+ /* Little endian. */
+
+ z_crc_t crc0;
+ z_word_t word0;
+#if N > 1
+ z_crc_t crc1;
+ z_word_t word1;
+#if N > 2
+ z_crc_t crc2;
+ z_word_t word2;
+#if N > 3
+ z_crc_t crc3;
+ z_word_t word3;
+#if N > 4
+ z_crc_t crc4;
+ z_word_t word4;
+#if N > 5
+ z_crc_t crc5;
+ z_word_t word5;
+#endif
+#endif
+#endif
+#endif
+#endif
+
+ /* Initialize the CRC for each braid. */
+ crc0 = crc;
+#if N > 1
+ crc1 = 0;
+#if N > 2
+ crc2 = 0;
+#if N > 3
+ crc3 = 0;
+#if N > 4
+ crc4 = 0;
+#if N > 5
+ crc5 = 0;
+#endif
+#endif
+#endif
+#endif
+#endif
+
+ /*
+ Process the first blks-1 blocks, computing the CRCs on each braid
+ independently.
+ */
+ while (--blks) {
+ /* Load the word for each braid into registers. */
+ word0 = crc0 ^ words[0];
+#if N > 1
+ word1 = crc1 ^ words[1];
+#if N > 2
+ word2 = crc2 ^ words[2];
+#if N > 3
+ word3 = crc3 ^ words[3];
+#if N > 4
+ word4 = crc4 ^ words[4];
+#if N > 5
+ word5 = crc5 ^ words[5];
+#endif
+#endif
+#endif
+#endif
+#endif
+ words += N;
+
+ /* Compute and update the CRC for each word. The loop should
+ get unrolled. */
+ crc0 = crc_braid_table[0][word0 & 0xff];
+#if N > 1
+ crc1 = crc_braid_table[0][word1 & 0xff];
+#if N > 2
+ crc2 = crc_braid_table[0][word2 & 0xff];
+#if N > 3
+ crc3 = crc_braid_table[0][word3 & 0xff];
+#if N > 4
+ crc4 = crc_braid_table[0][word4 & 0xff];
+#if N > 5
+ crc5 = crc_braid_table[0][word5 & 0xff];
+#endif
+#endif
+#endif
+#endif
+#endif
+ for (k = 1; k < W; k++) {
+ crc0 ^= crc_braid_table[k][(word0 >> (k << 3)) & 0xff];
+#if N > 1
+ crc1 ^= crc_braid_table[k][(word1 >> (k << 3)) & 0xff];
+#if N > 2
+ crc2 ^= crc_braid_table[k][(word2 >> (k << 3)) & 0xff];
+#if N > 3
+ crc3 ^= crc_braid_table[k][(word3 >> (k << 3)) & 0xff];
+#if N > 4
+ crc4 ^= crc_braid_table[k][(word4 >> (k << 3)) & 0xff];
+#if N > 5
+ crc5 ^= crc_braid_table[k][(word5 >> (k << 3)) & 0xff];
+#endif
+#endif
+#endif
+#endif
+#endif
+ }
+ }
+
+ /*
+ Process the last block, combining the CRCs of the N braids at the
+ same time.
+ */
+ crc = crc_word(crc0 ^ words[0]);
+#if N > 1
+ crc = crc_word(crc1 ^ words[1] ^ crc);
+#if N > 2
+ crc = crc_word(crc2 ^ words[2] ^ crc);
+#if N > 3
+ crc = crc_word(crc3 ^ words[3] ^ crc);
+#if N > 4
+ crc = crc_word(crc4 ^ words[4] ^ crc);
+#if N > 5
+ crc = crc_word(crc5 ^ words[5] ^ crc);
+#endif
+#endif
+#endif
+#endif
+#endif
+ words += N;
+ }
+ else {
+ /* Big endian. */
+
+ z_word_t crc0, word0, comb;
+#if N > 1
+ z_word_t crc1, word1;
+#if N > 2
+ z_word_t crc2, word2;
+#if N > 3
+ z_word_t crc3, word3;
+#if N > 4
+ z_word_t crc4, word4;
+#if N > 5
+ z_word_t crc5, word5;
+#endif
+#endif
+#endif
+#endif
+#endif
+
+ /* Initialize the CRC for each braid. */
+ crc0 = byte_swap(crc);
+#if N > 1
+ crc1 = 0;
+#if N > 2
+ crc2 = 0;
+#if N > 3
+ crc3 = 0;
+#if N > 4
+ crc4 = 0;
+#if N > 5
+ crc5 = 0;
+#endif
+#endif
+#endif
+#endif
+#endif
+
+ /*
+ Process the first blks-1 blocks, computing the CRCs on each braid
+ independently.
+ */
+ while (--blks) {
+ /* Load the word for each braid into registers. */
+ word0 = crc0 ^ words[0];
+#if N > 1
+ word1 = crc1 ^ words[1];
+#if N > 2
+ word2 = crc2 ^ words[2];
+#if N > 3
+ word3 = crc3 ^ words[3];
+#if N > 4
+ word4 = crc4 ^ words[4];
+#if N > 5
+ word5 = crc5 ^ words[5];
+#endif
+#endif
+#endif
+#endif
+#endif
+ words += N;
+
+ /* Compute and update the CRC for each word. The loop should
+ get unrolled. */
+ crc0 = crc_braid_big_table[0][word0 & 0xff];
+#if N > 1
+ crc1 = crc_braid_big_table[0][word1 & 0xff];
+#if N > 2
+ crc2 = crc_braid_big_table[0][word2 & 0xff];
+#if N > 3
+ crc3 = crc_braid_big_table[0][word3 & 0xff];
+#if N > 4
+ crc4 = crc_braid_big_table[0][word4 & 0xff];
+#if N > 5
+ crc5 = crc_braid_big_table[0][word5 & 0xff];
+#endif
+#endif
+#endif
+#endif
+#endif
+ for (k = 1; k < W; k++) {
+ crc0 ^= crc_braid_big_table[k][(word0 >> (k << 3)) & 0xff];
+#if N > 1
+ crc1 ^= crc_braid_big_table[k][(word1 >> (k << 3)) & 0xff];
+#if N > 2
+ crc2 ^= crc_braid_big_table[k][(word2 >> (k << 3)) & 0xff];
+#if N > 3
+ crc3 ^= crc_braid_big_table[k][(word3 >> (k << 3)) & 0xff];
+#if N > 4
+ crc4 ^= crc_braid_big_table[k][(word4 >> (k << 3)) & 0xff];
+#if N > 5
+ crc5 ^= crc_braid_big_table[k][(word5 >> (k << 3)) & 0xff];
+#endif
+#endif
+#endif
+#endif
+#endif
+ }
+ }
+
+ /*
+ Process the last block, combining the CRCs of the N braids at the
+ same time.
+ */
+ comb = crc_word_big(crc0 ^ words[0]);
+#if N > 1
+ comb = crc_word_big(crc1 ^ words[1] ^ comb);
+#if N > 2
+ comb = crc_word_big(crc2 ^ words[2] ^ comb);
+#if N > 3
+ comb = crc_word_big(crc3 ^ words[3] ^ comb);
+#if N > 4
+ comb = crc_word_big(crc4 ^ words[4] ^ comb);
+#if N > 5
+ comb = crc_word_big(crc5 ^ words[5] ^ comb);
+#endif
+#endif
+#endif
+#endif
+#endif
+ words += N;
+ crc = byte_swap(comb);
+ }
+
+ /*
+ Update the pointer to the remaining bytes to process.
+ */
+ buf = (unsigned char const *)words;
}
- buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
- while (len >= 32) {
- DOBIG32;
- len -= 32;
+#endif /* W */
+
+ /* Complete the computation of the CRC on any remaining bytes. */
+ while (len >= 8) {
+ len -= 8;
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
}
- while (len >= 4) {
- DOBIG4;
- len -= 4;
+ while (len) {
+ len--;
+ crc = (crc >> 8) ^ crc_table[(crc ^ *buf++) & 0xff];
}
- buf = (const unsigned char FAR *)buf4;
- if (len) do {
- c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
- } while (--len);
- c = ~c;
- return (unsigned long)(ZSWAP32(c));
+ /* Return the CRC, post-conditioned. */
+ return crc ^ 0xffffffff;
}
-#endif /* BYFOUR */
-
-#define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */
+#endif
/* ========================================================================= */
-local unsigned long gf2_matrix_times(mat, vec)
- unsigned long *mat;
- unsigned long vec;
+unsigned long ZEXPORT crc32(crc, buf, len)
+ unsigned long crc;
+ const unsigned char FAR *buf;
+ uInt len;
{
- unsigned long sum;
-
- sum = 0;
- while (vec) {
- if (vec & 1)
- sum ^= *mat;
- vec >>= 1;
- mat++;
- }
- return sum;
+ return crc32_z(crc, buf, len);
}
/* ========================================================================= */
-local void gf2_matrix_square(square, mat)
- unsigned long *square;
- unsigned long *mat;
+uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
+ uLong crc1;
+ uLong crc2;
+ z_off64_t len2;
{
- int n;
-
- for (n = 0; n < GF2_DIM; n++)
- square[n] = gf2_matrix_times(mat, mat[n]);
+#ifdef DYNAMIC_CRC_TABLE
+ once(&made, make_crc_table);
+#endif /* DYNAMIC_CRC_TABLE */
+ return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;
}
/* ========================================================================= */
-local uLong crc32_combine_(crc1, crc2, len2)
+uLong ZEXPORT crc32_combine(crc1, crc2, len2)
uLong crc1;
uLong crc2;
- z_off64_t len2;
+ z_off_t len2;
{
- int n;
- unsigned long row;
- unsigned long even[GF2_DIM]; /* even-power-of-two zeros operator */
- unsigned long odd[GF2_DIM]; /* odd-power-of-two zeros operator */
-
- /* degenerate case (also disallow negative lengths) */
- if (len2 <= 0)
- return crc1;
-
- /* put operator for one zero bit in odd */
- odd[0] = 0xedb88320UL; /* CRC-32 polynomial */
- row = 1;
- for (n = 1; n < GF2_DIM; n++) {
- odd[n] = row;
- row <<= 1;
- }
+ return crc32_combine64(crc1, crc2, len2);
+}
- /* put operator for two zero bits in even */
- gf2_matrix_square(even, odd);
-
- /* put operator for four zero bits in odd */
- gf2_matrix_square(odd, even);
-
- /* apply len2 zeros to crc1 (first square will put the operator for one
- zero byte, eight zero bits, in even) */
- do {
- /* apply zeros operator for this bit of len2 */
- gf2_matrix_square(even, odd);
- if (len2 & 1)
- crc1 = gf2_matrix_times(even, crc1);
- len2 >>= 1;
-
- /* if no more bits set, then done */
- if (len2 == 0)
- break;
-
- /* another iteration of the loop with odd and even swapped */
- gf2_matrix_square(odd, even);
- if (len2 & 1)
- crc1 = gf2_matrix_times(odd, crc1);
- len2 >>= 1;
-
- /* if no more bits set, then done */
- } while (len2 != 0);
-
- /* return combined crc */
- crc1 ^= crc2;
- return crc1;
+/* ========================================================================= */
+uLong ZEXPORT crc32_combine_gen64(len2)
+ z_off64_t len2;
+{
+#ifdef DYNAMIC_CRC_TABLE
+ once(&made, make_crc_table);
+#endif /* DYNAMIC_CRC_TABLE */
+ return x2nmodp(len2, 3);
}
/* ========================================================================= */
-uLong ZEXPORT crc32_combine(crc1, crc2, len2)
- uLong crc1;
- uLong crc2;
+uLong ZEXPORT crc32_combine_gen(len2)
z_off_t len2;
{
- return crc32_combine_(crc1, crc2, len2);
+ return crc32_combine_gen64(len2);
}
-uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
+/* ========================================================================= */
+uLong crc32_combine_op(crc1, crc2, op)
uLong crc1;
uLong crc2;
- z_off64_t len2;
+ uLong op;
{
- return crc32_combine_(crc1, crc2, len2);
+ return multmodp(op, crc1) ^ crc2;
}
diff --git a/lib/zlib/crc32.h b/lib/zlib/crc32.h
index 9e0c77810..137df68d6 100644
--- a/lib/zlib/crc32.h
+++ b/lib/zlib/crc32.h
@@ -2,440 +2,9445 @@
* Generated automatically by crc32.c
*/
-local const z_crc_t FAR crc_table[TBLS][256] =
-{
- {
- 0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL,
- 0x706af48fUL, 0xe963a535UL, 0x9e6495a3UL, 0x0edb8832UL, 0x79dcb8a4UL,
- 0xe0d5e91eUL, 0x97d2d988UL, 0x09b64c2bUL, 0x7eb17cbdUL, 0xe7b82d07UL,
- 0x90bf1d91UL, 0x1db71064UL, 0x6ab020f2UL, 0xf3b97148UL, 0x84be41deUL,
- 0x1adad47dUL, 0x6ddde4ebUL, 0xf4d4b551UL, 0x83d385c7UL, 0x136c9856UL,
- 0x646ba8c0UL, 0xfd62f97aUL, 0x8a65c9ecUL, 0x14015c4fUL, 0x63066cd9UL,
- 0xfa0f3d63UL, 0x8d080df5UL, 0x3b6e20c8UL, 0x4c69105eUL, 0xd56041e4UL,
- 0xa2677172UL, 0x3c03e4d1UL, 0x4b04d447UL, 0xd20d85fdUL, 0xa50ab56bUL,
- 0x35b5a8faUL, 0x42b2986cUL, 0xdbbbc9d6UL, 0xacbcf940UL, 0x32d86ce3UL,
- 0x45df5c75UL, 0xdcd60dcfUL, 0xabd13d59UL, 0x26d930acUL, 0x51de003aUL,
- 0xc8d75180UL, 0xbfd06116UL, 0x21b4f4b5UL, 0x56b3c423UL, 0xcfba9599UL,
- 0xb8bda50fUL, 0x2802b89eUL, 0x5f058808UL, 0xc60cd9b2UL, 0xb10be924UL,
- 0x2f6f7c87UL, 0x58684c11UL, 0xc1611dabUL, 0xb6662d3dUL, 0x76dc4190UL,
- 0x01db7106UL, 0x98d220bcUL, 0xefd5102aUL, 0x71b18589UL, 0x06b6b51fUL,
- 0x9fbfe4a5UL, 0xe8b8d433UL, 0x7807c9a2UL, 0x0f00f934UL, 0x9609a88eUL,
- 0xe10e9818UL, 0x7f6a0dbbUL, 0x086d3d2dUL, 0x91646c97UL, 0xe6635c01UL,
- 0x6b6b51f4UL, 0x1c6c6162UL, 0x856530d8UL, 0xf262004eUL, 0x6c0695edUL,
- 0x1b01a57bUL, 0x8208f4c1UL, 0xf50fc457UL, 0x65b0d9c6UL, 0x12b7e950UL,
- 0x8bbeb8eaUL, 0xfcb9887cUL, 0x62dd1ddfUL, 0x15da2d49UL, 0x8cd37cf3UL,
- 0xfbd44c65UL, 0x4db26158UL, 0x3ab551ceUL, 0xa3bc0074UL, 0xd4bb30e2UL,
- 0x4adfa541UL, 0x3dd895d7UL, 0xa4d1c46dUL, 0xd3d6f4fbUL, 0x4369e96aUL,
- 0x346ed9fcUL, 0xad678846UL, 0xda60b8d0UL, 0x44042d73UL, 0x33031de5UL,
- 0xaa0a4c5fUL, 0xdd0d7cc9UL, 0x5005713cUL, 0x270241aaUL, 0xbe0b1010UL,
- 0xc90c2086UL, 0x5768b525UL, 0x206f85b3UL, 0xb966d409UL, 0xce61e49fUL,
- 0x5edef90eUL, 0x29d9c998UL, 0xb0d09822UL, 0xc7d7a8b4UL, 0x59b33d17UL,
- 0x2eb40d81UL, 0xb7bd5c3bUL, 0xc0ba6cadUL, 0xedb88320UL, 0x9abfb3b6UL,
- 0x03b6e20cUL, 0x74b1d29aUL, 0xead54739UL, 0x9dd277afUL, 0x04db2615UL,
- 0x73dc1683UL, 0xe3630b12UL, 0x94643b84UL, 0x0d6d6a3eUL, 0x7a6a5aa8UL,
- 0xe40ecf0bUL, 0x9309ff9dUL, 0x0a00ae27UL, 0x7d079eb1UL, 0xf00f9344UL,
- 0x8708a3d2UL, 0x1e01f268UL, 0x6906c2feUL, 0xf762575dUL, 0x806567cbUL,
- 0x196c3671UL, 0x6e6b06e7UL, 0xfed41b76UL, 0x89d32be0UL, 0x10da7a5aUL,
- 0x67dd4accUL, 0xf9b9df6fUL, 0x8ebeeff9UL, 0x17b7be43UL, 0x60b08ed5UL,
- 0xd6d6a3e8UL, 0xa1d1937eUL, 0x38d8c2c4UL, 0x4fdff252UL, 0xd1bb67f1UL,
- 0xa6bc5767UL, 0x3fb506ddUL, 0x48b2364bUL, 0xd80d2bdaUL, 0xaf0a1b4cUL,
- 0x36034af6UL, 0x41047a60UL, 0xdf60efc3UL, 0xa867df55UL, 0x316e8eefUL,
- 0x4669be79UL, 0xcb61b38cUL, 0xbc66831aUL, 0x256fd2a0UL, 0x5268e236UL,
- 0xcc0c7795UL, 0xbb0b4703UL, 0x220216b9UL, 0x5505262fUL, 0xc5ba3bbeUL,
- 0xb2bd0b28UL, 0x2bb45a92UL, 0x5cb36a04UL, 0xc2d7ffa7UL, 0xb5d0cf31UL,
- 0x2cd99e8bUL, 0x5bdeae1dUL, 0x9b64c2b0UL, 0xec63f226UL, 0x756aa39cUL,
- 0x026d930aUL, 0x9c0906a9UL, 0xeb0e363fUL, 0x72076785UL, 0x05005713UL,
- 0x95bf4a82UL, 0xe2b87a14UL, 0x7bb12baeUL, 0x0cb61b38UL, 0x92d28e9bUL,
- 0xe5d5be0dUL, 0x7cdcefb7UL, 0x0bdbdf21UL, 0x86d3d2d4UL, 0xf1d4e242UL,
- 0x68ddb3f8UL, 0x1fda836eUL, 0x81be16cdUL, 0xf6b9265bUL, 0x6fb077e1UL,
- 0x18b74777UL, 0x88085ae6UL, 0xff0f6a70UL, 0x66063bcaUL, 0x11010b5cUL,
- 0x8f659effUL, 0xf862ae69UL, 0x616bffd3UL, 0x166ccf45UL, 0xa00ae278UL,
- 0xd70dd2eeUL, 0x4e048354UL, 0x3903b3c2UL, 0xa7672661UL, 0xd06016f7UL,
- 0x4969474dUL, 0x3e6e77dbUL, 0xaed16a4aUL, 0xd9d65adcUL, 0x40df0b66UL,
- 0x37d83bf0UL, 0xa9bcae53UL, 0xdebb9ec5UL, 0x47b2cf7fUL, 0x30b5ffe9UL,
- 0xbdbdf21cUL, 0xcabac28aUL, 0x53b39330UL, 0x24b4a3a6UL, 0xbad03605UL,
- 0xcdd70693UL, 0x54de5729UL, 0x23d967bfUL, 0xb3667a2eUL, 0xc4614ab8UL,
- 0x5d681b02UL, 0x2a6f2b94UL, 0xb40bbe37UL, 0xc30c8ea1UL, 0x5a05df1bUL,
- 0x2d02ef8dUL
-#ifdef BYFOUR
- },
- {
- 0x00000000UL, 0x191b3141UL, 0x32366282UL, 0x2b2d53c3UL, 0x646cc504UL,
- 0x7d77f445UL, 0x565aa786UL, 0x4f4196c7UL, 0xc8d98a08UL, 0xd1c2bb49UL,
- 0xfaefe88aUL, 0xe3f4d9cbUL, 0xacb54f0cUL, 0xb5ae7e4dUL, 0x9e832d8eUL,
- 0x87981ccfUL, 0x4ac21251UL, 0x53d92310UL, 0x78f470d3UL, 0x61ef4192UL,
- 0x2eaed755UL, 0x37b5e614UL, 0x1c98b5d7UL, 0x05838496UL, 0x821b9859UL,
- 0x9b00a918UL, 0xb02dfadbUL, 0xa936cb9aUL, 0xe6775d5dUL, 0xff6c6c1cUL,
- 0xd4413fdfUL, 0xcd5a0e9eUL, 0x958424a2UL, 0x8c9f15e3UL, 0xa7b24620UL,
- 0xbea97761UL, 0xf1e8e1a6UL, 0xe8f3d0e7UL, 0xc3de8324UL, 0xdac5b265UL,
- 0x5d5daeaaUL, 0x44469febUL, 0x6f6bcc28UL, 0x7670fd69UL, 0x39316baeUL,
- 0x202a5aefUL, 0x0b07092cUL, 0x121c386dUL, 0xdf4636f3UL, 0xc65d07b2UL,
- 0xed705471UL, 0xf46b6530UL, 0xbb2af3f7UL, 0xa231c2b6UL, 0x891c9175UL,
- 0x9007a034UL, 0x179fbcfbUL, 0x0e848dbaUL, 0x25a9de79UL, 0x3cb2ef38UL,
- 0x73f379ffUL, 0x6ae848beUL, 0x41c51b7dUL, 0x58de2a3cUL, 0xf0794f05UL,
- 0xe9627e44UL, 0xc24f2d87UL, 0xdb541cc6UL, 0x94158a01UL, 0x8d0ebb40UL,
- 0xa623e883UL, 0xbf38d9c2UL, 0x38a0c50dUL, 0x21bbf44cUL, 0x0a96a78fUL,
- 0x138d96ceUL, 0x5ccc0009UL, 0x45d73148UL, 0x6efa628bUL, 0x77e153caUL,
- 0xbabb5d54UL, 0xa3a06c15UL, 0x888d3fd6UL, 0x91960e97UL, 0xded79850UL,
- 0xc7cca911UL, 0xece1fad2UL, 0xf5facb93UL, 0x7262d75cUL, 0x6b79e61dUL,
- 0x4054b5deUL, 0x594f849fUL, 0x160e1258UL, 0x0f152319UL, 0x243870daUL,
- 0x3d23419bUL, 0x65fd6ba7UL, 0x7ce65ae6UL, 0x57cb0925UL, 0x4ed03864UL,
- 0x0191aea3UL, 0x188a9fe2UL, 0x33a7cc21UL, 0x2abcfd60UL, 0xad24e1afUL,
- 0xb43fd0eeUL, 0x9f12832dUL, 0x8609b26cUL, 0xc94824abUL, 0xd05315eaUL,
- 0xfb7e4629UL, 0xe2657768UL, 0x2f3f79f6UL, 0x362448b7UL, 0x1d091b74UL,
- 0x04122a35UL, 0x4b53bcf2UL, 0x52488db3UL, 0x7965de70UL, 0x607eef31UL,
- 0xe7e6f3feUL, 0xfefdc2bfUL, 0xd5d0917cUL, 0xcccba03dUL, 0x838a36faUL,
- 0x9a9107bbUL, 0xb1bc5478UL, 0xa8a76539UL, 0x3b83984bUL, 0x2298a90aUL,
- 0x09b5fac9UL, 0x10aecb88UL, 0x5fef5d4fUL, 0x46f46c0eUL, 0x6dd93fcdUL,
- 0x74c20e8cUL, 0xf35a1243UL, 0xea412302UL, 0xc16c70c1UL, 0xd8774180UL,
- 0x9736d747UL, 0x8e2de606UL, 0xa500b5c5UL, 0xbc1b8484UL, 0x71418a1aUL,
- 0x685abb5bUL, 0x4377e898UL, 0x5a6cd9d9UL, 0x152d4f1eUL, 0x0c367e5fUL,
- 0x271b2d9cUL, 0x3e001cddUL, 0xb9980012UL, 0xa0833153UL, 0x8bae6290UL,
- 0x92b553d1UL, 0xddf4c516UL, 0xc4eff457UL, 0xefc2a794UL, 0xf6d996d5UL,
- 0xae07bce9UL, 0xb71c8da8UL, 0x9c31de6bUL, 0x852aef2aUL, 0xca6b79edUL,
- 0xd37048acUL, 0xf85d1b6fUL, 0xe1462a2eUL, 0x66de36e1UL, 0x7fc507a0UL,
- 0x54e85463UL, 0x4df36522UL, 0x02b2f3e5UL, 0x1ba9c2a4UL, 0x30849167UL,
- 0x299fa026UL, 0xe4c5aeb8UL, 0xfdde9ff9UL, 0xd6f3cc3aUL, 0xcfe8fd7bUL,
- 0x80a96bbcUL, 0x99b25afdUL, 0xb29f093eUL, 0xab84387fUL, 0x2c1c24b0UL,
- 0x350715f1UL, 0x1e2a4632UL, 0x07317773UL, 0x4870e1b4UL, 0x516bd0f5UL,
- 0x7a468336UL, 0x635db277UL, 0xcbfad74eUL, 0xd2e1e60fUL, 0xf9ccb5ccUL,
- 0xe0d7848dUL, 0xaf96124aUL, 0xb68d230bUL, 0x9da070c8UL, 0x84bb4189UL,
- 0x03235d46UL, 0x1a386c07UL, 0x31153fc4UL, 0x280e0e85UL, 0x674f9842UL,
- 0x7e54a903UL, 0x5579fac0UL, 0x4c62cb81UL, 0x8138c51fUL, 0x9823f45eUL,
- 0xb30ea79dUL, 0xaa1596dcUL, 0xe554001bUL, 0xfc4f315aUL, 0xd7626299UL,
- 0xce7953d8UL, 0x49e14f17UL, 0x50fa7e56UL, 0x7bd72d95UL, 0x62cc1cd4UL,
- 0x2d8d8a13UL, 0x3496bb52UL, 0x1fbbe891UL, 0x06a0d9d0UL, 0x5e7ef3ecUL,
- 0x4765c2adUL, 0x6c48916eUL, 0x7553a02fUL, 0x3a1236e8UL, 0x230907a9UL,
- 0x0824546aUL, 0x113f652bUL, 0x96a779e4UL, 0x8fbc48a5UL, 0xa4911b66UL,
- 0xbd8a2a27UL, 0xf2cbbce0UL, 0xebd08da1UL, 0xc0fdde62UL, 0xd9e6ef23UL,
- 0x14bce1bdUL, 0x0da7d0fcUL, 0x268a833fUL, 0x3f91b27eUL, 0x70d024b9UL,
- 0x69cb15f8UL, 0x42e6463bUL, 0x5bfd777aUL, 0xdc656bb5UL, 0xc57e5af4UL,
- 0xee530937UL, 0xf7483876UL, 0xb809aeb1UL, 0xa1129ff0UL, 0x8a3fcc33UL,
- 0x9324fd72UL
- },
- {
- 0x00000000UL, 0x01c26a37UL, 0x0384d46eUL, 0x0246be59UL, 0x0709a8dcUL,
- 0x06cbc2ebUL, 0x048d7cb2UL, 0x054f1685UL, 0x0e1351b8UL, 0x0fd13b8fUL,
- 0x0d9785d6UL, 0x0c55efe1UL, 0x091af964UL, 0x08d89353UL, 0x0a9e2d0aUL,
- 0x0b5c473dUL, 0x1c26a370UL, 0x1de4c947UL, 0x1fa2771eUL, 0x1e601d29UL,
- 0x1b2f0bacUL, 0x1aed619bUL, 0x18abdfc2UL, 0x1969b5f5UL, 0x1235f2c8UL,
- 0x13f798ffUL, 0x11b126a6UL, 0x10734c91UL, 0x153c5a14UL, 0x14fe3023UL,
- 0x16b88e7aUL, 0x177ae44dUL, 0x384d46e0UL, 0x398f2cd7UL, 0x3bc9928eUL,
- 0x3a0bf8b9UL, 0x3f44ee3cUL, 0x3e86840bUL, 0x3cc03a52UL, 0x3d025065UL,
- 0x365e1758UL, 0x379c7d6fUL, 0x35dac336UL, 0x3418a901UL, 0x3157bf84UL,
- 0x3095d5b3UL, 0x32d36beaUL, 0x331101ddUL, 0x246be590UL, 0x25a98fa7UL,
- 0x27ef31feUL, 0x262d5bc9UL, 0x23624d4cUL, 0x22a0277bUL, 0x20e69922UL,
- 0x2124f315UL, 0x2a78b428UL, 0x2bbade1fUL, 0x29fc6046UL, 0x283e0a71UL,
- 0x2d711cf4UL, 0x2cb376c3UL, 0x2ef5c89aUL, 0x2f37a2adUL, 0x709a8dc0UL,
- 0x7158e7f7UL, 0x731e59aeUL, 0x72dc3399UL, 0x7793251cUL, 0x76514f2bUL,
- 0x7417f172UL, 0x75d59b45UL, 0x7e89dc78UL, 0x7f4bb64fUL, 0x7d0d0816UL,
- 0x7ccf6221UL, 0x798074a4UL, 0x78421e93UL, 0x7a04a0caUL, 0x7bc6cafdUL,
- 0x6cbc2eb0UL, 0x6d7e4487UL, 0x6f38fadeUL, 0x6efa90e9UL, 0x6bb5866cUL,
- 0x6a77ec5bUL, 0x68315202UL, 0x69f33835UL, 0x62af7f08UL, 0x636d153fUL,
- 0x612bab66UL, 0x60e9c151UL, 0x65a6d7d4UL, 0x6464bde3UL, 0x662203baUL,
- 0x67e0698dUL, 0x48d7cb20UL, 0x4915a117UL, 0x4b531f4eUL, 0x4a917579UL,
- 0x4fde63fcUL, 0x4e1c09cbUL, 0x4c5ab792UL, 0x4d98dda5UL, 0x46c49a98UL,
- 0x4706f0afUL, 0x45404ef6UL, 0x448224c1UL, 0x41cd3244UL, 0x400f5873UL,
- 0x4249e62aUL, 0x438b8c1dUL, 0x54f16850UL, 0x55330267UL, 0x5775bc3eUL,
- 0x56b7d609UL, 0x53f8c08cUL, 0x523aaabbUL, 0x507c14e2UL, 0x51be7ed5UL,
- 0x5ae239e8UL, 0x5b2053dfUL, 0x5966ed86UL, 0x58a487b1UL, 0x5deb9134UL,
- 0x5c29fb03UL, 0x5e6f455aUL, 0x5fad2f6dUL, 0xe1351b80UL, 0xe0f771b7UL,
- 0xe2b1cfeeUL, 0xe373a5d9UL, 0xe63cb35cUL, 0xe7fed96bUL, 0xe5b86732UL,
- 0xe47a0d05UL, 0xef264a38UL, 0xeee4200fUL, 0xeca29e56UL, 0xed60f461UL,
- 0xe82fe2e4UL, 0xe9ed88d3UL, 0xebab368aUL, 0xea695cbdUL, 0xfd13b8f0UL,
- 0xfcd1d2c7UL, 0xfe976c9eUL, 0xff5506a9UL, 0xfa1a102cUL, 0xfbd87a1bUL,
- 0xf99ec442UL, 0xf85cae75UL, 0xf300e948UL, 0xf2c2837fUL, 0xf0843d26UL,
- 0xf1465711UL, 0xf4094194UL, 0xf5cb2ba3UL, 0xf78d95faUL, 0xf64fffcdUL,
- 0xd9785d60UL, 0xd8ba3757UL, 0xdafc890eUL, 0xdb3ee339UL, 0xde71f5bcUL,
- 0xdfb39f8bUL, 0xddf521d2UL, 0xdc374be5UL, 0xd76b0cd8UL, 0xd6a966efUL,
- 0xd4efd8b6UL, 0xd52db281UL, 0xd062a404UL, 0xd1a0ce33UL, 0xd3e6706aUL,
- 0xd2241a5dUL, 0xc55efe10UL, 0xc49c9427UL, 0xc6da2a7eUL, 0xc7184049UL,
- 0xc25756ccUL, 0xc3953cfbUL, 0xc1d382a2UL, 0xc011e895UL, 0xcb4dafa8UL,
- 0xca8fc59fUL, 0xc8c97bc6UL, 0xc90b11f1UL, 0xcc440774UL, 0xcd866d43UL,
- 0xcfc0d31aUL, 0xce02b92dUL, 0x91af9640UL, 0x906dfc77UL, 0x922b422eUL,
- 0x93e92819UL, 0x96a63e9cUL, 0x976454abUL, 0x9522eaf2UL, 0x94e080c5UL,
- 0x9fbcc7f8UL, 0x9e7eadcfUL, 0x9c381396UL, 0x9dfa79a1UL, 0x98b56f24UL,
- 0x99770513UL, 0x9b31bb4aUL, 0x9af3d17dUL, 0x8d893530UL, 0x8c4b5f07UL,
- 0x8e0de15eUL, 0x8fcf8b69UL, 0x8a809decUL, 0x8b42f7dbUL, 0x89044982UL,
- 0x88c623b5UL, 0x839a6488UL, 0x82580ebfUL, 0x801eb0e6UL, 0x81dcdad1UL,
- 0x8493cc54UL, 0x8551a663UL, 0x8717183aUL, 0x86d5720dUL, 0xa9e2d0a0UL,
- 0xa820ba97UL, 0xaa6604ceUL, 0xaba46ef9UL, 0xaeeb787cUL, 0xaf29124bUL,
- 0xad6fac12UL, 0xacadc625UL, 0xa7f18118UL, 0xa633eb2fUL, 0xa4755576UL,
- 0xa5b73f41UL, 0xa0f829c4UL, 0xa13a43f3UL, 0xa37cfdaaUL, 0xa2be979dUL,
- 0xb5c473d0UL, 0xb40619e7UL, 0xb640a7beUL, 0xb782cd89UL, 0xb2cddb0cUL,
- 0xb30fb13bUL, 0xb1490f62UL, 0xb08b6555UL, 0xbbd72268UL, 0xba15485fUL,
- 0xb853f606UL, 0xb9919c31UL, 0xbcde8ab4UL, 0xbd1ce083UL, 0xbf5a5edaUL,
- 0xbe9834edUL
- },
- {
- 0x00000000UL, 0xb8bc6765UL, 0xaa09c88bUL, 0x12b5afeeUL, 0x8f629757UL,
- 0x37def032UL, 0x256b5fdcUL, 0x9dd738b9UL, 0xc5b428efUL, 0x7d084f8aUL,
- 0x6fbde064UL, 0xd7018701UL, 0x4ad6bfb8UL, 0xf26ad8ddUL, 0xe0df7733UL,
- 0x58631056UL, 0x5019579fUL, 0xe8a530faUL, 0xfa109f14UL, 0x42acf871UL,
- 0xdf7bc0c8UL, 0x67c7a7adUL, 0x75720843UL, 0xcdce6f26UL, 0x95ad7f70UL,
- 0x2d111815UL, 0x3fa4b7fbUL, 0x8718d09eUL, 0x1acfe827UL, 0xa2738f42UL,
- 0xb0c620acUL, 0x087a47c9UL, 0xa032af3eUL, 0x188ec85bUL, 0x0a3b67b5UL,
- 0xb28700d0UL, 0x2f503869UL, 0x97ec5f0cUL, 0x8559f0e2UL, 0x3de59787UL,
- 0x658687d1UL, 0xdd3ae0b4UL, 0xcf8f4f5aUL, 0x7733283fUL, 0xeae41086UL,
- 0x525877e3UL, 0x40edd80dUL, 0xf851bf68UL, 0xf02bf8a1UL, 0x48979fc4UL,
- 0x5a22302aUL, 0xe29e574fUL, 0x7f496ff6UL, 0xc7f50893UL, 0xd540a77dUL,
- 0x6dfcc018UL, 0x359fd04eUL, 0x8d23b72bUL, 0x9f9618c5UL, 0x272a7fa0UL,
- 0xbafd4719UL, 0x0241207cUL, 0x10f48f92UL, 0xa848e8f7UL, 0x9b14583dUL,
- 0x23a83f58UL, 0x311d90b6UL, 0x89a1f7d3UL, 0x1476cf6aUL, 0xaccaa80fUL,
- 0xbe7f07e1UL, 0x06c36084UL, 0x5ea070d2UL, 0xe61c17b7UL, 0xf4a9b859UL,
- 0x4c15df3cUL, 0xd1c2e785UL, 0x697e80e0UL, 0x7bcb2f0eUL, 0xc377486bUL,
- 0xcb0d0fa2UL, 0x73b168c7UL, 0x6104c729UL, 0xd9b8a04cUL, 0x446f98f5UL,
- 0xfcd3ff90UL, 0xee66507eUL, 0x56da371bUL, 0x0eb9274dUL, 0xb6054028UL,
- 0xa4b0efc6UL, 0x1c0c88a3UL, 0x81dbb01aUL, 0x3967d77fUL, 0x2bd27891UL,
- 0x936e1ff4UL, 0x3b26f703UL, 0x839a9066UL, 0x912f3f88UL, 0x299358edUL,
- 0xb4446054UL, 0x0cf80731UL, 0x1e4da8dfUL, 0xa6f1cfbaUL, 0xfe92dfecUL,
- 0x462eb889UL, 0x549b1767UL, 0xec277002UL, 0x71f048bbUL, 0xc94c2fdeUL,
- 0xdbf98030UL, 0x6345e755UL, 0x6b3fa09cUL, 0xd383c7f9UL, 0xc1366817UL,
- 0x798a0f72UL, 0xe45d37cbUL, 0x5ce150aeUL, 0x4e54ff40UL, 0xf6e89825UL,
- 0xae8b8873UL, 0x1637ef16UL, 0x048240f8UL, 0xbc3e279dUL, 0x21e91f24UL,
- 0x99557841UL, 0x8be0d7afUL, 0x335cb0caUL, 0xed59b63bUL, 0x55e5d15eUL,
- 0x47507eb0UL, 0xffec19d5UL, 0x623b216cUL, 0xda874609UL, 0xc832e9e7UL,
- 0x708e8e82UL, 0x28ed9ed4UL, 0x9051f9b1UL, 0x82e4565fUL, 0x3a58313aUL,
- 0xa78f0983UL, 0x1f336ee6UL, 0x0d86c108UL, 0xb53aa66dUL, 0xbd40e1a4UL,
- 0x05fc86c1UL, 0x1749292fUL, 0xaff54e4aUL, 0x322276f3UL, 0x8a9e1196UL,
- 0x982bbe78UL, 0x2097d91dUL, 0x78f4c94bUL, 0xc048ae2eUL, 0xd2fd01c0UL,
- 0x6a4166a5UL, 0xf7965e1cUL, 0x4f2a3979UL, 0x5d9f9697UL, 0xe523f1f2UL,
- 0x4d6b1905UL, 0xf5d77e60UL, 0xe762d18eUL, 0x5fdeb6ebUL, 0xc2098e52UL,
- 0x7ab5e937UL, 0x680046d9UL, 0xd0bc21bcUL, 0x88df31eaUL, 0x3063568fUL,
- 0x22d6f961UL, 0x9a6a9e04UL, 0x07bda6bdUL, 0xbf01c1d8UL, 0xadb46e36UL,
- 0x15080953UL, 0x1d724e9aUL, 0xa5ce29ffUL, 0xb77b8611UL, 0x0fc7e174UL,
- 0x9210d9cdUL, 0x2aacbea8UL, 0x38191146UL, 0x80a57623UL, 0xd8c66675UL,
- 0x607a0110UL, 0x72cfaefeUL, 0xca73c99bUL, 0x57a4f122UL, 0xef189647UL,
- 0xfdad39a9UL, 0x45115eccUL, 0x764dee06UL, 0xcef18963UL, 0xdc44268dUL,
- 0x64f841e8UL, 0xf92f7951UL, 0x41931e34UL, 0x5326b1daUL, 0xeb9ad6bfUL,
- 0xb3f9c6e9UL, 0x0b45a18cUL, 0x19f00e62UL, 0xa14c6907UL, 0x3c9b51beUL,
- 0x842736dbUL, 0x96929935UL, 0x2e2efe50UL, 0x2654b999UL, 0x9ee8defcUL,
- 0x8c5d7112UL, 0x34e11677UL, 0xa9362eceUL, 0x118a49abUL, 0x033fe645UL,
- 0xbb838120UL, 0xe3e09176UL, 0x5b5cf613UL, 0x49e959fdUL, 0xf1553e98UL,
- 0x6c820621UL, 0xd43e6144UL, 0xc68bceaaUL, 0x7e37a9cfUL, 0xd67f4138UL,
- 0x6ec3265dUL, 0x7c7689b3UL, 0xc4caeed6UL, 0x591dd66fUL, 0xe1a1b10aUL,
- 0xf3141ee4UL, 0x4ba87981UL, 0x13cb69d7UL, 0xab770eb2UL, 0xb9c2a15cUL,
- 0x017ec639UL, 0x9ca9fe80UL, 0x241599e5UL, 0x36a0360bUL, 0x8e1c516eUL,
- 0x866616a7UL, 0x3eda71c2UL, 0x2c6fde2cUL, 0x94d3b949UL, 0x090481f0UL,
- 0xb1b8e695UL, 0xa30d497bUL, 0x1bb12e1eUL, 0x43d23e48UL, 0xfb6e592dUL,
- 0xe9dbf6c3UL, 0x516791a6UL, 0xccb0a91fUL, 0x740cce7aUL, 0x66b96194UL,
- 0xde0506f1UL
- },
- {
- 0x00000000UL, 0x96300777UL, 0x2c610eeeUL, 0xba510999UL, 0x19c46d07UL,
- 0x8ff46a70UL, 0x35a563e9UL, 0xa395649eUL, 0x3288db0eUL, 0xa4b8dc79UL,
- 0x1ee9d5e0UL, 0x88d9d297UL, 0x2b4cb609UL, 0xbd7cb17eUL, 0x072db8e7UL,
- 0x911dbf90UL, 0x6410b71dUL, 0xf220b06aUL, 0x4871b9f3UL, 0xde41be84UL,
- 0x7dd4da1aUL, 0xebe4dd6dUL, 0x51b5d4f4UL, 0xc785d383UL, 0x56986c13UL,
- 0xc0a86b64UL, 0x7af962fdUL, 0xecc9658aUL, 0x4f5c0114UL, 0xd96c0663UL,
- 0x633d0ffaUL, 0xf50d088dUL, 0xc8206e3bUL, 0x5e10694cUL, 0xe44160d5UL,
- 0x727167a2UL, 0xd1e4033cUL, 0x47d4044bUL, 0xfd850dd2UL, 0x6bb50aa5UL,
- 0xfaa8b535UL, 0x6c98b242UL, 0xd6c9bbdbUL, 0x40f9bcacUL, 0xe36cd832UL,
- 0x755cdf45UL, 0xcf0dd6dcUL, 0x593dd1abUL, 0xac30d926UL, 0x3a00de51UL,
- 0x8051d7c8UL, 0x1661d0bfUL, 0xb5f4b421UL, 0x23c4b356UL, 0x9995bacfUL,
- 0x0fa5bdb8UL, 0x9eb80228UL, 0x0888055fUL, 0xb2d90cc6UL, 0x24e90bb1UL,
- 0x877c6f2fUL, 0x114c6858UL, 0xab1d61c1UL, 0x3d2d66b6UL, 0x9041dc76UL,
- 0x0671db01UL, 0xbc20d298UL, 0x2a10d5efUL, 0x8985b171UL, 0x1fb5b606UL,
- 0xa5e4bf9fUL, 0x33d4b8e8UL, 0xa2c90778UL, 0x34f9000fUL, 0x8ea80996UL,
- 0x18980ee1UL, 0xbb0d6a7fUL, 0x2d3d6d08UL, 0x976c6491UL, 0x015c63e6UL,
- 0xf4516b6bUL, 0x62616c1cUL, 0xd8306585UL, 0x4e0062f2UL, 0xed95066cUL,
- 0x7ba5011bUL, 0xc1f40882UL, 0x57c40ff5UL, 0xc6d9b065UL, 0x50e9b712UL,
- 0xeab8be8bUL, 0x7c88b9fcUL, 0xdf1ddd62UL, 0x492dda15UL, 0xf37cd38cUL,
- 0x654cd4fbUL, 0x5861b24dUL, 0xce51b53aUL, 0x7400bca3UL, 0xe230bbd4UL,
- 0x41a5df4aUL, 0xd795d83dUL, 0x6dc4d1a4UL, 0xfbf4d6d3UL, 0x6ae96943UL,
- 0xfcd96e34UL, 0x468867adUL, 0xd0b860daUL, 0x732d0444UL, 0xe51d0333UL,
- 0x5f4c0aaaUL, 0xc97c0dddUL, 0x3c710550UL, 0xaa410227UL, 0x10100bbeUL,
- 0x86200cc9UL, 0x25b56857UL, 0xb3856f20UL, 0x09d466b9UL, 0x9fe461ceUL,
- 0x0ef9de5eUL, 0x98c9d929UL, 0x2298d0b0UL, 0xb4a8d7c7UL, 0x173db359UL,
- 0x810db42eUL, 0x3b5cbdb7UL, 0xad6cbac0UL, 0x2083b8edUL, 0xb6b3bf9aUL,
- 0x0ce2b603UL, 0x9ad2b174UL, 0x3947d5eaUL, 0xaf77d29dUL, 0x1526db04UL,
- 0x8316dc73UL, 0x120b63e3UL, 0x843b6494UL, 0x3e6a6d0dUL, 0xa85a6a7aUL,
- 0x0bcf0ee4UL, 0x9dff0993UL, 0x27ae000aUL, 0xb19e077dUL, 0x44930ff0UL,
- 0xd2a30887UL, 0x68f2011eUL, 0xfec20669UL, 0x5d5762f7UL, 0xcb676580UL,
- 0x71366c19UL, 0xe7066b6eUL, 0x761bd4feUL, 0xe02bd389UL, 0x5a7ada10UL,
- 0xcc4add67UL, 0x6fdfb9f9UL, 0xf9efbe8eUL, 0x43beb717UL, 0xd58eb060UL,
- 0xe8a3d6d6UL, 0x7e93d1a1UL, 0xc4c2d838UL, 0x52f2df4fUL, 0xf167bbd1UL,
- 0x6757bca6UL, 0xdd06b53fUL, 0x4b36b248UL, 0xda2b0dd8UL, 0x4c1b0aafUL,
- 0xf64a0336UL, 0x607a0441UL, 0xc3ef60dfUL, 0x55df67a8UL, 0xef8e6e31UL,
- 0x79be6946UL, 0x8cb361cbUL, 0x1a8366bcUL, 0xa0d26f25UL, 0x36e26852UL,
- 0x95770cccUL, 0x03470bbbUL, 0xb9160222UL, 0x2f260555UL, 0xbe3bbac5UL,
- 0x280bbdb2UL, 0x925ab42bUL, 0x046ab35cUL, 0xa7ffd7c2UL, 0x31cfd0b5UL,
- 0x8b9ed92cUL, 0x1daede5bUL, 0xb0c2649bUL, 0x26f263ecUL, 0x9ca36a75UL,
- 0x0a936d02UL, 0xa906099cUL, 0x3f360eebUL, 0x85670772UL, 0x13570005UL,
- 0x824abf95UL, 0x147ab8e2UL, 0xae2bb17bUL, 0x381bb60cUL, 0x9b8ed292UL,
- 0x0dbed5e5UL, 0xb7efdc7cUL, 0x21dfdb0bUL, 0xd4d2d386UL, 0x42e2d4f1UL,
- 0xf8b3dd68UL, 0x6e83da1fUL, 0xcd16be81UL, 0x5b26b9f6UL, 0xe177b06fUL,
- 0x7747b718UL, 0xe65a0888UL, 0x706a0fffUL, 0xca3b0666UL, 0x5c0b0111UL,
- 0xff9e658fUL, 0x69ae62f8UL, 0xd3ff6b61UL, 0x45cf6c16UL, 0x78e20aa0UL,
- 0xeed20dd7UL, 0x5483044eUL, 0xc2b30339UL, 0x612667a7UL, 0xf71660d0UL,
- 0x4d476949UL, 0xdb776e3eUL, 0x4a6ad1aeUL, 0xdc5ad6d9UL, 0x660bdf40UL,
- 0xf03bd837UL, 0x53aebca9UL, 0xc59ebbdeUL, 0x7fcfb247UL, 0xe9ffb530UL,
- 0x1cf2bdbdUL, 0x8ac2bacaUL, 0x3093b353UL, 0xa6a3b424UL, 0x0536d0baUL,
- 0x9306d7cdUL, 0x2957de54UL, 0xbf67d923UL, 0x2e7a66b3UL, 0xb84a61c4UL,
- 0x021b685dUL, 0x942b6f2aUL, 0x37be0bb4UL, 0xa18e0cc3UL, 0x1bdf055aUL,
- 0x8def022dUL
- },
- {
- 0x00000000UL, 0x41311b19UL, 0x82623632UL, 0xc3532d2bUL, 0x04c56c64UL,
- 0x45f4777dUL, 0x86a75a56UL, 0xc796414fUL, 0x088ad9c8UL, 0x49bbc2d1UL,
- 0x8ae8effaUL, 0xcbd9f4e3UL, 0x0c4fb5acUL, 0x4d7eaeb5UL, 0x8e2d839eUL,
- 0xcf1c9887UL, 0x5112c24aUL, 0x1023d953UL, 0xd370f478UL, 0x9241ef61UL,
- 0x55d7ae2eUL, 0x14e6b537UL, 0xd7b5981cUL, 0x96848305UL, 0x59981b82UL,
- 0x18a9009bUL, 0xdbfa2db0UL, 0x9acb36a9UL, 0x5d5d77e6UL, 0x1c6c6cffUL,
- 0xdf3f41d4UL, 0x9e0e5acdUL, 0xa2248495UL, 0xe3159f8cUL, 0x2046b2a7UL,
- 0x6177a9beUL, 0xa6e1e8f1UL, 0xe7d0f3e8UL, 0x2483dec3UL, 0x65b2c5daUL,
- 0xaaae5d5dUL, 0xeb9f4644UL, 0x28cc6b6fUL, 0x69fd7076UL, 0xae6b3139UL,
- 0xef5a2a20UL, 0x2c09070bUL, 0x6d381c12UL, 0xf33646dfUL, 0xb2075dc6UL,
- 0x715470edUL, 0x30656bf4UL, 0xf7f32abbUL, 0xb6c231a2UL, 0x75911c89UL,
- 0x34a00790UL, 0xfbbc9f17UL, 0xba8d840eUL, 0x79dea925UL, 0x38efb23cUL,
- 0xff79f373UL, 0xbe48e86aUL, 0x7d1bc541UL, 0x3c2ade58UL, 0x054f79f0UL,
- 0x447e62e9UL, 0x872d4fc2UL, 0xc61c54dbUL, 0x018a1594UL, 0x40bb0e8dUL,
- 0x83e823a6UL, 0xc2d938bfUL, 0x0dc5a038UL, 0x4cf4bb21UL, 0x8fa7960aUL,
- 0xce968d13UL, 0x0900cc5cUL, 0x4831d745UL, 0x8b62fa6eUL, 0xca53e177UL,
- 0x545dbbbaUL, 0x156ca0a3UL, 0xd63f8d88UL, 0x970e9691UL, 0x5098d7deUL,
- 0x11a9ccc7UL, 0xd2fae1ecUL, 0x93cbfaf5UL, 0x5cd76272UL, 0x1de6796bUL,
- 0xdeb55440UL, 0x9f844f59UL, 0x58120e16UL, 0x1923150fUL, 0xda703824UL,
- 0x9b41233dUL, 0xa76bfd65UL, 0xe65ae67cUL, 0x2509cb57UL, 0x6438d04eUL,
- 0xa3ae9101UL, 0xe29f8a18UL, 0x21cca733UL, 0x60fdbc2aUL, 0xafe124adUL,
- 0xeed03fb4UL, 0x2d83129fUL, 0x6cb20986UL, 0xab2448c9UL, 0xea1553d0UL,
- 0x29467efbUL, 0x687765e2UL, 0xf6793f2fUL, 0xb7482436UL, 0x741b091dUL,
- 0x352a1204UL, 0xf2bc534bUL, 0xb38d4852UL, 0x70de6579UL, 0x31ef7e60UL,
- 0xfef3e6e7UL, 0xbfc2fdfeUL, 0x7c91d0d5UL, 0x3da0cbccUL, 0xfa368a83UL,
- 0xbb07919aUL, 0x7854bcb1UL, 0x3965a7a8UL, 0x4b98833bUL, 0x0aa99822UL,
- 0xc9fab509UL, 0x88cbae10UL, 0x4f5def5fUL, 0x0e6cf446UL, 0xcd3fd96dUL,
- 0x8c0ec274UL, 0x43125af3UL, 0x022341eaUL, 0xc1706cc1UL, 0x804177d8UL,
- 0x47d73697UL, 0x06e62d8eUL, 0xc5b500a5UL, 0x84841bbcUL, 0x1a8a4171UL,
- 0x5bbb5a68UL, 0x98e87743UL, 0xd9d96c5aUL, 0x1e4f2d15UL, 0x5f7e360cUL,
- 0x9c2d1b27UL, 0xdd1c003eUL, 0x120098b9UL, 0x533183a0UL, 0x9062ae8bUL,
- 0xd153b592UL, 0x16c5f4ddUL, 0x57f4efc4UL, 0x94a7c2efUL, 0xd596d9f6UL,
- 0xe9bc07aeUL, 0xa88d1cb7UL, 0x6bde319cUL, 0x2aef2a85UL, 0xed796bcaUL,
- 0xac4870d3UL, 0x6f1b5df8UL, 0x2e2a46e1UL, 0xe136de66UL, 0xa007c57fUL,
- 0x6354e854UL, 0x2265f34dUL, 0xe5f3b202UL, 0xa4c2a91bUL, 0x67918430UL,
- 0x26a09f29UL, 0xb8aec5e4UL, 0xf99fdefdUL, 0x3accf3d6UL, 0x7bfde8cfUL,
- 0xbc6ba980UL, 0xfd5ab299UL, 0x3e099fb2UL, 0x7f3884abUL, 0xb0241c2cUL,
- 0xf1150735UL, 0x32462a1eUL, 0x73773107UL, 0xb4e17048UL, 0xf5d06b51UL,
- 0x3683467aUL, 0x77b25d63UL, 0x4ed7facbUL, 0x0fe6e1d2UL, 0xccb5ccf9UL,
- 0x8d84d7e0UL, 0x4a1296afUL, 0x0b238db6UL, 0xc870a09dUL, 0x8941bb84UL,
- 0x465d2303UL, 0x076c381aUL, 0xc43f1531UL, 0x850e0e28UL, 0x42984f67UL,
- 0x03a9547eUL, 0xc0fa7955UL, 0x81cb624cUL, 0x1fc53881UL, 0x5ef42398UL,
- 0x9da70eb3UL, 0xdc9615aaUL, 0x1b0054e5UL, 0x5a314ffcUL, 0x996262d7UL,
- 0xd85379ceUL, 0x174fe149UL, 0x567efa50UL, 0x952dd77bUL, 0xd41ccc62UL,
- 0x138a8d2dUL, 0x52bb9634UL, 0x91e8bb1fUL, 0xd0d9a006UL, 0xecf37e5eUL,
- 0xadc26547UL, 0x6e91486cUL, 0x2fa05375UL, 0xe836123aUL, 0xa9070923UL,
- 0x6a542408UL, 0x2b653f11UL, 0xe479a796UL, 0xa548bc8fUL, 0x661b91a4UL,
- 0x272a8abdUL, 0xe0bccbf2UL, 0xa18dd0ebUL, 0x62defdc0UL, 0x23efe6d9UL,
- 0xbde1bc14UL, 0xfcd0a70dUL, 0x3f838a26UL, 0x7eb2913fUL, 0xb924d070UL,
- 0xf815cb69UL, 0x3b46e642UL, 0x7a77fd5bUL, 0xb56b65dcUL, 0xf45a7ec5UL,
- 0x370953eeUL, 0x763848f7UL, 0xb1ae09b8UL, 0xf09f12a1UL, 0x33cc3f8aUL,
- 0x72fd2493UL
- },
- {
- 0x00000000UL, 0x376ac201UL, 0x6ed48403UL, 0x59be4602UL, 0xdca80907UL,
- 0xebc2cb06UL, 0xb27c8d04UL, 0x85164f05UL, 0xb851130eUL, 0x8f3bd10fUL,
- 0xd685970dUL, 0xe1ef550cUL, 0x64f91a09UL, 0x5393d808UL, 0x0a2d9e0aUL,
- 0x3d475c0bUL, 0x70a3261cUL, 0x47c9e41dUL, 0x1e77a21fUL, 0x291d601eUL,
- 0xac0b2f1bUL, 0x9b61ed1aUL, 0xc2dfab18UL, 0xf5b56919UL, 0xc8f23512UL,
- 0xff98f713UL, 0xa626b111UL, 0x914c7310UL, 0x145a3c15UL, 0x2330fe14UL,
- 0x7a8eb816UL, 0x4de47a17UL, 0xe0464d38UL, 0xd72c8f39UL, 0x8e92c93bUL,
- 0xb9f80b3aUL, 0x3cee443fUL, 0x0b84863eUL, 0x523ac03cUL, 0x6550023dUL,
- 0x58175e36UL, 0x6f7d9c37UL, 0x36c3da35UL, 0x01a91834UL, 0x84bf5731UL,
- 0xb3d59530UL, 0xea6bd332UL, 0xdd011133UL, 0x90e56b24UL, 0xa78fa925UL,
- 0xfe31ef27UL, 0xc95b2d26UL, 0x4c4d6223UL, 0x7b27a022UL, 0x2299e620UL,
- 0x15f32421UL, 0x28b4782aUL, 0x1fdeba2bUL, 0x4660fc29UL, 0x710a3e28UL,
- 0xf41c712dUL, 0xc376b32cUL, 0x9ac8f52eUL, 0xada2372fUL, 0xc08d9a70UL,
- 0xf7e75871UL, 0xae591e73UL, 0x9933dc72UL, 0x1c259377UL, 0x2b4f5176UL,
- 0x72f11774UL, 0x459bd575UL, 0x78dc897eUL, 0x4fb64b7fUL, 0x16080d7dUL,
- 0x2162cf7cUL, 0xa4748079UL, 0x931e4278UL, 0xcaa0047aUL, 0xfdcac67bUL,
- 0xb02ebc6cUL, 0x87447e6dUL, 0xdefa386fUL, 0xe990fa6eUL, 0x6c86b56bUL,
- 0x5bec776aUL, 0x02523168UL, 0x3538f369UL, 0x087faf62UL, 0x3f156d63UL,
- 0x66ab2b61UL, 0x51c1e960UL, 0xd4d7a665UL, 0xe3bd6464UL, 0xba032266UL,
- 0x8d69e067UL, 0x20cbd748UL, 0x17a11549UL, 0x4e1f534bUL, 0x7975914aUL,
- 0xfc63de4fUL, 0xcb091c4eUL, 0x92b75a4cUL, 0xa5dd984dUL, 0x989ac446UL,
- 0xaff00647UL, 0xf64e4045UL, 0xc1248244UL, 0x4432cd41UL, 0x73580f40UL,
- 0x2ae64942UL, 0x1d8c8b43UL, 0x5068f154UL, 0x67023355UL, 0x3ebc7557UL,
- 0x09d6b756UL, 0x8cc0f853UL, 0xbbaa3a52UL, 0xe2147c50UL, 0xd57ebe51UL,
- 0xe839e25aUL, 0xdf53205bUL, 0x86ed6659UL, 0xb187a458UL, 0x3491eb5dUL,
- 0x03fb295cUL, 0x5a456f5eUL, 0x6d2fad5fUL, 0x801b35e1UL, 0xb771f7e0UL,
- 0xeecfb1e2UL, 0xd9a573e3UL, 0x5cb33ce6UL, 0x6bd9fee7UL, 0x3267b8e5UL,
- 0x050d7ae4UL, 0x384a26efUL, 0x0f20e4eeUL, 0x569ea2ecUL, 0x61f460edUL,
- 0xe4e22fe8UL, 0xd388ede9UL, 0x8a36abebUL, 0xbd5c69eaUL, 0xf0b813fdUL,
- 0xc7d2d1fcUL, 0x9e6c97feUL, 0xa90655ffUL, 0x2c101afaUL, 0x1b7ad8fbUL,
- 0x42c49ef9UL, 0x75ae5cf8UL, 0x48e900f3UL, 0x7f83c2f2UL, 0x263d84f0UL,
- 0x115746f1UL, 0x944109f4UL, 0xa32bcbf5UL, 0xfa958df7UL, 0xcdff4ff6UL,
- 0x605d78d9UL, 0x5737bad8UL, 0x0e89fcdaUL, 0x39e33edbUL, 0xbcf571deUL,
- 0x8b9fb3dfUL, 0xd221f5ddUL, 0xe54b37dcUL, 0xd80c6bd7UL, 0xef66a9d6UL,
- 0xb6d8efd4UL, 0x81b22dd5UL, 0x04a462d0UL, 0x33cea0d1UL, 0x6a70e6d3UL,
- 0x5d1a24d2UL, 0x10fe5ec5UL, 0x27949cc4UL, 0x7e2adac6UL, 0x494018c7UL,
- 0xcc5657c2UL, 0xfb3c95c3UL, 0xa282d3c1UL, 0x95e811c0UL, 0xa8af4dcbUL,
- 0x9fc58fcaUL, 0xc67bc9c8UL, 0xf1110bc9UL, 0x740744ccUL, 0x436d86cdUL,
- 0x1ad3c0cfUL, 0x2db902ceUL, 0x4096af91UL, 0x77fc6d90UL, 0x2e422b92UL,
- 0x1928e993UL, 0x9c3ea696UL, 0xab546497UL, 0xf2ea2295UL, 0xc580e094UL,
- 0xf8c7bc9fUL, 0xcfad7e9eUL, 0x9613389cUL, 0xa179fa9dUL, 0x246fb598UL,
- 0x13057799UL, 0x4abb319bUL, 0x7dd1f39aUL, 0x3035898dUL, 0x075f4b8cUL,
- 0x5ee10d8eUL, 0x698bcf8fUL, 0xec9d808aUL, 0xdbf7428bUL, 0x82490489UL,
- 0xb523c688UL, 0x88649a83UL, 0xbf0e5882UL, 0xe6b01e80UL, 0xd1dadc81UL,
- 0x54cc9384UL, 0x63a65185UL, 0x3a181787UL, 0x0d72d586UL, 0xa0d0e2a9UL,
- 0x97ba20a8UL, 0xce0466aaUL, 0xf96ea4abUL, 0x7c78ebaeUL, 0x4b1229afUL,
- 0x12ac6fadUL, 0x25c6adacUL, 0x1881f1a7UL, 0x2feb33a6UL, 0x765575a4UL,
- 0x413fb7a5UL, 0xc429f8a0UL, 0xf3433aa1UL, 0xaafd7ca3UL, 0x9d97bea2UL,
- 0xd073c4b5UL, 0xe71906b4UL, 0xbea740b6UL, 0x89cd82b7UL, 0x0cdbcdb2UL,
- 0x3bb10fb3UL, 0x620f49b1UL, 0x55658bb0UL, 0x6822d7bbUL, 0x5f4815baUL,
- 0x06f653b8UL, 0x319c91b9UL, 0xb48adebcUL, 0x83e01cbdUL, 0xda5e5abfUL,
- 0xed3498beUL
- },
- {
- 0x00000000UL, 0x6567bcb8UL, 0x8bc809aaUL, 0xeeafb512UL, 0x5797628fUL,
- 0x32f0de37UL, 0xdc5f6b25UL, 0xb938d79dUL, 0xef28b4c5UL, 0x8a4f087dUL,
- 0x64e0bd6fUL, 0x018701d7UL, 0xb8bfd64aUL, 0xddd86af2UL, 0x3377dfe0UL,
- 0x56106358UL, 0x9f571950UL, 0xfa30a5e8UL, 0x149f10faUL, 0x71f8ac42UL,
- 0xc8c07bdfUL, 0xada7c767UL, 0x43087275UL, 0x266fcecdUL, 0x707fad95UL,
- 0x1518112dUL, 0xfbb7a43fUL, 0x9ed01887UL, 0x27e8cf1aUL, 0x428f73a2UL,
- 0xac20c6b0UL, 0xc9477a08UL, 0x3eaf32a0UL, 0x5bc88e18UL, 0xb5673b0aUL,
- 0xd00087b2UL, 0x6938502fUL, 0x0c5fec97UL, 0xe2f05985UL, 0x8797e53dUL,
- 0xd1878665UL, 0xb4e03addUL, 0x5a4f8fcfUL, 0x3f283377UL, 0x8610e4eaUL,
- 0xe3775852UL, 0x0dd8ed40UL, 0x68bf51f8UL, 0xa1f82bf0UL, 0xc49f9748UL,
- 0x2a30225aUL, 0x4f579ee2UL, 0xf66f497fUL, 0x9308f5c7UL, 0x7da740d5UL,
- 0x18c0fc6dUL, 0x4ed09f35UL, 0x2bb7238dUL, 0xc518969fUL, 0xa07f2a27UL,
- 0x1947fdbaUL, 0x7c204102UL, 0x928ff410UL, 0xf7e848a8UL, 0x3d58149bUL,
- 0x583fa823UL, 0xb6901d31UL, 0xd3f7a189UL, 0x6acf7614UL, 0x0fa8caacUL,
- 0xe1077fbeUL, 0x8460c306UL, 0xd270a05eUL, 0xb7171ce6UL, 0x59b8a9f4UL,
- 0x3cdf154cUL, 0x85e7c2d1UL, 0xe0807e69UL, 0x0e2fcb7bUL, 0x6b4877c3UL,
- 0xa20f0dcbUL, 0xc768b173UL, 0x29c70461UL, 0x4ca0b8d9UL, 0xf5986f44UL,
- 0x90ffd3fcUL, 0x7e5066eeUL, 0x1b37da56UL, 0x4d27b90eUL, 0x284005b6UL,
- 0xc6efb0a4UL, 0xa3880c1cUL, 0x1ab0db81UL, 0x7fd76739UL, 0x9178d22bUL,
- 0xf41f6e93UL, 0x03f7263bUL, 0x66909a83UL, 0x883f2f91UL, 0xed589329UL,
- 0x546044b4UL, 0x3107f80cUL, 0xdfa84d1eUL, 0xbacff1a6UL, 0xecdf92feUL,
- 0x89b82e46UL, 0x67179b54UL, 0x027027ecUL, 0xbb48f071UL, 0xde2f4cc9UL,
- 0x3080f9dbUL, 0x55e74563UL, 0x9ca03f6bUL, 0xf9c783d3UL, 0x176836c1UL,
- 0x720f8a79UL, 0xcb375de4UL, 0xae50e15cUL, 0x40ff544eUL, 0x2598e8f6UL,
- 0x73888baeUL, 0x16ef3716UL, 0xf8408204UL, 0x9d273ebcUL, 0x241fe921UL,
- 0x41785599UL, 0xafd7e08bUL, 0xcab05c33UL, 0x3bb659edUL, 0x5ed1e555UL,
- 0xb07e5047UL, 0xd519ecffUL, 0x6c213b62UL, 0x094687daUL, 0xe7e932c8UL,
- 0x828e8e70UL, 0xd49eed28UL, 0xb1f95190UL, 0x5f56e482UL, 0x3a31583aUL,
- 0x83098fa7UL, 0xe66e331fUL, 0x08c1860dUL, 0x6da63ab5UL, 0xa4e140bdUL,
- 0xc186fc05UL, 0x2f294917UL, 0x4a4ef5afUL, 0xf3762232UL, 0x96119e8aUL,
- 0x78be2b98UL, 0x1dd99720UL, 0x4bc9f478UL, 0x2eae48c0UL, 0xc001fdd2UL,
- 0xa566416aUL, 0x1c5e96f7UL, 0x79392a4fUL, 0x97969f5dUL, 0xf2f123e5UL,
- 0x05196b4dUL, 0x607ed7f5UL, 0x8ed162e7UL, 0xebb6de5fUL, 0x528e09c2UL,
- 0x37e9b57aUL, 0xd9460068UL, 0xbc21bcd0UL, 0xea31df88UL, 0x8f566330UL,
- 0x61f9d622UL, 0x049e6a9aUL, 0xbda6bd07UL, 0xd8c101bfUL, 0x366eb4adUL,
- 0x53090815UL, 0x9a4e721dUL, 0xff29cea5UL, 0x11867bb7UL, 0x74e1c70fUL,
- 0xcdd91092UL, 0xa8beac2aUL, 0x46111938UL, 0x2376a580UL, 0x7566c6d8UL,
- 0x10017a60UL, 0xfeaecf72UL, 0x9bc973caUL, 0x22f1a457UL, 0x479618efUL,
- 0xa939adfdUL, 0xcc5e1145UL, 0x06ee4d76UL, 0x6389f1ceUL, 0x8d2644dcUL,
- 0xe841f864UL, 0x51792ff9UL, 0x341e9341UL, 0xdab12653UL, 0xbfd69aebUL,
- 0xe9c6f9b3UL, 0x8ca1450bUL, 0x620ef019UL, 0x07694ca1UL, 0xbe519b3cUL,
- 0xdb362784UL, 0x35999296UL, 0x50fe2e2eUL, 0x99b95426UL, 0xfcdee89eUL,
- 0x12715d8cUL, 0x7716e134UL, 0xce2e36a9UL, 0xab498a11UL, 0x45e63f03UL,
- 0x208183bbUL, 0x7691e0e3UL, 0x13f65c5bUL, 0xfd59e949UL, 0x983e55f1UL,
- 0x2106826cUL, 0x44613ed4UL, 0xaace8bc6UL, 0xcfa9377eUL, 0x38417fd6UL,
- 0x5d26c36eUL, 0xb389767cUL, 0xd6eecac4UL, 0x6fd61d59UL, 0x0ab1a1e1UL,
- 0xe41e14f3UL, 0x8179a84bUL, 0xd769cb13UL, 0xb20e77abUL, 0x5ca1c2b9UL,
- 0x39c67e01UL, 0x80fea99cUL, 0xe5991524UL, 0x0b36a036UL, 0x6e511c8eUL,
- 0xa7166686UL, 0xc271da3eUL, 0x2cde6f2cUL, 0x49b9d394UL, 0xf0810409UL,
- 0x95e6b8b1UL, 0x7b490da3UL, 0x1e2eb11bUL, 0x483ed243UL, 0x2d596efbUL,
- 0xc3f6dbe9UL, 0xa6916751UL, 0x1fa9b0ccUL, 0x7ace0c74UL, 0x9461b966UL,
- 0xf10605deUL
+local const z_crc_t FAR crc_table[] = {
+ 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
+ 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
+ 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
+ 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+ 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
+ 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+ 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
+ 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+ 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
+ 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
+ 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
+ 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+ 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
+ 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
+ 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
+ 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+ 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
+ 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+ 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
+ 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+ 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
+ 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
+ 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
+ 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+ 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
+ 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
+ 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
+ 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+ 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
+ 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+ 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
+ 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+ 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
+ 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
+ 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
+ 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+ 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
+ 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
+ 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
+ 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+ 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
+ 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+ 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
+ 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+ 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
+ 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
+ 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
+ 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+ 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
+ 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
+ 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
+ 0x2d02ef8d};
+
+#ifdef W
+
+#if W == 8
+
+local const z_word_t FAR crc_big_table[] = {
+ 0x0000000000000000, 0x9630077700000000, 0x2c610eee00000000,
+ 0xba51099900000000, 0x19c46d0700000000, 0x8ff46a7000000000,
+ 0x35a563e900000000, 0xa395649e00000000, 0x3288db0e00000000,
+ 0xa4b8dc7900000000, 0x1ee9d5e000000000, 0x88d9d29700000000,
+ 0x2b4cb60900000000, 0xbd7cb17e00000000, 0x072db8e700000000,
+ 0x911dbf9000000000, 0x6410b71d00000000, 0xf220b06a00000000,
+ 0x4871b9f300000000, 0xde41be8400000000, 0x7dd4da1a00000000,
+ 0xebe4dd6d00000000, 0x51b5d4f400000000, 0xc785d38300000000,
+ 0x56986c1300000000, 0xc0a86b6400000000, 0x7af962fd00000000,
+ 0xecc9658a00000000, 0x4f5c011400000000, 0xd96c066300000000,
+ 0x633d0ffa00000000, 0xf50d088d00000000, 0xc8206e3b00000000,
+ 0x5e10694c00000000, 0xe44160d500000000, 0x727167a200000000,
+ 0xd1e4033c00000000, 0x47d4044b00000000, 0xfd850dd200000000,
+ 0x6bb50aa500000000, 0xfaa8b53500000000, 0x6c98b24200000000,
+ 0xd6c9bbdb00000000, 0x40f9bcac00000000, 0xe36cd83200000000,
+ 0x755cdf4500000000, 0xcf0dd6dc00000000, 0x593dd1ab00000000,
+ 0xac30d92600000000, 0x3a00de5100000000, 0x8051d7c800000000,
+ 0x1661d0bf00000000, 0xb5f4b42100000000, 0x23c4b35600000000,
+ 0x9995bacf00000000, 0x0fa5bdb800000000, 0x9eb8022800000000,
+ 0x0888055f00000000, 0xb2d90cc600000000, 0x24e90bb100000000,
+ 0x877c6f2f00000000, 0x114c685800000000, 0xab1d61c100000000,
+ 0x3d2d66b600000000, 0x9041dc7600000000, 0x0671db0100000000,
+ 0xbc20d29800000000, 0x2a10d5ef00000000, 0x8985b17100000000,
+ 0x1fb5b60600000000, 0xa5e4bf9f00000000, 0x33d4b8e800000000,
+ 0xa2c9077800000000, 0x34f9000f00000000, 0x8ea8099600000000,
+ 0x18980ee100000000, 0xbb0d6a7f00000000, 0x2d3d6d0800000000,
+ 0x976c649100000000, 0x015c63e600000000, 0xf4516b6b00000000,
+ 0x62616c1c00000000, 0xd830658500000000, 0x4e0062f200000000,
+ 0xed95066c00000000, 0x7ba5011b00000000, 0xc1f4088200000000,
+ 0x57c40ff500000000, 0xc6d9b06500000000, 0x50e9b71200000000,
+ 0xeab8be8b00000000, 0x7c88b9fc00000000, 0xdf1ddd6200000000,
+ 0x492dda1500000000, 0xf37cd38c00000000, 0x654cd4fb00000000,
+ 0x5861b24d00000000, 0xce51b53a00000000, 0x7400bca300000000,
+ 0xe230bbd400000000, 0x41a5df4a00000000, 0xd795d83d00000000,
+ 0x6dc4d1a400000000, 0xfbf4d6d300000000, 0x6ae9694300000000,
+ 0xfcd96e3400000000, 0x468867ad00000000, 0xd0b860da00000000,
+ 0x732d044400000000, 0xe51d033300000000, 0x5f4c0aaa00000000,
+ 0xc97c0ddd00000000, 0x3c71055000000000, 0xaa41022700000000,
+ 0x10100bbe00000000, 0x86200cc900000000, 0x25b5685700000000,
+ 0xb3856f2000000000, 0x09d466b900000000, 0x9fe461ce00000000,
+ 0x0ef9de5e00000000, 0x98c9d92900000000, 0x2298d0b000000000,
+ 0xb4a8d7c700000000, 0x173db35900000000, 0x810db42e00000000,
+ 0x3b5cbdb700000000, 0xad6cbac000000000, 0x2083b8ed00000000,
+ 0xb6b3bf9a00000000, 0x0ce2b60300000000, 0x9ad2b17400000000,
+ 0x3947d5ea00000000, 0xaf77d29d00000000, 0x1526db0400000000,
+ 0x8316dc7300000000, 0x120b63e300000000, 0x843b649400000000,
+ 0x3e6a6d0d00000000, 0xa85a6a7a00000000, 0x0bcf0ee400000000,
+ 0x9dff099300000000, 0x27ae000a00000000, 0xb19e077d00000000,
+ 0x44930ff000000000, 0xd2a3088700000000, 0x68f2011e00000000,
+ 0xfec2066900000000, 0x5d5762f700000000, 0xcb67658000000000,
+ 0x71366c1900000000, 0xe7066b6e00000000, 0x761bd4fe00000000,
+ 0xe02bd38900000000, 0x5a7ada1000000000, 0xcc4add6700000000,
+ 0x6fdfb9f900000000, 0xf9efbe8e00000000, 0x43beb71700000000,
+ 0xd58eb06000000000, 0xe8a3d6d600000000, 0x7e93d1a100000000,
+ 0xc4c2d83800000000, 0x52f2df4f00000000, 0xf167bbd100000000,
+ 0x6757bca600000000, 0xdd06b53f00000000, 0x4b36b24800000000,
+ 0xda2b0dd800000000, 0x4c1b0aaf00000000, 0xf64a033600000000,
+ 0x607a044100000000, 0xc3ef60df00000000, 0x55df67a800000000,
+ 0xef8e6e3100000000, 0x79be694600000000, 0x8cb361cb00000000,
+ 0x1a8366bc00000000, 0xa0d26f2500000000, 0x36e2685200000000,
+ 0x95770ccc00000000, 0x03470bbb00000000, 0xb916022200000000,
+ 0x2f26055500000000, 0xbe3bbac500000000, 0x280bbdb200000000,
+ 0x925ab42b00000000, 0x046ab35c00000000, 0xa7ffd7c200000000,
+ 0x31cfd0b500000000, 0x8b9ed92c00000000, 0x1daede5b00000000,
+ 0xb0c2649b00000000, 0x26f263ec00000000, 0x9ca36a7500000000,
+ 0x0a936d0200000000, 0xa906099c00000000, 0x3f360eeb00000000,
+ 0x8567077200000000, 0x1357000500000000, 0x824abf9500000000,
+ 0x147ab8e200000000, 0xae2bb17b00000000, 0x381bb60c00000000,
+ 0x9b8ed29200000000, 0x0dbed5e500000000, 0xb7efdc7c00000000,
+ 0x21dfdb0b00000000, 0xd4d2d38600000000, 0x42e2d4f100000000,
+ 0xf8b3dd6800000000, 0x6e83da1f00000000, 0xcd16be8100000000,
+ 0x5b26b9f600000000, 0xe177b06f00000000, 0x7747b71800000000,
+ 0xe65a088800000000, 0x706a0fff00000000, 0xca3b066600000000,
+ 0x5c0b011100000000, 0xff9e658f00000000, 0x69ae62f800000000,
+ 0xd3ff6b6100000000, 0x45cf6c1600000000, 0x78e20aa000000000,
+ 0xeed20dd700000000, 0x5483044e00000000, 0xc2b3033900000000,
+ 0x612667a700000000, 0xf71660d000000000, 0x4d47694900000000,
+ 0xdb776e3e00000000, 0x4a6ad1ae00000000, 0xdc5ad6d900000000,
+ 0x660bdf4000000000, 0xf03bd83700000000, 0x53aebca900000000,
+ 0xc59ebbde00000000, 0x7fcfb24700000000, 0xe9ffb53000000000,
+ 0x1cf2bdbd00000000, 0x8ac2baca00000000, 0x3093b35300000000,
+ 0xa6a3b42400000000, 0x0536d0ba00000000, 0x9306d7cd00000000,
+ 0x2957de5400000000, 0xbf67d92300000000, 0x2e7a66b300000000,
+ 0xb84a61c400000000, 0x021b685d00000000, 0x942b6f2a00000000,
+ 0x37be0bb400000000, 0xa18e0cc300000000, 0x1bdf055a00000000,
+ 0x8def022d00000000};
+
+#else /* W == 4 */
+
+local const z_word_t FAR crc_big_table[] = {
+ 0x00000000, 0x96300777, 0x2c610eee, 0xba510999, 0x19c46d07,
+ 0x8ff46a70, 0x35a563e9, 0xa395649e, 0x3288db0e, 0xa4b8dc79,
+ 0x1ee9d5e0, 0x88d9d297, 0x2b4cb609, 0xbd7cb17e, 0x072db8e7,
+ 0x911dbf90, 0x6410b71d, 0xf220b06a, 0x4871b9f3, 0xde41be84,
+ 0x7dd4da1a, 0xebe4dd6d, 0x51b5d4f4, 0xc785d383, 0x56986c13,
+ 0xc0a86b64, 0x7af962fd, 0xecc9658a, 0x4f5c0114, 0xd96c0663,
+ 0x633d0ffa, 0xf50d088d, 0xc8206e3b, 0x5e10694c, 0xe44160d5,
+ 0x727167a2, 0xd1e4033c, 0x47d4044b, 0xfd850dd2, 0x6bb50aa5,
+ 0xfaa8b535, 0x6c98b242, 0xd6c9bbdb, 0x40f9bcac, 0xe36cd832,
+ 0x755cdf45, 0xcf0dd6dc, 0x593dd1ab, 0xac30d926, 0x3a00de51,
+ 0x8051d7c8, 0x1661d0bf, 0xb5f4b421, 0x23c4b356, 0x9995bacf,
+ 0x0fa5bdb8, 0x9eb80228, 0x0888055f, 0xb2d90cc6, 0x24e90bb1,
+ 0x877c6f2f, 0x114c6858, 0xab1d61c1, 0x3d2d66b6, 0x9041dc76,
+ 0x0671db01, 0xbc20d298, 0x2a10d5ef, 0x8985b171, 0x1fb5b606,
+ 0xa5e4bf9f, 0x33d4b8e8, 0xa2c90778, 0x34f9000f, 0x8ea80996,
+ 0x18980ee1, 0xbb0d6a7f, 0x2d3d6d08, 0x976c6491, 0x015c63e6,
+ 0xf4516b6b, 0x62616c1c, 0xd8306585, 0x4e0062f2, 0xed95066c,
+ 0x7ba5011b, 0xc1f40882, 0x57c40ff5, 0xc6d9b065, 0x50e9b712,
+ 0xeab8be8b, 0x7c88b9fc, 0xdf1ddd62, 0x492dda15, 0xf37cd38c,
+ 0x654cd4fb, 0x5861b24d, 0xce51b53a, 0x7400bca3, 0xe230bbd4,
+ 0x41a5df4a, 0xd795d83d, 0x6dc4d1a4, 0xfbf4d6d3, 0x6ae96943,
+ 0xfcd96e34, 0x468867ad, 0xd0b860da, 0x732d0444, 0xe51d0333,
+ 0x5f4c0aaa, 0xc97c0ddd, 0x3c710550, 0xaa410227, 0x10100bbe,
+ 0x86200cc9, 0x25b56857, 0xb3856f20, 0x09d466b9, 0x9fe461ce,
+ 0x0ef9de5e, 0x98c9d929, 0x2298d0b0, 0xb4a8d7c7, 0x173db359,
+ 0x810db42e, 0x3b5cbdb7, 0xad6cbac0, 0x2083b8ed, 0xb6b3bf9a,
+ 0x0ce2b603, 0x9ad2b174, 0x3947d5ea, 0xaf77d29d, 0x1526db04,
+ 0x8316dc73, 0x120b63e3, 0x843b6494, 0x3e6a6d0d, 0xa85a6a7a,
+ 0x0bcf0ee4, 0x9dff0993, 0x27ae000a, 0xb19e077d, 0x44930ff0,
+ 0xd2a30887, 0x68f2011e, 0xfec20669, 0x5d5762f7, 0xcb676580,
+ 0x71366c19, 0xe7066b6e, 0x761bd4fe, 0xe02bd389, 0x5a7ada10,
+ 0xcc4add67, 0x6fdfb9f9, 0xf9efbe8e, 0x43beb717, 0xd58eb060,
+ 0xe8a3d6d6, 0x7e93d1a1, 0xc4c2d838, 0x52f2df4f, 0xf167bbd1,
+ 0x6757bca6, 0xdd06b53f, 0x4b36b248, 0xda2b0dd8, 0x4c1b0aaf,
+ 0xf64a0336, 0x607a0441, 0xc3ef60df, 0x55df67a8, 0xef8e6e31,
+ 0x79be6946, 0x8cb361cb, 0x1a8366bc, 0xa0d26f25, 0x36e26852,
+ 0x95770ccc, 0x03470bbb, 0xb9160222, 0x2f260555, 0xbe3bbac5,
+ 0x280bbdb2, 0x925ab42b, 0x046ab35c, 0xa7ffd7c2, 0x31cfd0b5,
+ 0x8b9ed92c, 0x1daede5b, 0xb0c2649b, 0x26f263ec, 0x9ca36a75,
+ 0x0a936d02, 0xa906099c, 0x3f360eeb, 0x85670772, 0x13570005,
+ 0x824abf95, 0x147ab8e2, 0xae2bb17b, 0x381bb60c, 0x9b8ed292,
+ 0x0dbed5e5, 0xb7efdc7c, 0x21dfdb0b, 0xd4d2d386, 0x42e2d4f1,
+ 0xf8b3dd68, 0x6e83da1f, 0xcd16be81, 0x5b26b9f6, 0xe177b06f,
+ 0x7747b718, 0xe65a0888, 0x706a0fff, 0xca3b0666, 0x5c0b0111,
+ 0xff9e658f, 0x69ae62f8, 0xd3ff6b61, 0x45cf6c16, 0x78e20aa0,
+ 0xeed20dd7, 0x5483044e, 0xc2b30339, 0x612667a7, 0xf71660d0,
+ 0x4d476949, 0xdb776e3e, 0x4a6ad1ae, 0xdc5ad6d9, 0x660bdf40,
+ 0xf03bd837, 0x53aebca9, 0xc59ebbde, 0x7fcfb247, 0xe9ffb530,
+ 0x1cf2bdbd, 0x8ac2baca, 0x3093b353, 0xa6a3b424, 0x0536d0ba,
+ 0x9306d7cd, 0x2957de54, 0xbf67d923, 0x2e7a66b3, 0xb84a61c4,
+ 0x021b685d, 0x942b6f2a, 0x37be0bb4, 0xa18e0cc3, 0x1bdf055a,
+ 0x8def022d};
+
+#endif
+
+#if N == 1
+
+#if W == 8
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0xccaa009e, 0x4225077d, 0x8e8f07e3, 0x844a0efa,
+ 0x48e00e64, 0xc66f0987, 0x0ac50919, 0xd3e51bb5, 0x1f4f1b2b,
+ 0x91c01cc8, 0x5d6a1c56, 0x57af154f, 0x9b0515d1, 0x158a1232,
+ 0xd92012ac, 0x7cbb312b, 0xb01131b5, 0x3e9e3656, 0xf23436c8,
+ 0xf8f13fd1, 0x345b3f4f, 0xbad438ac, 0x767e3832, 0xaf5e2a9e,
+ 0x63f42a00, 0xed7b2de3, 0x21d12d7d, 0x2b142464, 0xe7be24fa,
+ 0x69312319, 0xa59b2387, 0xf9766256, 0x35dc62c8, 0xbb53652b,
+ 0x77f965b5, 0x7d3c6cac, 0xb1966c32, 0x3f196bd1, 0xf3b36b4f,
+ 0x2a9379e3, 0xe639797d, 0x68b67e9e, 0xa41c7e00, 0xaed97719,
+ 0x62737787, 0xecfc7064, 0x205670fa, 0x85cd537d, 0x496753e3,
+ 0xc7e85400, 0x0b42549e, 0x01875d87, 0xcd2d5d19, 0x43a25afa,
+ 0x8f085a64, 0x562848c8, 0x9a824856, 0x140d4fb5, 0xd8a74f2b,
+ 0xd2624632, 0x1ec846ac, 0x9047414f, 0x5ced41d1, 0x299dc2ed,
+ 0xe537c273, 0x6bb8c590, 0xa712c50e, 0xadd7cc17, 0x617dcc89,
+ 0xeff2cb6a, 0x2358cbf4, 0xfa78d958, 0x36d2d9c6, 0xb85dde25,
+ 0x74f7debb, 0x7e32d7a2, 0xb298d73c, 0x3c17d0df, 0xf0bdd041,
+ 0x5526f3c6, 0x998cf358, 0x1703f4bb, 0xdba9f425, 0xd16cfd3c,
+ 0x1dc6fda2, 0x9349fa41, 0x5fe3fadf, 0x86c3e873, 0x4a69e8ed,
+ 0xc4e6ef0e, 0x084cef90, 0x0289e689, 0xce23e617, 0x40ace1f4,
+ 0x8c06e16a, 0xd0eba0bb, 0x1c41a025, 0x92cea7c6, 0x5e64a758,
+ 0x54a1ae41, 0x980baedf, 0x1684a93c, 0xda2ea9a2, 0x030ebb0e,
+ 0xcfa4bb90, 0x412bbc73, 0x8d81bced, 0x8744b5f4, 0x4beeb56a,
+ 0xc561b289, 0x09cbb217, 0xac509190, 0x60fa910e, 0xee7596ed,
+ 0x22df9673, 0x281a9f6a, 0xe4b09ff4, 0x6a3f9817, 0xa6959889,
+ 0x7fb58a25, 0xb31f8abb, 0x3d908d58, 0xf13a8dc6, 0xfbff84df,
+ 0x37558441, 0xb9da83a2, 0x7570833c, 0x533b85da, 0x9f918544,
+ 0x111e82a7, 0xddb48239, 0xd7718b20, 0x1bdb8bbe, 0x95548c5d,
+ 0x59fe8cc3, 0x80de9e6f, 0x4c749ef1, 0xc2fb9912, 0x0e51998c,
+ 0x04949095, 0xc83e900b, 0x46b197e8, 0x8a1b9776, 0x2f80b4f1,
+ 0xe32ab46f, 0x6da5b38c, 0xa10fb312, 0xabcaba0b, 0x6760ba95,
+ 0xe9efbd76, 0x2545bde8, 0xfc65af44, 0x30cfafda, 0xbe40a839,
+ 0x72eaa8a7, 0x782fa1be, 0xb485a120, 0x3a0aa6c3, 0xf6a0a65d,
+ 0xaa4de78c, 0x66e7e712, 0xe868e0f1, 0x24c2e06f, 0x2e07e976,
+ 0xe2ade9e8, 0x6c22ee0b, 0xa088ee95, 0x79a8fc39, 0xb502fca7,
+ 0x3b8dfb44, 0xf727fbda, 0xfde2f2c3, 0x3148f25d, 0xbfc7f5be,
+ 0x736df520, 0xd6f6d6a7, 0x1a5cd639, 0x94d3d1da, 0x5879d144,
+ 0x52bcd85d, 0x9e16d8c3, 0x1099df20, 0xdc33dfbe, 0x0513cd12,
+ 0xc9b9cd8c, 0x4736ca6f, 0x8b9ccaf1, 0x8159c3e8, 0x4df3c376,
+ 0xc37cc495, 0x0fd6c40b, 0x7aa64737, 0xb60c47a9, 0x3883404a,
+ 0xf42940d4, 0xfeec49cd, 0x32464953, 0xbcc94eb0, 0x70634e2e,
+ 0xa9435c82, 0x65e95c1c, 0xeb665bff, 0x27cc5b61, 0x2d095278,
+ 0xe1a352e6, 0x6f2c5505, 0xa386559b, 0x061d761c, 0xcab77682,
+ 0x44387161, 0x889271ff, 0x825778e6, 0x4efd7878, 0xc0727f9b,
+ 0x0cd87f05, 0xd5f86da9, 0x19526d37, 0x97dd6ad4, 0x5b776a4a,
+ 0x51b26353, 0x9d1863cd, 0x1397642e, 0xdf3d64b0, 0x83d02561,
+ 0x4f7a25ff, 0xc1f5221c, 0x0d5f2282, 0x079a2b9b, 0xcb302b05,
+ 0x45bf2ce6, 0x89152c78, 0x50353ed4, 0x9c9f3e4a, 0x121039a9,
+ 0xdeba3937, 0xd47f302e, 0x18d530b0, 0x965a3753, 0x5af037cd,
+ 0xff6b144a, 0x33c114d4, 0xbd4e1337, 0x71e413a9, 0x7b211ab0,
+ 0xb78b1a2e, 0x39041dcd, 0xf5ae1d53, 0x2c8e0fff, 0xe0240f61,
+ 0x6eab0882, 0xa201081c, 0xa8c40105, 0x646e019b, 0xeae10678,
+ 0x264b06e6},
+ {0x00000000, 0xa6770bb4, 0x979f1129, 0x31e81a9d, 0xf44f2413,
+ 0x52382fa7, 0x63d0353a, 0xc5a73e8e, 0x33ef4e67, 0x959845d3,
+ 0xa4705f4e, 0x020754fa, 0xc7a06a74, 0x61d761c0, 0x503f7b5d,
+ 0xf64870e9, 0x67de9cce, 0xc1a9977a, 0xf0418de7, 0x56368653,
+ 0x9391b8dd, 0x35e6b369, 0x040ea9f4, 0xa279a240, 0x5431d2a9,
+ 0xf246d91d, 0xc3aec380, 0x65d9c834, 0xa07ef6ba, 0x0609fd0e,
+ 0x37e1e793, 0x9196ec27, 0xcfbd399c, 0x69ca3228, 0x582228b5,
+ 0xfe552301, 0x3bf21d8f, 0x9d85163b, 0xac6d0ca6, 0x0a1a0712,
+ 0xfc5277fb, 0x5a257c4f, 0x6bcd66d2, 0xcdba6d66, 0x081d53e8,
+ 0xae6a585c, 0x9f8242c1, 0x39f54975, 0xa863a552, 0x0e14aee6,
+ 0x3ffcb47b, 0x998bbfcf, 0x5c2c8141, 0xfa5b8af5, 0xcbb39068,
+ 0x6dc49bdc, 0x9b8ceb35, 0x3dfbe081, 0x0c13fa1c, 0xaa64f1a8,
+ 0x6fc3cf26, 0xc9b4c492, 0xf85cde0f, 0x5e2bd5bb, 0x440b7579,
+ 0xe27c7ecd, 0xd3946450, 0x75e36fe4, 0xb044516a, 0x16335ade,
+ 0x27db4043, 0x81ac4bf7, 0x77e43b1e, 0xd19330aa, 0xe07b2a37,
+ 0x460c2183, 0x83ab1f0d, 0x25dc14b9, 0x14340e24, 0xb2430590,
+ 0x23d5e9b7, 0x85a2e203, 0xb44af89e, 0x123df32a, 0xd79acda4,
+ 0x71edc610, 0x4005dc8d, 0xe672d739, 0x103aa7d0, 0xb64dac64,
+ 0x87a5b6f9, 0x21d2bd4d, 0xe47583c3, 0x42028877, 0x73ea92ea,
+ 0xd59d995e, 0x8bb64ce5, 0x2dc14751, 0x1c295dcc, 0xba5e5678,
+ 0x7ff968f6, 0xd98e6342, 0xe86679df, 0x4e11726b, 0xb8590282,
+ 0x1e2e0936, 0x2fc613ab, 0x89b1181f, 0x4c162691, 0xea612d25,
+ 0xdb8937b8, 0x7dfe3c0c, 0xec68d02b, 0x4a1fdb9f, 0x7bf7c102,
+ 0xdd80cab6, 0x1827f438, 0xbe50ff8c, 0x8fb8e511, 0x29cfeea5,
+ 0xdf879e4c, 0x79f095f8, 0x48188f65, 0xee6f84d1, 0x2bc8ba5f,
+ 0x8dbfb1eb, 0xbc57ab76, 0x1a20a0c2, 0x8816eaf2, 0x2e61e146,
+ 0x1f89fbdb, 0xb9fef06f, 0x7c59cee1, 0xda2ec555, 0xebc6dfc8,
+ 0x4db1d47c, 0xbbf9a495, 0x1d8eaf21, 0x2c66b5bc, 0x8a11be08,
+ 0x4fb68086, 0xe9c18b32, 0xd82991af, 0x7e5e9a1b, 0xefc8763c,
+ 0x49bf7d88, 0x78576715, 0xde206ca1, 0x1b87522f, 0xbdf0599b,
+ 0x8c184306, 0x2a6f48b2, 0xdc27385b, 0x7a5033ef, 0x4bb82972,
+ 0xedcf22c6, 0x28681c48, 0x8e1f17fc, 0xbff70d61, 0x198006d5,
+ 0x47abd36e, 0xe1dcd8da, 0xd034c247, 0x7643c9f3, 0xb3e4f77d,
+ 0x1593fcc9, 0x247be654, 0x820cede0, 0x74449d09, 0xd23396bd,
+ 0xe3db8c20, 0x45ac8794, 0x800bb91a, 0x267cb2ae, 0x1794a833,
+ 0xb1e3a387, 0x20754fa0, 0x86024414, 0xb7ea5e89, 0x119d553d,
+ 0xd43a6bb3, 0x724d6007, 0x43a57a9a, 0xe5d2712e, 0x139a01c7,
+ 0xb5ed0a73, 0x840510ee, 0x22721b5a, 0xe7d525d4, 0x41a22e60,
+ 0x704a34fd, 0xd63d3f49, 0xcc1d9f8b, 0x6a6a943f, 0x5b828ea2,
+ 0xfdf58516, 0x3852bb98, 0x9e25b02c, 0xafcdaab1, 0x09baa105,
+ 0xfff2d1ec, 0x5985da58, 0x686dc0c5, 0xce1acb71, 0x0bbdf5ff,
+ 0xadcafe4b, 0x9c22e4d6, 0x3a55ef62, 0xabc30345, 0x0db408f1,
+ 0x3c5c126c, 0x9a2b19d8, 0x5f8c2756, 0xf9fb2ce2, 0xc813367f,
+ 0x6e643dcb, 0x982c4d22, 0x3e5b4696, 0x0fb35c0b, 0xa9c457bf,
+ 0x6c636931, 0xca146285, 0xfbfc7818, 0x5d8b73ac, 0x03a0a617,
+ 0xa5d7ada3, 0x943fb73e, 0x3248bc8a, 0xf7ef8204, 0x519889b0,
+ 0x6070932d, 0xc6079899, 0x304fe870, 0x9638e3c4, 0xa7d0f959,
+ 0x01a7f2ed, 0xc400cc63, 0x6277c7d7, 0x539fdd4a, 0xf5e8d6fe,
+ 0x647e3ad9, 0xc209316d, 0xf3e12bf0, 0x55962044, 0x90311eca,
+ 0x3646157e, 0x07ae0fe3, 0xa1d90457, 0x579174be, 0xf1e67f0a,
+ 0xc00e6597, 0x66796e23, 0xa3de50ad, 0x05a95b19, 0x34414184,
+ 0x92364a30},
+ {0x00000000, 0xcb5cd3a5, 0x4dc8a10b, 0x869472ae, 0x9b914216,
+ 0x50cd91b3, 0xd659e31d, 0x1d0530b8, 0xec53826d, 0x270f51c8,
+ 0xa19b2366, 0x6ac7f0c3, 0x77c2c07b, 0xbc9e13de, 0x3a0a6170,
+ 0xf156b2d5, 0x03d6029b, 0xc88ad13e, 0x4e1ea390, 0x85427035,
+ 0x9847408d, 0x531b9328, 0xd58fe186, 0x1ed33223, 0xef8580f6,
+ 0x24d95353, 0xa24d21fd, 0x6911f258, 0x7414c2e0, 0xbf481145,
+ 0x39dc63eb, 0xf280b04e, 0x07ac0536, 0xccf0d693, 0x4a64a43d,
+ 0x81387798, 0x9c3d4720, 0x57619485, 0xd1f5e62b, 0x1aa9358e,
+ 0xebff875b, 0x20a354fe, 0xa6372650, 0x6d6bf5f5, 0x706ec54d,
+ 0xbb3216e8, 0x3da66446, 0xf6fab7e3, 0x047a07ad, 0xcf26d408,
+ 0x49b2a6a6, 0x82ee7503, 0x9feb45bb, 0x54b7961e, 0xd223e4b0,
+ 0x197f3715, 0xe82985c0, 0x23755665, 0xa5e124cb, 0x6ebdf76e,
+ 0x73b8c7d6, 0xb8e41473, 0x3e7066dd, 0xf52cb578, 0x0f580a6c,
+ 0xc404d9c9, 0x4290ab67, 0x89cc78c2, 0x94c9487a, 0x5f959bdf,
+ 0xd901e971, 0x125d3ad4, 0xe30b8801, 0x28575ba4, 0xaec3290a,
+ 0x659ffaaf, 0x789aca17, 0xb3c619b2, 0x35526b1c, 0xfe0eb8b9,
+ 0x0c8e08f7, 0xc7d2db52, 0x4146a9fc, 0x8a1a7a59, 0x971f4ae1,
+ 0x5c439944, 0xdad7ebea, 0x118b384f, 0xe0dd8a9a, 0x2b81593f,
+ 0xad152b91, 0x6649f834, 0x7b4cc88c, 0xb0101b29, 0x36846987,
+ 0xfdd8ba22, 0x08f40f5a, 0xc3a8dcff, 0x453cae51, 0x8e607df4,
+ 0x93654d4c, 0x58399ee9, 0xdeadec47, 0x15f13fe2, 0xe4a78d37,
+ 0x2ffb5e92, 0xa96f2c3c, 0x6233ff99, 0x7f36cf21, 0xb46a1c84,
+ 0x32fe6e2a, 0xf9a2bd8f, 0x0b220dc1, 0xc07ede64, 0x46eaacca,
+ 0x8db67f6f, 0x90b34fd7, 0x5bef9c72, 0xdd7beedc, 0x16273d79,
+ 0xe7718fac, 0x2c2d5c09, 0xaab92ea7, 0x61e5fd02, 0x7ce0cdba,
+ 0xb7bc1e1f, 0x31286cb1, 0xfa74bf14, 0x1eb014d8, 0xd5ecc77d,
+ 0x5378b5d3, 0x98246676, 0x852156ce, 0x4e7d856b, 0xc8e9f7c5,
+ 0x03b52460, 0xf2e396b5, 0x39bf4510, 0xbf2b37be, 0x7477e41b,
+ 0x6972d4a3, 0xa22e0706, 0x24ba75a8, 0xefe6a60d, 0x1d661643,
+ 0xd63ac5e6, 0x50aeb748, 0x9bf264ed, 0x86f75455, 0x4dab87f0,
+ 0xcb3ff55e, 0x006326fb, 0xf135942e, 0x3a69478b, 0xbcfd3525,
+ 0x77a1e680, 0x6aa4d638, 0xa1f8059d, 0x276c7733, 0xec30a496,
+ 0x191c11ee, 0xd240c24b, 0x54d4b0e5, 0x9f886340, 0x828d53f8,
+ 0x49d1805d, 0xcf45f2f3, 0x04192156, 0xf54f9383, 0x3e134026,
+ 0xb8873288, 0x73dbe12d, 0x6eded195, 0xa5820230, 0x2316709e,
+ 0xe84aa33b, 0x1aca1375, 0xd196c0d0, 0x5702b27e, 0x9c5e61db,
+ 0x815b5163, 0x4a0782c6, 0xcc93f068, 0x07cf23cd, 0xf6999118,
+ 0x3dc542bd, 0xbb513013, 0x700de3b6, 0x6d08d30e, 0xa65400ab,
+ 0x20c07205, 0xeb9ca1a0, 0x11e81eb4, 0xdab4cd11, 0x5c20bfbf,
+ 0x977c6c1a, 0x8a795ca2, 0x41258f07, 0xc7b1fda9, 0x0ced2e0c,
+ 0xfdbb9cd9, 0x36e74f7c, 0xb0733dd2, 0x7b2fee77, 0x662adecf,
+ 0xad760d6a, 0x2be27fc4, 0xe0beac61, 0x123e1c2f, 0xd962cf8a,
+ 0x5ff6bd24, 0x94aa6e81, 0x89af5e39, 0x42f38d9c, 0xc467ff32,
+ 0x0f3b2c97, 0xfe6d9e42, 0x35314de7, 0xb3a53f49, 0x78f9ecec,
+ 0x65fcdc54, 0xaea00ff1, 0x28347d5f, 0xe368aefa, 0x16441b82,
+ 0xdd18c827, 0x5b8cba89, 0x90d0692c, 0x8dd55994, 0x46898a31,
+ 0xc01df89f, 0x0b412b3a, 0xfa1799ef, 0x314b4a4a, 0xb7df38e4,
+ 0x7c83eb41, 0x6186dbf9, 0xaada085c, 0x2c4e7af2, 0xe712a957,
+ 0x15921919, 0xdececabc, 0x585ab812, 0x93066bb7, 0x8e035b0f,
+ 0x455f88aa, 0xc3cbfa04, 0x089729a1, 0xf9c19b74, 0x329d48d1,
+ 0xb4093a7f, 0x7f55e9da, 0x6250d962, 0xa90c0ac7, 0x2f987869,
+ 0xe4c4abcc},
+ {0x00000000, 0x3d6029b0, 0x7ac05360, 0x47a07ad0, 0xf580a6c0,
+ 0xc8e08f70, 0x8f40f5a0, 0xb220dc10, 0x30704bc1, 0x0d106271,
+ 0x4ab018a1, 0x77d03111, 0xc5f0ed01, 0xf890c4b1, 0xbf30be61,
+ 0x825097d1, 0x60e09782, 0x5d80be32, 0x1a20c4e2, 0x2740ed52,
+ 0x95603142, 0xa80018f2, 0xefa06222, 0xd2c04b92, 0x5090dc43,
+ 0x6df0f5f3, 0x2a508f23, 0x1730a693, 0xa5107a83, 0x98705333,
+ 0xdfd029e3, 0xe2b00053, 0xc1c12f04, 0xfca106b4, 0xbb017c64,
+ 0x866155d4, 0x344189c4, 0x0921a074, 0x4e81daa4, 0x73e1f314,
+ 0xf1b164c5, 0xccd14d75, 0x8b7137a5, 0xb6111e15, 0x0431c205,
+ 0x3951ebb5, 0x7ef19165, 0x4391b8d5, 0xa121b886, 0x9c419136,
+ 0xdbe1ebe6, 0xe681c256, 0x54a11e46, 0x69c137f6, 0x2e614d26,
+ 0x13016496, 0x9151f347, 0xac31daf7, 0xeb91a027, 0xd6f18997,
+ 0x64d15587, 0x59b17c37, 0x1e1106e7, 0x23712f57, 0x58f35849,
+ 0x659371f9, 0x22330b29, 0x1f532299, 0xad73fe89, 0x9013d739,
+ 0xd7b3ade9, 0xead38459, 0x68831388, 0x55e33a38, 0x124340e8,
+ 0x2f236958, 0x9d03b548, 0xa0639cf8, 0xe7c3e628, 0xdaa3cf98,
+ 0x3813cfcb, 0x0573e67b, 0x42d39cab, 0x7fb3b51b, 0xcd93690b,
+ 0xf0f340bb, 0xb7533a6b, 0x8a3313db, 0x0863840a, 0x3503adba,
+ 0x72a3d76a, 0x4fc3feda, 0xfde322ca, 0xc0830b7a, 0x872371aa,
+ 0xba43581a, 0x9932774d, 0xa4525efd, 0xe3f2242d, 0xde920d9d,
+ 0x6cb2d18d, 0x51d2f83d, 0x167282ed, 0x2b12ab5d, 0xa9423c8c,
+ 0x9422153c, 0xd3826fec, 0xeee2465c, 0x5cc29a4c, 0x61a2b3fc,
+ 0x2602c92c, 0x1b62e09c, 0xf9d2e0cf, 0xc4b2c97f, 0x8312b3af,
+ 0xbe729a1f, 0x0c52460f, 0x31326fbf, 0x7692156f, 0x4bf23cdf,
+ 0xc9a2ab0e, 0xf4c282be, 0xb362f86e, 0x8e02d1de, 0x3c220dce,
+ 0x0142247e, 0x46e25eae, 0x7b82771e, 0xb1e6b092, 0x8c869922,
+ 0xcb26e3f2, 0xf646ca42, 0x44661652, 0x79063fe2, 0x3ea64532,
+ 0x03c66c82, 0x8196fb53, 0xbcf6d2e3, 0xfb56a833, 0xc6368183,
+ 0x74165d93, 0x49767423, 0x0ed60ef3, 0x33b62743, 0xd1062710,
+ 0xec660ea0, 0xabc67470, 0x96a65dc0, 0x248681d0, 0x19e6a860,
+ 0x5e46d2b0, 0x6326fb00, 0xe1766cd1, 0xdc164561, 0x9bb63fb1,
+ 0xa6d61601, 0x14f6ca11, 0x2996e3a1, 0x6e369971, 0x5356b0c1,
+ 0x70279f96, 0x4d47b626, 0x0ae7ccf6, 0x3787e546, 0x85a73956,
+ 0xb8c710e6, 0xff676a36, 0xc2074386, 0x4057d457, 0x7d37fde7,
+ 0x3a978737, 0x07f7ae87, 0xb5d77297, 0x88b75b27, 0xcf1721f7,
+ 0xf2770847, 0x10c70814, 0x2da721a4, 0x6a075b74, 0x576772c4,
+ 0xe547aed4, 0xd8278764, 0x9f87fdb4, 0xa2e7d404, 0x20b743d5,
+ 0x1dd76a65, 0x5a7710b5, 0x67173905, 0xd537e515, 0xe857cca5,
+ 0xaff7b675, 0x92979fc5, 0xe915e8db, 0xd475c16b, 0x93d5bbbb,
+ 0xaeb5920b, 0x1c954e1b, 0x21f567ab, 0x66551d7b, 0x5b3534cb,
+ 0xd965a31a, 0xe4058aaa, 0xa3a5f07a, 0x9ec5d9ca, 0x2ce505da,
+ 0x11852c6a, 0x562556ba, 0x6b457f0a, 0x89f57f59, 0xb49556e9,
+ 0xf3352c39, 0xce550589, 0x7c75d999, 0x4115f029, 0x06b58af9,
+ 0x3bd5a349, 0xb9853498, 0x84e51d28, 0xc34567f8, 0xfe254e48,
+ 0x4c059258, 0x7165bbe8, 0x36c5c138, 0x0ba5e888, 0x28d4c7df,
+ 0x15b4ee6f, 0x521494bf, 0x6f74bd0f, 0xdd54611f, 0xe03448af,
+ 0xa794327f, 0x9af41bcf, 0x18a48c1e, 0x25c4a5ae, 0x6264df7e,
+ 0x5f04f6ce, 0xed242ade, 0xd044036e, 0x97e479be, 0xaa84500e,
+ 0x4834505d, 0x755479ed, 0x32f4033d, 0x0f942a8d, 0xbdb4f69d,
+ 0x80d4df2d, 0xc774a5fd, 0xfa148c4d, 0x78441b9c, 0x4524322c,
+ 0x028448fc, 0x3fe4614c, 0x8dc4bd5c, 0xb0a494ec, 0xf704ee3c,
+ 0xca64c78c},
+ {0x00000000, 0xb8bc6765, 0xaa09c88b, 0x12b5afee, 0x8f629757,
+ 0x37def032, 0x256b5fdc, 0x9dd738b9, 0xc5b428ef, 0x7d084f8a,
+ 0x6fbde064, 0xd7018701, 0x4ad6bfb8, 0xf26ad8dd, 0xe0df7733,
+ 0x58631056, 0x5019579f, 0xe8a530fa, 0xfa109f14, 0x42acf871,
+ 0xdf7bc0c8, 0x67c7a7ad, 0x75720843, 0xcdce6f26, 0x95ad7f70,
+ 0x2d111815, 0x3fa4b7fb, 0x8718d09e, 0x1acfe827, 0xa2738f42,
+ 0xb0c620ac, 0x087a47c9, 0xa032af3e, 0x188ec85b, 0x0a3b67b5,
+ 0xb28700d0, 0x2f503869, 0x97ec5f0c, 0x8559f0e2, 0x3de59787,
+ 0x658687d1, 0xdd3ae0b4, 0xcf8f4f5a, 0x7733283f, 0xeae41086,
+ 0x525877e3, 0x40edd80d, 0xf851bf68, 0xf02bf8a1, 0x48979fc4,
+ 0x5a22302a, 0xe29e574f, 0x7f496ff6, 0xc7f50893, 0xd540a77d,
+ 0x6dfcc018, 0x359fd04e, 0x8d23b72b, 0x9f9618c5, 0x272a7fa0,
+ 0xbafd4719, 0x0241207c, 0x10f48f92, 0xa848e8f7, 0x9b14583d,
+ 0x23a83f58, 0x311d90b6, 0x89a1f7d3, 0x1476cf6a, 0xaccaa80f,
+ 0xbe7f07e1, 0x06c36084, 0x5ea070d2, 0xe61c17b7, 0xf4a9b859,
+ 0x4c15df3c, 0xd1c2e785, 0x697e80e0, 0x7bcb2f0e, 0xc377486b,
+ 0xcb0d0fa2, 0x73b168c7, 0x6104c729, 0xd9b8a04c, 0x446f98f5,
+ 0xfcd3ff90, 0xee66507e, 0x56da371b, 0x0eb9274d, 0xb6054028,
+ 0xa4b0efc6, 0x1c0c88a3, 0x81dbb01a, 0x3967d77f, 0x2bd27891,
+ 0x936e1ff4, 0x3b26f703, 0x839a9066, 0x912f3f88, 0x299358ed,
+ 0xb4446054, 0x0cf80731, 0x1e4da8df, 0xa6f1cfba, 0xfe92dfec,
+ 0x462eb889, 0x549b1767, 0xec277002, 0x71f048bb, 0xc94c2fde,
+ 0xdbf98030, 0x6345e755, 0x6b3fa09c, 0xd383c7f9, 0xc1366817,
+ 0x798a0f72, 0xe45d37cb, 0x5ce150ae, 0x4e54ff40, 0xf6e89825,
+ 0xae8b8873, 0x1637ef16, 0x048240f8, 0xbc3e279d, 0x21e91f24,
+ 0x99557841, 0x8be0d7af, 0x335cb0ca, 0xed59b63b, 0x55e5d15e,
+ 0x47507eb0, 0xffec19d5, 0x623b216c, 0xda874609, 0xc832e9e7,
+ 0x708e8e82, 0x28ed9ed4, 0x9051f9b1, 0x82e4565f, 0x3a58313a,
+ 0xa78f0983, 0x1f336ee6, 0x0d86c108, 0xb53aa66d, 0xbd40e1a4,
+ 0x05fc86c1, 0x1749292f, 0xaff54e4a, 0x322276f3, 0x8a9e1196,
+ 0x982bbe78, 0x2097d91d, 0x78f4c94b, 0xc048ae2e, 0xd2fd01c0,
+ 0x6a4166a5, 0xf7965e1c, 0x4f2a3979, 0x5d9f9697, 0xe523f1f2,
+ 0x4d6b1905, 0xf5d77e60, 0xe762d18e, 0x5fdeb6eb, 0xc2098e52,
+ 0x7ab5e937, 0x680046d9, 0xd0bc21bc, 0x88df31ea, 0x3063568f,
+ 0x22d6f961, 0x9a6a9e04, 0x07bda6bd, 0xbf01c1d8, 0xadb46e36,
+ 0x15080953, 0x1d724e9a, 0xa5ce29ff, 0xb77b8611, 0x0fc7e174,
+ 0x9210d9cd, 0x2aacbea8, 0x38191146, 0x80a57623, 0xd8c66675,
+ 0x607a0110, 0x72cfaefe, 0xca73c99b, 0x57a4f122, 0xef189647,
+ 0xfdad39a9, 0x45115ecc, 0x764dee06, 0xcef18963, 0xdc44268d,
+ 0x64f841e8, 0xf92f7951, 0x41931e34, 0x5326b1da, 0xeb9ad6bf,
+ 0xb3f9c6e9, 0x0b45a18c, 0x19f00e62, 0xa14c6907, 0x3c9b51be,
+ 0x842736db, 0x96929935, 0x2e2efe50, 0x2654b999, 0x9ee8defc,
+ 0x8c5d7112, 0x34e11677, 0xa9362ece, 0x118a49ab, 0x033fe645,
+ 0xbb838120, 0xe3e09176, 0x5b5cf613, 0x49e959fd, 0xf1553e98,
+ 0x6c820621, 0xd43e6144, 0xc68bceaa, 0x7e37a9cf, 0xd67f4138,
+ 0x6ec3265d, 0x7c7689b3, 0xc4caeed6, 0x591dd66f, 0xe1a1b10a,
+ 0xf3141ee4, 0x4ba87981, 0x13cb69d7, 0xab770eb2, 0xb9c2a15c,
+ 0x017ec639, 0x9ca9fe80, 0x241599e5, 0x36a0360b, 0x8e1c516e,
+ 0x866616a7, 0x3eda71c2, 0x2c6fde2c, 0x94d3b949, 0x090481f0,
+ 0xb1b8e695, 0xa30d497b, 0x1bb12e1e, 0x43d23e48, 0xfb6e592d,
+ 0xe9dbf6c3, 0x516791a6, 0xccb0a91f, 0x740cce7a, 0x66b96194,
+ 0xde0506f1},
+ {0x00000000, 0x01c26a37, 0x0384d46e, 0x0246be59, 0x0709a8dc,
+ 0x06cbc2eb, 0x048d7cb2, 0x054f1685, 0x0e1351b8, 0x0fd13b8f,
+ 0x0d9785d6, 0x0c55efe1, 0x091af964, 0x08d89353, 0x0a9e2d0a,
+ 0x0b5c473d, 0x1c26a370, 0x1de4c947, 0x1fa2771e, 0x1e601d29,
+ 0x1b2f0bac, 0x1aed619b, 0x18abdfc2, 0x1969b5f5, 0x1235f2c8,
+ 0x13f798ff, 0x11b126a6, 0x10734c91, 0x153c5a14, 0x14fe3023,
+ 0x16b88e7a, 0x177ae44d, 0x384d46e0, 0x398f2cd7, 0x3bc9928e,
+ 0x3a0bf8b9, 0x3f44ee3c, 0x3e86840b, 0x3cc03a52, 0x3d025065,
+ 0x365e1758, 0x379c7d6f, 0x35dac336, 0x3418a901, 0x3157bf84,
+ 0x3095d5b3, 0x32d36bea, 0x331101dd, 0x246be590, 0x25a98fa7,
+ 0x27ef31fe, 0x262d5bc9, 0x23624d4c, 0x22a0277b, 0x20e69922,
+ 0x2124f315, 0x2a78b428, 0x2bbade1f, 0x29fc6046, 0x283e0a71,
+ 0x2d711cf4, 0x2cb376c3, 0x2ef5c89a, 0x2f37a2ad, 0x709a8dc0,
+ 0x7158e7f7, 0x731e59ae, 0x72dc3399, 0x7793251c, 0x76514f2b,
+ 0x7417f172, 0x75d59b45, 0x7e89dc78, 0x7f4bb64f, 0x7d0d0816,
+ 0x7ccf6221, 0x798074a4, 0x78421e93, 0x7a04a0ca, 0x7bc6cafd,
+ 0x6cbc2eb0, 0x6d7e4487, 0x6f38fade, 0x6efa90e9, 0x6bb5866c,
+ 0x6a77ec5b, 0x68315202, 0x69f33835, 0x62af7f08, 0x636d153f,
+ 0x612bab66, 0x60e9c151, 0x65a6d7d4, 0x6464bde3, 0x662203ba,
+ 0x67e0698d, 0x48d7cb20, 0x4915a117, 0x4b531f4e, 0x4a917579,
+ 0x4fde63fc, 0x4e1c09cb, 0x4c5ab792, 0x4d98dda5, 0x46c49a98,
+ 0x4706f0af, 0x45404ef6, 0x448224c1, 0x41cd3244, 0x400f5873,
+ 0x4249e62a, 0x438b8c1d, 0x54f16850, 0x55330267, 0x5775bc3e,
+ 0x56b7d609, 0x53f8c08c, 0x523aaabb, 0x507c14e2, 0x51be7ed5,
+ 0x5ae239e8, 0x5b2053df, 0x5966ed86, 0x58a487b1, 0x5deb9134,
+ 0x5c29fb03, 0x5e6f455a, 0x5fad2f6d, 0xe1351b80, 0xe0f771b7,
+ 0xe2b1cfee, 0xe373a5d9, 0xe63cb35c, 0xe7fed96b, 0xe5b86732,
+ 0xe47a0d05, 0xef264a38, 0xeee4200f, 0xeca29e56, 0xed60f461,
+ 0xe82fe2e4, 0xe9ed88d3, 0xebab368a, 0xea695cbd, 0xfd13b8f0,
+ 0xfcd1d2c7, 0xfe976c9e, 0xff5506a9, 0xfa1a102c, 0xfbd87a1b,
+ 0xf99ec442, 0xf85cae75, 0xf300e948, 0xf2c2837f, 0xf0843d26,
+ 0xf1465711, 0xf4094194, 0xf5cb2ba3, 0xf78d95fa, 0xf64fffcd,
+ 0xd9785d60, 0xd8ba3757, 0xdafc890e, 0xdb3ee339, 0xde71f5bc,
+ 0xdfb39f8b, 0xddf521d2, 0xdc374be5, 0xd76b0cd8, 0xd6a966ef,
+ 0xd4efd8b6, 0xd52db281, 0xd062a404, 0xd1a0ce33, 0xd3e6706a,
+ 0xd2241a5d, 0xc55efe10, 0xc49c9427, 0xc6da2a7e, 0xc7184049,
+ 0xc25756cc, 0xc3953cfb, 0xc1d382a2, 0xc011e895, 0xcb4dafa8,
+ 0xca8fc59f, 0xc8c97bc6, 0xc90b11f1, 0xcc440774, 0xcd866d43,
+ 0xcfc0d31a, 0xce02b92d, 0x91af9640, 0x906dfc77, 0x922b422e,
+ 0x93e92819, 0x96a63e9c, 0x976454ab, 0x9522eaf2, 0x94e080c5,
+ 0x9fbcc7f8, 0x9e7eadcf, 0x9c381396, 0x9dfa79a1, 0x98b56f24,
+ 0x99770513, 0x9b31bb4a, 0x9af3d17d, 0x8d893530, 0x8c4b5f07,
+ 0x8e0de15e, 0x8fcf8b69, 0x8a809dec, 0x8b42f7db, 0x89044982,
+ 0x88c623b5, 0x839a6488, 0x82580ebf, 0x801eb0e6, 0x81dcdad1,
+ 0x8493cc54, 0x8551a663, 0x8717183a, 0x86d5720d, 0xa9e2d0a0,
+ 0xa820ba97, 0xaa6604ce, 0xaba46ef9, 0xaeeb787c, 0xaf29124b,
+ 0xad6fac12, 0xacadc625, 0xa7f18118, 0xa633eb2f, 0xa4755576,
+ 0xa5b73f41, 0xa0f829c4, 0xa13a43f3, 0xa37cfdaa, 0xa2be979d,
+ 0xb5c473d0, 0xb40619e7, 0xb640a7be, 0xb782cd89, 0xb2cddb0c,
+ 0xb30fb13b, 0xb1490f62, 0xb08b6555, 0xbbd72268, 0xba15485f,
+ 0xb853f606, 0xb9919c31, 0xbcde8ab4, 0xbd1ce083, 0xbf5a5eda,
+ 0xbe9834ed},
+ {0x00000000, 0x191b3141, 0x32366282, 0x2b2d53c3, 0x646cc504,
+ 0x7d77f445, 0x565aa786, 0x4f4196c7, 0xc8d98a08, 0xd1c2bb49,
+ 0xfaefe88a, 0xe3f4d9cb, 0xacb54f0c, 0xb5ae7e4d, 0x9e832d8e,
+ 0x87981ccf, 0x4ac21251, 0x53d92310, 0x78f470d3, 0x61ef4192,
+ 0x2eaed755, 0x37b5e614, 0x1c98b5d7, 0x05838496, 0x821b9859,
+ 0x9b00a918, 0xb02dfadb, 0xa936cb9a, 0xe6775d5d, 0xff6c6c1c,
+ 0xd4413fdf, 0xcd5a0e9e, 0x958424a2, 0x8c9f15e3, 0xa7b24620,
+ 0xbea97761, 0xf1e8e1a6, 0xe8f3d0e7, 0xc3de8324, 0xdac5b265,
+ 0x5d5daeaa, 0x44469feb, 0x6f6bcc28, 0x7670fd69, 0x39316bae,
+ 0x202a5aef, 0x0b07092c, 0x121c386d, 0xdf4636f3, 0xc65d07b2,
+ 0xed705471, 0xf46b6530, 0xbb2af3f7, 0xa231c2b6, 0x891c9175,
+ 0x9007a034, 0x179fbcfb, 0x0e848dba, 0x25a9de79, 0x3cb2ef38,
+ 0x73f379ff, 0x6ae848be, 0x41c51b7d, 0x58de2a3c, 0xf0794f05,
+ 0xe9627e44, 0xc24f2d87, 0xdb541cc6, 0x94158a01, 0x8d0ebb40,
+ 0xa623e883, 0xbf38d9c2, 0x38a0c50d, 0x21bbf44c, 0x0a96a78f,
+ 0x138d96ce, 0x5ccc0009, 0x45d73148, 0x6efa628b, 0x77e153ca,
+ 0xbabb5d54, 0xa3a06c15, 0x888d3fd6, 0x91960e97, 0xded79850,
+ 0xc7cca911, 0xece1fad2, 0xf5facb93, 0x7262d75c, 0x6b79e61d,
+ 0x4054b5de, 0x594f849f, 0x160e1258, 0x0f152319, 0x243870da,
+ 0x3d23419b, 0x65fd6ba7, 0x7ce65ae6, 0x57cb0925, 0x4ed03864,
+ 0x0191aea3, 0x188a9fe2, 0x33a7cc21, 0x2abcfd60, 0xad24e1af,
+ 0xb43fd0ee, 0x9f12832d, 0x8609b26c, 0xc94824ab, 0xd05315ea,
+ 0xfb7e4629, 0xe2657768, 0x2f3f79f6, 0x362448b7, 0x1d091b74,
+ 0x04122a35, 0x4b53bcf2, 0x52488db3, 0x7965de70, 0x607eef31,
+ 0xe7e6f3fe, 0xfefdc2bf, 0xd5d0917c, 0xcccba03d, 0x838a36fa,
+ 0x9a9107bb, 0xb1bc5478, 0xa8a76539, 0x3b83984b, 0x2298a90a,
+ 0x09b5fac9, 0x10aecb88, 0x5fef5d4f, 0x46f46c0e, 0x6dd93fcd,
+ 0x74c20e8c, 0xf35a1243, 0xea412302, 0xc16c70c1, 0xd8774180,
+ 0x9736d747, 0x8e2de606, 0xa500b5c5, 0xbc1b8484, 0x71418a1a,
+ 0x685abb5b, 0x4377e898, 0x5a6cd9d9, 0x152d4f1e, 0x0c367e5f,
+ 0x271b2d9c, 0x3e001cdd, 0xb9980012, 0xa0833153, 0x8bae6290,
+ 0x92b553d1, 0xddf4c516, 0xc4eff457, 0xefc2a794, 0xf6d996d5,
+ 0xae07bce9, 0xb71c8da8, 0x9c31de6b, 0x852aef2a, 0xca6b79ed,
+ 0xd37048ac, 0xf85d1b6f, 0xe1462a2e, 0x66de36e1, 0x7fc507a0,
+ 0x54e85463, 0x4df36522, 0x02b2f3e5, 0x1ba9c2a4, 0x30849167,
+ 0x299fa026, 0xe4c5aeb8, 0xfdde9ff9, 0xd6f3cc3a, 0xcfe8fd7b,
+ 0x80a96bbc, 0x99b25afd, 0xb29f093e, 0xab84387f, 0x2c1c24b0,
+ 0x350715f1, 0x1e2a4632, 0x07317773, 0x4870e1b4, 0x516bd0f5,
+ 0x7a468336, 0x635db277, 0xcbfad74e, 0xd2e1e60f, 0xf9ccb5cc,
+ 0xe0d7848d, 0xaf96124a, 0xb68d230b, 0x9da070c8, 0x84bb4189,
+ 0x03235d46, 0x1a386c07, 0x31153fc4, 0x280e0e85, 0x674f9842,
+ 0x7e54a903, 0x5579fac0, 0x4c62cb81, 0x8138c51f, 0x9823f45e,
+ 0xb30ea79d, 0xaa1596dc, 0xe554001b, 0xfc4f315a, 0xd7626299,
+ 0xce7953d8, 0x49e14f17, 0x50fa7e56, 0x7bd72d95, 0x62cc1cd4,
+ 0x2d8d8a13, 0x3496bb52, 0x1fbbe891, 0x06a0d9d0, 0x5e7ef3ec,
+ 0x4765c2ad, 0x6c48916e, 0x7553a02f, 0x3a1236e8, 0x230907a9,
+ 0x0824546a, 0x113f652b, 0x96a779e4, 0x8fbc48a5, 0xa4911b66,
+ 0xbd8a2a27, 0xf2cbbce0, 0xebd08da1, 0xc0fdde62, 0xd9e6ef23,
+ 0x14bce1bd, 0x0da7d0fc, 0x268a833f, 0x3f91b27e, 0x70d024b9,
+ 0x69cb15f8, 0x42e6463b, 0x5bfd777a, 0xdc656bb5, 0xc57e5af4,
+ 0xee530937, 0xf7483876, 0xb809aeb1, 0xa1129ff0, 0x8a3fcc33,
+ 0x9324fd72},
+ {0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
+ 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
+ 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
+ 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+ 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
+ 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+ 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
+ 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+ 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
+ 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
+ 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
+ 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+ 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
+ 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
+ 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
+ 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+ 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
+ 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+ 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
+ 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+ 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
+ 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
+ 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
+ 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+ 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
+ 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
+ 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
+ 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+ 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
+ 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+ 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
+ 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+ 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
+ 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
+ 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
+ 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+ 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
+ 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
+ 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
+ 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+ 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
+ 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+ 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
+ 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+ 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
+ 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
+ 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
+ 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+ 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
+ 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
+ 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
+ 0x2d02ef8d}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x0000000000000000, 0x9630077700000000, 0x2c610eee00000000,
+ 0xba51099900000000, 0x19c46d0700000000, 0x8ff46a7000000000,
+ 0x35a563e900000000, 0xa395649e00000000, 0x3288db0e00000000,
+ 0xa4b8dc7900000000, 0x1ee9d5e000000000, 0x88d9d29700000000,
+ 0x2b4cb60900000000, 0xbd7cb17e00000000, 0x072db8e700000000,
+ 0x911dbf9000000000, 0x6410b71d00000000, 0xf220b06a00000000,
+ 0x4871b9f300000000, 0xde41be8400000000, 0x7dd4da1a00000000,
+ 0xebe4dd6d00000000, 0x51b5d4f400000000, 0xc785d38300000000,
+ 0x56986c1300000000, 0xc0a86b6400000000, 0x7af962fd00000000,
+ 0xecc9658a00000000, 0x4f5c011400000000, 0xd96c066300000000,
+ 0x633d0ffa00000000, 0xf50d088d00000000, 0xc8206e3b00000000,
+ 0x5e10694c00000000, 0xe44160d500000000, 0x727167a200000000,
+ 0xd1e4033c00000000, 0x47d4044b00000000, 0xfd850dd200000000,
+ 0x6bb50aa500000000, 0xfaa8b53500000000, 0x6c98b24200000000,
+ 0xd6c9bbdb00000000, 0x40f9bcac00000000, 0xe36cd83200000000,
+ 0x755cdf4500000000, 0xcf0dd6dc00000000, 0x593dd1ab00000000,
+ 0xac30d92600000000, 0x3a00de5100000000, 0x8051d7c800000000,
+ 0x1661d0bf00000000, 0xb5f4b42100000000, 0x23c4b35600000000,
+ 0x9995bacf00000000, 0x0fa5bdb800000000, 0x9eb8022800000000,
+ 0x0888055f00000000, 0xb2d90cc600000000, 0x24e90bb100000000,
+ 0x877c6f2f00000000, 0x114c685800000000, 0xab1d61c100000000,
+ 0x3d2d66b600000000, 0x9041dc7600000000, 0x0671db0100000000,
+ 0xbc20d29800000000, 0x2a10d5ef00000000, 0x8985b17100000000,
+ 0x1fb5b60600000000, 0xa5e4bf9f00000000, 0x33d4b8e800000000,
+ 0xa2c9077800000000, 0x34f9000f00000000, 0x8ea8099600000000,
+ 0x18980ee100000000, 0xbb0d6a7f00000000, 0x2d3d6d0800000000,
+ 0x976c649100000000, 0x015c63e600000000, 0xf4516b6b00000000,
+ 0x62616c1c00000000, 0xd830658500000000, 0x4e0062f200000000,
+ 0xed95066c00000000, 0x7ba5011b00000000, 0xc1f4088200000000,
+ 0x57c40ff500000000, 0xc6d9b06500000000, 0x50e9b71200000000,
+ 0xeab8be8b00000000, 0x7c88b9fc00000000, 0xdf1ddd6200000000,
+ 0x492dda1500000000, 0xf37cd38c00000000, 0x654cd4fb00000000,
+ 0x5861b24d00000000, 0xce51b53a00000000, 0x7400bca300000000,
+ 0xe230bbd400000000, 0x41a5df4a00000000, 0xd795d83d00000000,
+ 0x6dc4d1a400000000, 0xfbf4d6d300000000, 0x6ae9694300000000,
+ 0xfcd96e3400000000, 0x468867ad00000000, 0xd0b860da00000000,
+ 0x732d044400000000, 0xe51d033300000000, 0x5f4c0aaa00000000,
+ 0xc97c0ddd00000000, 0x3c71055000000000, 0xaa41022700000000,
+ 0x10100bbe00000000, 0x86200cc900000000, 0x25b5685700000000,
+ 0xb3856f2000000000, 0x09d466b900000000, 0x9fe461ce00000000,
+ 0x0ef9de5e00000000, 0x98c9d92900000000, 0x2298d0b000000000,
+ 0xb4a8d7c700000000, 0x173db35900000000, 0x810db42e00000000,
+ 0x3b5cbdb700000000, 0xad6cbac000000000, 0x2083b8ed00000000,
+ 0xb6b3bf9a00000000, 0x0ce2b60300000000, 0x9ad2b17400000000,
+ 0x3947d5ea00000000, 0xaf77d29d00000000, 0x1526db0400000000,
+ 0x8316dc7300000000, 0x120b63e300000000, 0x843b649400000000,
+ 0x3e6a6d0d00000000, 0xa85a6a7a00000000, 0x0bcf0ee400000000,
+ 0x9dff099300000000, 0x27ae000a00000000, 0xb19e077d00000000,
+ 0x44930ff000000000, 0xd2a3088700000000, 0x68f2011e00000000,
+ 0xfec2066900000000, 0x5d5762f700000000, 0xcb67658000000000,
+ 0x71366c1900000000, 0xe7066b6e00000000, 0x761bd4fe00000000,
+ 0xe02bd38900000000, 0x5a7ada1000000000, 0xcc4add6700000000,
+ 0x6fdfb9f900000000, 0xf9efbe8e00000000, 0x43beb71700000000,
+ 0xd58eb06000000000, 0xe8a3d6d600000000, 0x7e93d1a100000000,
+ 0xc4c2d83800000000, 0x52f2df4f00000000, 0xf167bbd100000000,
+ 0x6757bca600000000, 0xdd06b53f00000000, 0x4b36b24800000000,
+ 0xda2b0dd800000000, 0x4c1b0aaf00000000, 0xf64a033600000000,
+ 0x607a044100000000, 0xc3ef60df00000000, 0x55df67a800000000,
+ 0xef8e6e3100000000, 0x79be694600000000, 0x8cb361cb00000000,
+ 0x1a8366bc00000000, 0xa0d26f2500000000, 0x36e2685200000000,
+ 0x95770ccc00000000, 0x03470bbb00000000, 0xb916022200000000,
+ 0x2f26055500000000, 0xbe3bbac500000000, 0x280bbdb200000000,
+ 0x925ab42b00000000, 0x046ab35c00000000, 0xa7ffd7c200000000,
+ 0x31cfd0b500000000, 0x8b9ed92c00000000, 0x1daede5b00000000,
+ 0xb0c2649b00000000, 0x26f263ec00000000, 0x9ca36a7500000000,
+ 0x0a936d0200000000, 0xa906099c00000000, 0x3f360eeb00000000,
+ 0x8567077200000000, 0x1357000500000000, 0x824abf9500000000,
+ 0x147ab8e200000000, 0xae2bb17b00000000, 0x381bb60c00000000,
+ 0x9b8ed29200000000, 0x0dbed5e500000000, 0xb7efdc7c00000000,
+ 0x21dfdb0b00000000, 0xd4d2d38600000000, 0x42e2d4f100000000,
+ 0xf8b3dd6800000000, 0x6e83da1f00000000, 0xcd16be8100000000,
+ 0x5b26b9f600000000, 0xe177b06f00000000, 0x7747b71800000000,
+ 0xe65a088800000000, 0x706a0fff00000000, 0xca3b066600000000,
+ 0x5c0b011100000000, 0xff9e658f00000000, 0x69ae62f800000000,
+ 0xd3ff6b6100000000, 0x45cf6c1600000000, 0x78e20aa000000000,
+ 0xeed20dd700000000, 0x5483044e00000000, 0xc2b3033900000000,
+ 0x612667a700000000, 0xf71660d000000000, 0x4d47694900000000,
+ 0xdb776e3e00000000, 0x4a6ad1ae00000000, 0xdc5ad6d900000000,
+ 0x660bdf4000000000, 0xf03bd83700000000, 0x53aebca900000000,
+ 0xc59ebbde00000000, 0x7fcfb24700000000, 0xe9ffb53000000000,
+ 0x1cf2bdbd00000000, 0x8ac2baca00000000, 0x3093b35300000000,
+ 0xa6a3b42400000000, 0x0536d0ba00000000, 0x9306d7cd00000000,
+ 0x2957de5400000000, 0xbf67d92300000000, 0x2e7a66b300000000,
+ 0xb84a61c400000000, 0x021b685d00000000, 0x942b6f2a00000000,
+ 0x37be0bb400000000, 0xa18e0cc300000000, 0x1bdf055a00000000,
+ 0x8def022d00000000},
+ {0x0000000000000000, 0x41311b1900000000, 0x8262363200000000,
+ 0xc3532d2b00000000, 0x04c56c6400000000, 0x45f4777d00000000,
+ 0x86a75a5600000000, 0xc796414f00000000, 0x088ad9c800000000,
+ 0x49bbc2d100000000, 0x8ae8effa00000000, 0xcbd9f4e300000000,
+ 0x0c4fb5ac00000000, 0x4d7eaeb500000000, 0x8e2d839e00000000,
+ 0xcf1c988700000000, 0x5112c24a00000000, 0x1023d95300000000,
+ 0xd370f47800000000, 0x9241ef6100000000, 0x55d7ae2e00000000,
+ 0x14e6b53700000000, 0xd7b5981c00000000, 0x9684830500000000,
+ 0x59981b8200000000, 0x18a9009b00000000, 0xdbfa2db000000000,
+ 0x9acb36a900000000, 0x5d5d77e600000000, 0x1c6c6cff00000000,
+ 0xdf3f41d400000000, 0x9e0e5acd00000000, 0xa224849500000000,
+ 0xe3159f8c00000000, 0x2046b2a700000000, 0x6177a9be00000000,
+ 0xa6e1e8f100000000, 0xe7d0f3e800000000, 0x2483dec300000000,
+ 0x65b2c5da00000000, 0xaaae5d5d00000000, 0xeb9f464400000000,
+ 0x28cc6b6f00000000, 0x69fd707600000000, 0xae6b313900000000,
+ 0xef5a2a2000000000, 0x2c09070b00000000, 0x6d381c1200000000,
+ 0xf33646df00000000, 0xb2075dc600000000, 0x715470ed00000000,
+ 0x30656bf400000000, 0xf7f32abb00000000, 0xb6c231a200000000,
+ 0x75911c8900000000, 0x34a0079000000000, 0xfbbc9f1700000000,
+ 0xba8d840e00000000, 0x79dea92500000000, 0x38efb23c00000000,
+ 0xff79f37300000000, 0xbe48e86a00000000, 0x7d1bc54100000000,
+ 0x3c2ade5800000000, 0x054f79f000000000, 0x447e62e900000000,
+ 0x872d4fc200000000, 0xc61c54db00000000, 0x018a159400000000,
+ 0x40bb0e8d00000000, 0x83e823a600000000, 0xc2d938bf00000000,
+ 0x0dc5a03800000000, 0x4cf4bb2100000000, 0x8fa7960a00000000,
+ 0xce968d1300000000, 0x0900cc5c00000000, 0x4831d74500000000,
+ 0x8b62fa6e00000000, 0xca53e17700000000, 0x545dbbba00000000,
+ 0x156ca0a300000000, 0xd63f8d8800000000, 0x970e969100000000,
+ 0x5098d7de00000000, 0x11a9ccc700000000, 0xd2fae1ec00000000,
+ 0x93cbfaf500000000, 0x5cd7627200000000, 0x1de6796b00000000,
+ 0xdeb5544000000000, 0x9f844f5900000000, 0x58120e1600000000,
+ 0x1923150f00000000, 0xda70382400000000, 0x9b41233d00000000,
+ 0xa76bfd6500000000, 0xe65ae67c00000000, 0x2509cb5700000000,
+ 0x6438d04e00000000, 0xa3ae910100000000, 0xe29f8a1800000000,
+ 0x21cca73300000000, 0x60fdbc2a00000000, 0xafe124ad00000000,
+ 0xeed03fb400000000, 0x2d83129f00000000, 0x6cb2098600000000,
+ 0xab2448c900000000, 0xea1553d000000000, 0x29467efb00000000,
+ 0x687765e200000000, 0xf6793f2f00000000, 0xb748243600000000,
+ 0x741b091d00000000, 0x352a120400000000, 0xf2bc534b00000000,
+ 0xb38d485200000000, 0x70de657900000000, 0x31ef7e6000000000,
+ 0xfef3e6e700000000, 0xbfc2fdfe00000000, 0x7c91d0d500000000,
+ 0x3da0cbcc00000000, 0xfa368a8300000000, 0xbb07919a00000000,
+ 0x7854bcb100000000, 0x3965a7a800000000, 0x4b98833b00000000,
+ 0x0aa9982200000000, 0xc9fab50900000000, 0x88cbae1000000000,
+ 0x4f5def5f00000000, 0x0e6cf44600000000, 0xcd3fd96d00000000,
+ 0x8c0ec27400000000, 0x43125af300000000, 0x022341ea00000000,
+ 0xc1706cc100000000, 0x804177d800000000, 0x47d7369700000000,
+ 0x06e62d8e00000000, 0xc5b500a500000000, 0x84841bbc00000000,
+ 0x1a8a417100000000, 0x5bbb5a6800000000, 0x98e8774300000000,
+ 0xd9d96c5a00000000, 0x1e4f2d1500000000, 0x5f7e360c00000000,
+ 0x9c2d1b2700000000, 0xdd1c003e00000000, 0x120098b900000000,
+ 0x533183a000000000, 0x9062ae8b00000000, 0xd153b59200000000,
+ 0x16c5f4dd00000000, 0x57f4efc400000000, 0x94a7c2ef00000000,
+ 0xd596d9f600000000, 0xe9bc07ae00000000, 0xa88d1cb700000000,
+ 0x6bde319c00000000, 0x2aef2a8500000000, 0xed796bca00000000,
+ 0xac4870d300000000, 0x6f1b5df800000000, 0x2e2a46e100000000,
+ 0xe136de6600000000, 0xa007c57f00000000, 0x6354e85400000000,
+ 0x2265f34d00000000, 0xe5f3b20200000000, 0xa4c2a91b00000000,
+ 0x6791843000000000, 0x26a09f2900000000, 0xb8aec5e400000000,
+ 0xf99fdefd00000000, 0x3accf3d600000000, 0x7bfde8cf00000000,
+ 0xbc6ba98000000000, 0xfd5ab29900000000, 0x3e099fb200000000,
+ 0x7f3884ab00000000, 0xb0241c2c00000000, 0xf115073500000000,
+ 0x32462a1e00000000, 0x7377310700000000, 0xb4e1704800000000,
+ 0xf5d06b5100000000, 0x3683467a00000000, 0x77b25d6300000000,
+ 0x4ed7facb00000000, 0x0fe6e1d200000000, 0xccb5ccf900000000,
+ 0x8d84d7e000000000, 0x4a1296af00000000, 0x0b238db600000000,
+ 0xc870a09d00000000, 0x8941bb8400000000, 0x465d230300000000,
+ 0x076c381a00000000, 0xc43f153100000000, 0x850e0e2800000000,
+ 0x42984f6700000000, 0x03a9547e00000000, 0xc0fa795500000000,
+ 0x81cb624c00000000, 0x1fc5388100000000, 0x5ef4239800000000,
+ 0x9da70eb300000000, 0xdc9615aa00000000, 0x1b0054e500000000,
+ 0x5a314ffc00000000, 0x996262d700000000, 0xd85379ce00000000,
+ 0x174fe14900000000, 0x567efa5000000000, 0x952dd77b00000000,
+ 0xd41ccc6200000000, 0x138a8d2d00000000, 0x52bb963400000000,
+ 0x91e8bb1f00000000, 0xd0d9a00600000000, 0xecf37e5e00000000,
+ 0xadc2654700000000, 0x6e91486c00000000, 0x2fa0537500000000,
+ 0xe836123a00000000, 0xa907092300000000, 0x6a54240800000000,
+ 0x2b653f1100000000, 0xe479a79600000000, 0xa548bc8f00000000,
+ 0x661b91a400000000, 0x272a8abd00000000, 0xe0bccbf200000000,
+ 0xa18dd0eb00000000, 0x62defdc000000000, 0x23efe6d900000000,
+ 0xbde1bc1400000000, 0xfcd0a70d00000000, 0x3f838a2600000000,
+ 0x7eb2913f00000000, 0xb924d07000000000, 0xf815cb6900000000,
+ 0x3b46e64200000000, 0x7a77fd5b00000000, 0xb56b65dc00000000,
+ 0xf45a7ec500000000, 0x370953ee00000000, 0x763848f700000000,
+ 0xb1ae09b800000000, 0xf09f12a100000000, 0x33cc3f8a00000000,
+ 0x72fd249300000000},
+ {0x0000000000000000, 0x376ac20100000000, 0x6ed4840300000000,
+ 0x59be460200000000, 0xdca8090700000000, 0xebc2cb0600000000,
+ 0xb27c8d0400000000, 0x85164f0500000000, 0xb851130e00000000,
+ 0x8f3bd10f00000000, 0xd685970d00000000, 0xe1ef550c00000000,
+ 0x64f91a0900000000, 0x5393d80800000000, 0x0a2d9e0a00000000,
+ 0x3d475c0b00000000, 0x70a3261c00000000, 0x47c9e41d00000000,
+ 0x1e77a21f00000000, 0x291d601e00000000, 0xac0b2f1b00000000,
+ 0x9b61ed1a00000000, 0xc2dfab1800000000, 0xf5b5691900000000,
+ 0xc8f2351200000000, 0xff98f71300000000, 0xa626b11100000000,
+ 0x914c731000000000, 0x145a3c1500000000, 0x2330fe1400000000,
+ 0x7a8eb81600000000, 0x4de47a1700000000, 0xe0464d3800000000,
+ 0xd72c8f3900000000, 0x8e92c93b00000000, 0xb9f80b3a00000000,
+ 0x3cee443f00000000, 0x0b84863e00000000, 0x523ac03c00000000,
+ 0x6550023d00000000, 0x58175e3600000000, 0x6f7d9c3700000000,
+ 0x36c3da3500000000, 0x01a9183400000000, 0x84bf573100000000,
+ 0xb3d5953000000000, 0xea6bd33200000000, 0xdd01113300000000,
+ 0x90e56b2400000000, 0xa78fa92500000000, 0xfe31ef2700000000,
+ 0xc95b2d2600000000, 0x4c4d622300000000, 0x7b27a02200000000,
+ 0x2299e62000000000, 0x15f3242100000000, 0x28b4782a00000000,
+ 0x1fdeba2b00000000, 0x4660fc2900000000, 0x710a3e2800000000,
+ 0xf41c712d00000000, 0xc376b32c00000000, 0x9ac8f52e00000000,
+ 0xada2372f00000000, 0xc08d9a7000000000, 0xf7e7587100000000,
+ 0xae591e7300000000, 0x9933dc7200000000, 0x1c25937700000000,
+ 0x2b4f517600000000, 0x72f1177400000000, 0x459bd57500000000,
+ 0x78dc897e00000000, 0x4fb64b7f00000000, 0x16080d7d00000000,
+ 0x2162cf7c00000000, 0xa474807900000000, 0x931e427800000000,
+ 0xcaa0047a00000000, 0xfdcac67b00000000, 0xb02ebc6c00000000,
+ 0x87447e6d00000000, 0xdefa386f00000000, 0xe990fa6e00000000,
+ 0x6c86b56b00000000, 0x5bec776a00000000, 0x0252316800000000,
+ 0x3538f36900000000, 0x087faf6200000000, 0x3f156d6300000000,
+ 0x66ab2b6100000000, 0x51c1e96000000000, 0xd4d7a66500000000,
+ 0xe3bd646400000000, 0xba03226600000000, 0x8d69e06700000000,
+ 0x20cbd74800000000, 0x17a1154900000000, 0x4e1f534b00000000,
+ 0x7975914a00000000, 0xfc63de4f00000000, 0xcb091c4e00000000,
+ 0x92b75a4c00000000, 0xa5dd984d00000000, 0x989ac44600000000,
+ 0xaff0064700000000, 0xf64e404500000000, 0xc124824400000000,
+ 0x4432cd4100000000, 0x73580f4000000000, 0x2ae6494200000000,
+ 0x1d8c8b4300000000, 0x5068f15400000000, 0x6702335500000000,
+ 0x3ebc755700000000, 0x09d6b75600000000, 0x8cc0f85300000000,
+ 0xbbaa3a5200000000, 0xe2147c5000000000, 0xd57ebe5100000000,
+ 0xe839e25a00000000, 0xdf53205b00000000, 0x86ed665900000000,
+ 0xb187a45800000000, 0x3491eb5d00000000, 0x03fb295c00000000,
+ 0x5a456f5e00000000, 0x6d2fad5f00000000, 0x801b35e100000000,
+ 0xb771f7e000000000, 0xeecfb1e200000000, 0xd9a573e300000000,
+ 0x5cb33ce600000000, 0x6bd9fee700000000, 0x3267b8e500000000,
+ 0x050d7ae400000000, 0x384a26ef00000000, 0x0f20e4ee00000000,
+ 0x569ea2ec00000000, 0x61f460ed00000000, 0xe4e22fe800000000,
+ 0xd388ede900000000, 0x8a36abeb00000000, 0xbd5c69ea00000000,
+ 0xf0b813fd00000000, 0xc7d2d1fc00000000, 0x9e6c97fe00000000,
+ 0xa90655ff00000000, 0x2c101afa00000000, 0x1b7ad8fb00000000,
+ 0x42c49ef900000000, 0x75ae5cf800000000, 0x48e900f300000000,
+ 0x7f83c2f200000000, 0x263d84f000000000, 0x115746f100000000,
+ 0x944109f400000000, 0xa32bcbf500000000, 0xfa958df700000000,
+ 0xcdff4ff600000000, 0x605d78d900000000, 0x5737bad800000000,
+ 0x0e89fcda00000000, 0x39e33edb00000000, 0xbcf571de00000000,
+ 0x8b9fb3df00000000, 0xd221f5dd00000000, 0xe54b37dc00000000,
+ 0xd80c6bd700000000, 0xef66a9d600000000, 0xb6d8efd400000000,
+ 0x81b22dd500000000, 0x04a462d000000000, 0x33cea0d100000000,
+ 0x6a70e6d300000000, 0x5d1a24d200000000, 0x10fe5ec500000000,
+ 0x27949cc400000000, 0x7e2adac600000000, 0x494018c700000000,
+ 0xcc5657c200000000, 0xfb3c95c300000000, 0xa282d3c100000000,
+ 0x95e811c000000000, 0xa8af4dcb00000000, 0x9fc58fca00000000,
+ 0xc67bc9c800000000, 0xf1110bc900000000, 0x740744cc00000000,
+ 0x436d86cd00000000, 0x1ad3c0cf00000000, 0x2db902ce00000000,
+ 0x4096af9100000000, 0x77fc6d9000000000, 0x2e422b9200000000,
+ 0x1928e99300000000, 0x9c3ea69600000000, 0xab54649700000000,
+ 0xf2ea229500000000, 0xc580e09400000000, 0xf8c7bc9f00000000,
+ 0xcfad7e9e00000000, 0x9613389c00000000, 0xa179fa9d00000000,
+ 0x246fb59800000000, 0x1305779900000000, 0x4abb319b00000000,
+ 0x7dd1f39a00000000, 0x3035898d00000000, 0x075f4b8c00000000,
+ 0x5ee10d8e00000000, 0x698bcf8f00000000, 0xec9d808a00000000,
+ 0xdbf7428b00000000, 0x8249048900000000, 0xb523c68800000000,
+ 0x88649a8300000000, 0xbf0e588200000000, 0xe6b01e8000000000,
+ 0xd1dadc8100000000, 0x54cc938400000000, 0x63a6518500000000,
+ 0x3a18178700000000, 0x0d72d58600000000, 0xa0d0e2a900000000,
+ 0x97ba20a800000000, 0xce0466aa00000000, 0xf96ea4ab00000000,
+ 0x7c78ebae00000000, 0x4b1229af00000000, 0x12ac6fad00000000,
+ 0x25c6adac00000000, 0x1881f1a700000000, 0x2feb33a600000000,
+ 0x765575a400000000, 0x413fb7a500000000, 0xc429f8a000000000,
+ 0xf3433aa100000000, 0xaafd7ca300000000, 0x9d97bea200000000,
+ 0xd073c4b500000000, 0xe71906b400000000, 0xbea740b600000000,
+ 0x89cd82b700000000, 0x0cdbcdb200000000, 0x3bb10fb300000000,
+ 0x620f49b100000000, 0x55658bb000000000, 0x6822d7bb00000000,
+ 0x5f4815ba00000000, 0x06f653b800000000, 0x319c91b900000000,
+ 0xb48adebc00000000, 0x83e01cbd00000000, 0xda5e5abf00000000,
+ 0xed3498be00000000},
+ {0x0000000000000000, 0x6567bcb800000000, 0x8bc809aa00000000,
+ 0xeeafb51200000000, 0x5797628f00000000, 0x32f0de3700000000,
+ 0xdc5f6b2500000000, 0xb938d79d00000000, 0xef28b4c500000000,
+ 0x8a4f087d00000000, 0x64e0bd6f00000000, 0x018701d700000000,
+ 0xb8bfd64a00000000, 0xddd86af200000000, 0x3377dfe000000000,
+ 0x5610635800000000, 0x9f57195000000000, 0xfa30a5e800000000,
+ 0x149f10fa00000000, 0x71f8ac4200000000, 0xc8c07bdf00000000,
+ 0xada7c76700000000, 0x4308727500000000, 0x266fcecd00000000,
+ 0x707fad9500000000, 0x1518112d00000000, 0xfbb7a43f00000000,
+ 0x9ed0188700000000, 0x27e8cf1a00000000, 0x428f73a200000000,
+ 0xac20c6b000000000, 0xc9477a0800000000, 0x3eaf32a000000000,
+ 0x5bc88e1800000000, 0xb5673b0a00000000, 0xd00087b200000000,
+ 0x6938502f00000000, 0x0c5fec9700000000, 0xe2f0598500000000,
+ 0x8797e53d00000000, 0xd187866500000000, 0xb4e03add00000000,
+ 0x5a4f8fcf00000000, 0x3f28337700000000, 0x8610e4ea00000000,
+ 0xe377585200000000, 0x0dd8ed4000000000, 0x68bf51f800000000,
+ 0xa1f82bf000000000, 0xc49f974800000000, 0x2a30225a00000000,
+ 0x4f579ee200000000, 0xf66f497f00000000, 0x9308f5c700000000,
+ 0x7da740d500000000, 0x18c0fc6d00000000, 0x4ed09f3500000000,
+ 0x2bb7238d00000000, 0xc518969f00000000, 0xa07f2a2700000000,
+ 0x1947fdba00000000, 0x7c20410200000000, 0x928ff41000000000,
+ 0xf7e848a800000000, 0x3d58149b00000000, 0x583fa82300000000,
+ 0xb6901d3100000000, 0xd3f7a18900000000, 0x6acf761400000000,
+ 0x0fa8caac00000000, 0xe1077fbe00000000, 0x8460c30600000000,
+ 0xd270a05e00000000, 0xb7171ce600000000, 0x59b8a9f400000000,
+ 0x3cdf154c00000000, 0x85e7c2d100000000, 0xe0807e6900000000,
+ 0x0e2fcb7b00000000, 0x6b4877c300000000, 0xa20f0dcb00000000,
+ 0xc768b17300000000, 0x29c7046100000000, 0x4ca0b8d900000000,
+ 0xf5986f4400000000, 0x90ffd3fc00000000, 0x7e5066ee00000000,
+ 0x1b37da5600000000, 0x4d27b90e00000000, 0x284005b600000000,
+ 0xc6efb0a400000000, 0xa3880c1c00000000, 0x1ab0db8100000000,
+ 0x7fd7673900000000, 0x9178d22b00000000, 0xf41f6e9300000000,
+ 0x03f7263b00000000, 0x66909a8300000000, 0x883f2f9100000000,
+ 0xed58932900000000, 0x546044b400000000, 0x3107f80c00000000,
+ 0xdfa84d1e00000000, 0xbacff1a600000000, 0xecdf92fe00000000,
+ 0x89b82e4600000000, 0x67179b5400000000, 0x027027ec00000000,
+ 0xbb48f07100000000, 0xde2f4cc900000000, 0x3080f9db00000000,
+ 0x55e7456300000000, 0x9ca03f6b00000000, 0xf9c783d300000000,
+ 0x176836c100000000, 0x720f8a7900000000, 0xcb375de400000000,
+ 0xae50e15c00000000, 0x40ff544e00000000, 0x2598e8f600000000,
+ 0x73888bae00000000, 0x16ef371600000000, 0xf840820400000000,
+ 0x9d273ebc00000000, 0x241fe92100000000, 0x4178559900000000,
+ 0xafd7e08b00000000, 0xcab05c3300000000, 0x3bb659ed00000000,
+ 0x5ed1e55500000000, 0xb07e504700000000, 0xd519ecff00000000,
+ 0x6c213b6200000000, 0x094687da00000000, 0xe7e932c800000000,
+ 0x828e8e7000000000, 0xd49eed2800000000, 0xb1f9519000000000,
+ 0x5f56e48200000000, 0x3a31583a00000000, 0x83098fa700000000,
+ 0xe66e331f00000000, 0x08c1860d00000000, 0x6da63ab500000000,
+ 0xa4e140bd00000000, 0xc186fc0500000000, 0x2f29491700000000,
+ 0x4a4ef5af00000000, 0xf376223200000000, 0x96119e8a00000000,
+ 0x78be2b9800000000, 0x1dd9972000000000, 0x4bc9f47800000000,
+ 0x2eae48c000000000, 0xc001fdd200000000, 0xa566416a00000000,
+ 0x1c5e96f700000000, 0x79392a4f00000000, 0x97969f5d00000000,
+ 0xf2f123e500000000, 0x05196b4d00000000, 0x607ed7f500000000,
+ 0x8ed162e700000000, 0xebb6de5f00000000, 0x528e09c200000000,
+ 0x37e9b57a00000000, 0xd946006800000000, 0xbc21bcd000000000,
+ 0xea31df8800000000, 0x8f56633000000000, 0x61f9d62200000000,
+ 0x049e6a9a00000000, 0xbda6bd0700000000, 0xd8c101bf00000000,
+ 0x366eb4ad00000000, 0x5309081500000000, 0x9a4e721d00000000,
+ 0xff29cea500000000, 0x11867bb700000000, 0x74e1c70f00000000,
+ 0xcdd9109200000000, 0xa8beac2a00000000, 0x4611193800000000,
+ 0x2376a58000000000, 0x7566c6d800000000, 0x10017a6000000000,
+ 0xfeaecf7200000000, 0x9bc973ca00000000, 0x22f1a45700000000,
+ 0x479618ef00000000, 0xa939adfd00000000, 0xcc5e114500000000,
+ 0x06ee4d7600000000, 0x6389f1ce00000000, 0x8d2644dc00000000,
+ 0xe841f86400000000, 0x51792ff900000000, 0x341e934100000000,
+ 0xdab1265300000000, 0xbfd69aeb00000000, 0xe9c6f9b300000000,
+ 0x8ca1450b00000000, 0x620ef01900000000, 0x07694ca100000000,
+ 0xbe519b3c00000000, 0xdb36278400000000, 0x3599929600000000,
+ 0x50fe2e2e00000000, 0x99b9542600000000, 0xfcdee89e00000000,
+ 0x12715d8c00000000, 0x7716e13400000000, 0xce2e36a900000000,
+ 0xab498a1100000000, 0x45e63f0300000000, 0x208183bb00000000,
+ 0x7691e0e300000000, 0x13f65c5b00000000, 0xfd59e94900000000,
+ 0x983e55f100000000, 0x2106826c00000000, 0x44613ed400000000,
+ 0xaace8bc600000000, 0xcfa9377e00000000, 0x38417fd600000000,
+ 0x5d26c36e00000000, 0xb389767c00000000, 0xd6eecac400000000,
+ 0x6fd61d5900000000, 0x0ab1a1e100000000, 0xe41e14f300000000,
+ 0x8179a84b00000000, 0xd769cb1300000000, 0xb20e77ab00000000,
+ 0x5ca1c2b900000000, 0x39c67e0100000000, 0x80fea99c00000000,
+ 0xe599152400000000, 0x0b36a03600000000, 0x6e511c8e00000000,
+ 0xa716668600000000, 0xc271da3e00000000, 0x2cde6f2c00000000,
+ 0x49b9d39400000000, 0xf081040900000000, 0x95e6b8b100000000,
+ 0x7b490da300000000, 0x1e2eb11b00000000, 0x483ed24300000000,
+ 0x2d596efb00000000, 0xc3f6dbe900000000, 0xa691675100000000,
+ 0x1fa9b0cc00000000, 0x7ace0c7400000000, 0x9461b96600000000,
+ 0xf10605de00000000},
+ {0x0000000000000000, 0xb029603d00000000, 0x6053c07a00000000,
+ 0xd07aa04700000000, 0xc0a680f500000000, 0x708fe0c800000000,
+ 0xa0f5408f00000000, 0x10dc20b200000000, 0xc14b703000000000,
+ 0x7162100d00000000, 0xa118b04a00000000, 0x1131d07700000000,
+ 0x01edf0c500000000, 0xb1c490f800000000, 0x61be30bf00000000,
+ 0xd197508200000000, 0x8297e06000000000, 0x32be805d00000000,
+ 0xe2c4201a00000000, 0x52ed402700000000, 0x4231609500000000,
+ 0xf21800a800000000, 0x2262a0ef00000000, 0x924bc0d200000000,
+ 0x43dc905000000000, 0xf3f5f06d00000000, 0x238f502a00000000,
+ 0x93a6301700000000, 0x837a10a500000000, 0x3353709800000000,
+ 0xe329d0df00000000, 0x5300b0e200000000, 0x042fc1c100000000,
+ 0xb406a1fc00000000, 0x647c01bb00000000, 0xd455618600000000,
+ 0xc489413400000000, 0x74a0210900000000, 0xa4da814e00000000,
+ 0x14f3e17300000000, 0xc564b1f100000000, 0x754dd1cc00000000,
+ 0xa537718b00000000, 0x151e11b600000000, 0x05c2310400000000,
+ 0xb5eb513900000000, 0x6591f17e00000000, 0xd5b8914300000000,
+ 0x86b821a100000000, 0x3691419c00000000, 0xe6ebe1db00000000,
+ 0x56c281e600000000, 0x461ea15400000000, 0xf637c16900000000,
+ 0x264d612e00000000, 0x9664011300000000, 0x47f3519100000000,
+ 0xf7da31ac00000000, 0x27a091eb00000000, 0x9789f1d600000000,
+ 0x8755d16400000000, 0x377cb15900000000, 0xe706111e00000000,
+ 0x572f712300000000, 0x4958f35800000000, 0xf971936500000000,
+ 0x290b332200000000, 0x9922531f00000000, 0x89fe73ad00000000,
+ 0x39d7139000000000, 0xe9adb3d700000000, 0x5984d3ea00000000,
+ 0x8813836800000000, 0x383ae35500000000, 0xe840431200000000,
+ 0x5869232f00000000, 0x48b5039d00000000, 0xf89c63a000000000,
+ 0x28e6c3e700000000, 0x98cfa3da00000000, 0xcbcf133800000000,
+ 0x7be6730500000000, 0xab9cd34200000000, 0x1bb5b37f00000000,
+ 0x0b6993cd00000000, 0xbb40f3f000000000, 0x6b3a53b700000000,
+ 0xdb13338a00000000, 0x0a84630800000000, 0xbaad033500000000,
+ 0x6ad7a37200000000, 0xdafec34f00000000, 0xca22e3fd00000000,
+ 0x7a0b83c000000000, 0xaa71238700000000, 0x1a5843ba00000000,
+ 0x4d77329900000000, 0xfd5e52a400000000, 0x2d24f2e300000000,
+ 0x9d0d92de00000000, 0x8dd1b26c00000000, 0x3df8d25100000000,
+ 0xed82721600000000, 0x5dab122b00000000, 0x8c3c42a900000000,
+ 0x3c15229400000000, 0xec6f82d300000000, 0x5c46e2ee00000000,
+ 0x4c9ac25c00000000, 0xfcb3a26100000000, 0x2cc9022600000000,
+ 0x9ce0621b00000000, 0xcfe0d2f900000000, 0x7fc9b2c400000000,
+ 0xafb3128300000000, 0x1f9a72be00000000, 0x0f46520c00000000,
+ 0xbf6f323100000000, 0x6f15927600000000, 0xdf3cf24b00000000,
+ 0x0eaba2c900000000, 0xbe82c2f400000000, 0x6ef862b300000000,
+ 0xded1028e00000000, 0xce0d223c00000000, 0x7e24420100000000,
+ 0xae5ee24600000000, 0x1e77827b00000000, 0x92b0e6b100000000,
+ 0x2299868c00000000, 0xf2e326cb00000000, 0x42ca46f600000000,
+ 0x5216664400000000, 0xe23f067900000000, 0x3245a63e00000000,
+ 0x826cc60300000000, 0x53fb968100000000, 0xe3d2f6bc00000000,
+ 0x33a856fb00000000, 0x838136c600000000, 0x935d167400000000,
+ 0x2374764900000000, 0xf30ed60e00000000, 0x4327b63300000000,
+ 0x102706d100000000, 0xa00e66ec00000000, 0x7074c6ab00000000,
+ 0xc05da69600000000, 0xd081862400000000, 0x60a8e61900000000,
+ 0xb0d2465e00000000, 0x00fb266300000000, 0xd16c76e100000000,
+ 0x614516dc00000000, 0xb13fb69b00000000, 0x0116d6a600000000,
+ 0x11caf61400000000, 0xa1e3962900000000, 0x7199366e00000000,
+ 0xc1b0565300000000, 0x969f277000000000, 0x26b6474d00000000,
+ 0xf6cce70a00000000, 0x46e5873700000000, 0x5639a78500000000,
+ 0xe610c7b800000000, 0x366a67ff00000000, 0x864307c200000000,
+ 0x57d4574000000000, 0xe7fd377d00000000, 0x3787973a00000000,
+ 0x87aef70700000000, 0x9772d7b500000000, 0x275bb78800000000,
+ 0xf72117cf00000000, 0x470877f200000000, 0x1408c71000000000,
+ 0xa421a72d00000000, 0x745b076a00000000, 0xc472675700000000,
+ 0xd4ae47e500000000, 0x648727d800000000, 0xb4fd879f00000000,
+ 0x04d4e7a200000000, 0xd543b72000000000, 0x656ad71d00000000,
+ 0xb510775a00000000, 0x0539176700000000, 0x15e537d500000000,
+ 0xa5cc57e800000000, 0x75b6f7af00000000, 0xc59f979200000000,
+ 0xdbe815e900000000, 0x6bc175d400000000, 0xbbbbd59300000000,
+ 0x0b92b5ae00000000, 0x1b4e951c00000000, 0xab67f52100000000,
+ 0x7b1d556600000000, 0xcb34355b00000000, 0x1aa365d900000000,
+ 0xaa8a05e400000000, 0x7af0a5a300000000, 0xcad9c59e00000000,
+ 0xda05e52c00000000, 0x6a2c851100000000, 0xba56255600000000,
+ 0x0a7f456b00000000, 0x597ff58900000000, 0xe95695b400000000,
+ 0x392c35f300000000, 0x890555ce00000000, 0x99d9757c00000000,
+ 0x29f0154100000000, 0xf98ab50600000000, 0x49a3d53b00000000,
+ 0x983485b900000000, 0x281de58400000000, 0xf86745c300000000,
+ 0x484e25fe00000000, 0x5892054c00000000, 0xe8bb657100000000,
+ 0x38c1c53600000000, 0x88e8a50b00000000, 0xdfc7d42800000000,
+ 0x6feeb41500000000, 0xbf94145200000000, 0x0fbd746f00000000,
+ 0x1f6154dd00000000, 0xaf4834e000000000, 0x7f3294a700000000,
+ 0xcf1bf49a00000000, 0x1e8ca41800000000, 0xaea5c42500000000,
+ 0x7edf646200000000, 0xcef6045f00000000, 0xde2a24ed00000000,
+ 0x6e0344d000000000, 0xbe79e49700000000, 0x0e5084aa00000000,
+ 0x5d50344800000000, 0xed79547500000000, 0x3d03f43200000000,
+ 0x8d2a940f00000000, 0x9df6b4bd00000000, 0x2ddfd48000000000,
+ 0xfda574c700000000, 0x4d8c14fa00000000, 0x9c1b447800000000,
+ 0x2c32244500000000, 0xfc48840200000000, 0x4c61e43f00000000,
+ 0x5cbdc48d00000000, 0xec94a4b000000000, 0x3cee04f700000000,
+ 0x8cc764ca00000000},
+ {0x0000000000000000, 0xa5d35ccb00000000, 0x0ba1c84d00000000,
+ 0xae72948600000000, 0x1642919b00000000, 0xb391cd5000000000,
+ 0x1de359d600000000, 0xb830051d00000000, 0x6d8253ec00000000,
+ 0xc8510f2700000000, 0x66239ba100000000, 0xc3f0c76a00000000,
+ 0x7bc0c27700000000, 0xde139ebc00000000, 0x70610a3a00000000,
+ 0xd5b256f100000000, 0x9b02d60300000000, 0x3ed18ac800000000,
+ 0x90a31e4e00000000, 0x3570428500000000, 0x8d40479800000000,
+ 0x28931b5300000000, 0x86e18fd500000000, 0x2332d31e00000000,
+ 0xf68085ef00000000, 0x5353d92400000000, 0xfd214da200000000,
+ 0x58f2116900000000, 0xe0c2147400000000, 0x451148bf00000000,
+ 0xeb63dc3900000000, 0x4eb080f200000000, 0x3605ac0700000000,
+ 0x93d6f0cc00000000, 0x3da4644a00000000, 0x9877388100000000,
+ 0x20473d9c00000000, 0x8594615700000000, 0x2be6f5d100000000,
+ 0x8e35a91a00000000, 0x5b87ffeb00000000, 0xfe54a32000000000,
+ 0x502637a600000000, 0xf5f56b6d00000000, 0x4dc56e7000000000,
+ 0xe81632bb00000000, 0x4664a63d00000000, 0xe3b7faf600000000,
+ 0xad077a0400000000, 0x08d426cf00000000, 0xa6a6b24900000000,
+ 0x0375ee8200000000, 0xbb45eb9f00000000, 0x1e96b75400000000,
+ 0xb0e423d200000000, 0x15377f1900000000, 0xc08529e800000000,
+ 0x6556752300000000, 0xcb24e1a500000000, 0x6ef7bd6e00000000,
+ 0xd6c7b87300000000, 0x7314e4b800000000, 0xdd66703e00000000,
+ 0x78b52cf500000000, 0x6c0a580f00000000, 0xc9d904c400000000,
+ 0x67ab904200000000, 0xc278cc8900000000, 0x7a48c99400000000,
+ 0xdf9b955f00000000, 0x71e901d900000000, 0xd43a5d1200000000,
+ 0x01880be300000000, 0xa45b572800000000, 0x0a29c3ae00000000,
+ 0xaffa9f6500000000, 0x17ca9a7800000000, 0xb219c6b300000000,
+ 0x1c6b523500000000, 0xb9b80efe00000000, 0xf7088e0c00000000,
+ 0x52dbd2c700000000, 0xfca9464100000000, 0x597a1a8a00000000,
+ 0xe14a1f9700000000, 0x4499435c00000000, 0xeaebd7da00000000,
+ 0x4f388b1100000000, 0x9a8adde000000000, 0x3f59812b00000000,
+ 0x912b15ad00000000, 0x34f8496600000000, 0x8cc84c7b00000000,
+ 0x291b10b000000000, 0x8769843600000000, 0x22bad8fd00000000,
+ 0x5a0ff40800000000, 0xffdca8c300000000, 0x51ae3c4500000000,
+ 0xf47d608e00000000, 0x4c4d659300000000, 0xe99e395800000000,
+ 0x47ecadde00000000, 0xe23ff11500000000, 0x378da7e400000000,
+ 0x925efb2f00000000, 0x3c2c6fa900000000, 0x99ff336200000000,
+ 0x21cf367f00000000, 0x841c6ab400000000, 0x2a6efe3200000000,
+ 0x8fbda2f900000000, 0xc10d220b00000000, 0x64de7ec000000000,
+ 0xcaacea4600000000, 0x6f7fb68d00000000, 0xd74fb39000000000,
+ 0x729cef5b00000000, 0xdcee7bdd00000000, 0x793d271600000000,
+ 0xac8f71e700000000, 0x095c2d2c00000000, 0xa72eb9aa00000000,
+ 0x02fde56100000000, 0xbacde07c00000000, 0x1f1ebcb700000000,
+ 0xb16c283100000000, 0x14bf74fa00000000, 0xd814b01e00000000,
+ 0x7dc7ecd500000000, 0xd3b5785300000000, 0x7666249800000000,
+ 0xce56218500000000, 0x6b857d4e00000000, 0xc5f7e9c800000000,
+ 0x6024b50300000000, 0xb596e3f200000000, 0x1045bf3900000000,
+ 0xbe372bbf00000000, 0x1be4777400000000, 0xa3d4726900000000,
+ 0x06072ea200000000, 0xa875ba2400000000, 0x0da6e6ef00000000,
+ 0x4316661d00000000, 0xe6c53ad600000000, 0x48b7ae5000000000,
+ 0xed64f29b00000000, 0x5554f78600000000, 0xf087ab4d00000000,
+ 0x5ef53fcb00000000, 0xfb26630000000000, 0x2e9435f100000000,
+ 0x8b47693a00000000, 0x2535fdbc00000000, 0x80e6a17700000000,
+ 0x38d6a46a00000000, 0x9d05f8a100000000, 0x33776c2700000000,
+ 0x96a430ec00000000, 0xee111c1900000000, 0x4bc240d200000000,
+ 0xe5b0d45400000000, 0x4063889f00000000, 0xf8538d8200000000,
+ 0x5d80d14900000000, 0xf3f245cf00000000, 0x5621190400000000,
+ 0x83934ff500000000, 0x2640133e00000000, 0x883287b800000000,
+ 0x2de1db7300000000, 0x95d1de6e00000000, 0x300282a500000000,
+ 0x9e70162300000000, 0x3ba34ae800000000, 0x7513ca1a00000000,
+ 0xd0c096d100000000, 0x7eb2025700000000, 0xdb615e9c00000000,
+ 0x63515b8100000000, 0xc682074a00000000, 0x68f093cc00000000,
+ 0xcd23cf0700000000, 0x189199f600000000, 0xbd42c53d00000000,
+ 0x133051bb00000000, 0xb6e30d7000000000, 0x0ed3086d00000000,
+ 0xab0054a600000000, 0x0572c02000000000, 0xa0a19ceb00000000,
+ 0xb41ee81100000000, 0x11cdb4da00000000, 0xbfbf205c00000000,
+ 0x1a6c7c9700000000, 0xa25c798a00000000, 0x078f254100000000,
+ 0xa9fdb1c700000000, 0x0c2eed0c00000000, 0xd99cbbfd00000000,
+ 0x7c4fe73600000000, 0xd23d73b000000000, 0x77ee2f7b00000000,
+ 0xcfde2a6600000000, 0x6a0d76ad00000000, 0xc47fe22b00000000,
+ 0x61acbee000000000, 0x2f1c3e1200000000, 0x8acf62d900000000,
+ 0x24bdf65f00000000, 0x816eaa9400000000, 0x395eaf8900000000,
+ 0x9c8df34200000000, 0x32ff67c400000000, 0x972c3b0f00000000,
+ 0x429e6dfe00000000, 0xe74d313500000000, 0x493fa5b300000000,
+ 0xececf97800000000, 0x54dcfc6500000000, 0xf10fa0ae00000000,
+ 0x5f7d342800000000, 0xfaae68e300000000, 0x821b441600000000,
+ 0x27c818dd00000000, 0x89ba8c5b00000000, 0x2c69d09000000000,
+ 0x9459d58d00000000, 0x318a894600000000, 0x9ff81dc000000000,
+ 0x3a2b410b00000000, 0xef9917fa00000000, 0x4a4a4b3100000000,
+ 0xe438dfb700000000, 0x41eb837c00000000, 0xf9db866100000000,
+ 0x5c08daaa00000000, 0xf27a4e2c00000000, 0x57a912e700000000,
+ 0x1919921500000000, 0xbccacede00000000, 0x12b85a5800000000,
+ 0xb76b069300000000, 0x0f5b038e00000000, 0xaa885f4500000000,
+ 0x04facbc300000000, 0xa129970800000000, 0x749bc1f900000000,
+ 0xd1489d3200000000, 0x7f3a09b400000000, 0xdae9557f00000000,
+ 0x62d9506200000000, 0xc70a0ca900000000, 0x6978982f00000000,
+ 0xccabc4e400000000},
+ {0x0000000000000000, 0xb40b77a600000000, 0x29119f9700000000,
+ 0x9d1ae83100000000, 0x13244ff400000000, 0xa72f385200000000,
+ 0x3a35d06300000000, 0x8e3ea7c500000000, 0x674eef3300000000,
+ 0xd345989500000000, 0x4e5f70a400000000, 0xfa54070200000000,
+ 0x746aa0c700000000, 0xc061d76100000000, 0x5d7b3f5000000000,
+ 0xe97048f600000000, 0xce9cde6700000000, 0x7a97a9c100000000,
+ 0xe78d41f000000000, 0x5386365600000000, 0xddb8919300000000,
+ 0x69b3e63500000000, 0xf4a90e0400000000, 0x40a279a200000000,
+ 0xa9d2315400000000, 0x1dd946f200000000, 0x80c3aec300000000,
+ 0x34c8d96500000000, 0xbaf67ea000000000, 0x0efd090600000000,
+ 0x93e7e13700000000, 0x27ec969100000000, 0x9c39bdcf00000000,
+ 0x2832ca6900000000, 0xb528225800000000, 0x012355fe00000000,
+ 0x8f1df23b00000000, 0x3b16859d00000000, 0xa60c6dac00000000,
+ 0x12071a0a00000000, 0xfb7752fc00000000, 0x4f7c255a00000000,
+ 0xd266cd6b00000000, 0x666dbacd00000000, 0xe8531d0800000000,
+ 0x5c586aae00000000, 0xc142829f00000000, 0x7549f53900000000,
+ 0x52a563a800000000, 0xe6ae140e00000000, 0x7bb4fc3f00000000,
+ 0xcfbf8b9900000000, 0x41812c5c00000000, 0xf58a5bfa00000000,
+ 0x6890b3cb00000000, 0xdc9bc46d00000000, 0x35eb8c9b00000000,
+ 0x81e0fb3d00000000, 0x1cfa130c00000000, 0xa8f164aa00000000,
+ 0x26cfc36f00000000, 0x92c4b4c900000000, 0x0fde5cf800000000,
+ 0xbbd52b5e00000000, 0x79750b4400000000, 0xcd7e7ce200000000,
+ 0x506494d300000000, 0xe46fe37500000000, 0x6a5144b000000000,
+ 0xde5a331600000000, 0x4340db2700000000, 0xf74bac8100000000,
+ 0x1e3be47700000000, 0xaa3093d100000000, 0x372a7be000000000,
+ 0x83210c4600000000, 0x0d1fab8300000000, 0xb914dc2500000000,
+ 0x240e341400000000, 0x900543b200000000, 0xb7e9d52300000000,
+ 0x03e2a28500000000, 0x9ef84ab400000000, 0x2af33d1200000000,
+ 0xa4cd9ad700000000, 0x10c6ed7100000000, 0x8ddc054000000000,
+ 0x39d772e600000000, 0xd0a73a1000000000, 0x64ac4db600000000,
+ 0xf9b6a58700000000, 0x4dbdd22100000000, 0xc38375e400000000,
+ 0x7788024200000000, 0xea92ea7300000000, 0x5e999dd500000000,
+ 0xe54cb68b00000000, 0x5147c12d00000000, 0xcc5d291c00000000,
+ 0x78565eba00000000, 0xf668f97f00000000, 0x42638ed900000000,
+ 0xdf7966e800000000, 0x6b72114e00000000, 0x820259b800000000,
+ 0x36092e1e00000000, 0xab13c62f00000000, 0x1f18b18900000000,
+ 0x9126164c00000000, 0x252d61ea00000000, 0xb83789db00000000,
+ 0x0c3cfe7d00000000, 0x2bd068ec00000000, 0x9fdb1f4a00000000,
+ 0x02c1f77b00000000, 0xb6ca80dd00000000, 0x38f4271800000000,
+ 0x8cff50be00000000, 0x11e5b88f00000000, 0xa5eecf2900000000,
+ 0x4c9e87df00000000, 0xf895f07900000000, 0x658f184800000000,
+ 0xd1846fee00000000, 0x5fbac82b00000000, 0xebb1bf8d00000000,
+ 0x76ab57bc00000000, 0xc2a0201a00000000, 0xf2ea168800000000,
+ 0x46e1612e00000000, 0xdbfb891f00000000, 0x6ff0feb900000000,
+ 0xe1ce597c00000000, 0x55c52eda00000000, 0xc8dfc6eb00000000,
+ 0x7cd4b14d00000000, 0x95a4f9bb00000000, 0x21af8e1d00000000,
+ 0xbcb5662c00000000, 0x08be118a00000000, 0x8680b64f00000000,
+ 0x328bc1e900000000, 0xaf9129d800000000, 0x1b9a5e7e00000000,
+ 0x3c76c8ef00000000, 0x887dbf4900000000, 0x1567577800000000,
+ 0xa16c20de00000000, 0x2f52871b00000000, 0x9b59f0bd00000000,
+ 0x0643188c00000000, 0xb2486f2a00000000, 0x5b3827dc00000000,
+ 0xef33507a00000000, 0x7229b84b00000000, 0xc622cfed00000000,
+ 0x481c682800000000, 0xfc171f8e00000000, 0x610df7bf00000000,
+ 0xd506801900000000, 0x6ed3ab4700000000, 0xdad8dce100000000,
+ 0x47c234d000000000, 0xf3c9437600000000, 0x7df7e4b300000000,
+ 0xc9fc931500000000, 0x54e67b2400000000, 0xe0ed0c8200000000,
+ 0x099d447400000000, 0xbd9633d200000000, 0x208cdbe300000000,
+ 0x9487ac4500000000, 0x1ab90b8000000000, 0xaeb27c2600000000,
+ 0x33a8941700000000, 0x87a3e3b100000000, 0xa04f752000000000,
+ 0x1444028600000000, 0x895eeab700000000, 0x3d559d1100000000,
+ 0xb36b3ad400000000, 0x07604d7200000000, 0x9a7aa54300000000,
+ 0x2e71d2e500000000, 0xc7019a1300000000, 0x730aedb500000000,
+ 0xee10058400000000, 0x5a1b722200000000, 0xd425d5e700000000,
+ 0x602ea24100000000, 0xfd344a7000000000, 0x493f3dd600000000,
+ 0x8b9f1dcc00000000, 0x3f946a6a00000000, 0xa28e825b00000000,
+ 0x1685f5fd00000000, 0x98bb523800000000, 0x2cb0259e00000000,
+ 0xb1aacdaf00000000, 0x05a1ba0900000000, 0xecd1f2ff00000000,
+ 0x58da855900000000, 0xc5c06d6800000000, 0x71cb1ace00000000,
+ 0xfff5bd0b00000000, 0x4bfecaad00000000, 0xd6e4229c00000000,
+ 0x62ef553a00000000, 0x4503c3ab00000000, 0xf108b40d00000000,
+ 0x6c125c3c00000000, 0xd8192b9a00000000, 0x56278c5f00000000,
+ 0xe22cfbf900000000, 0x7f3613c800000000, 0xcb3d646e00000000,
+ 0x224d2c9800000000, 0x96465b3e00000000, 0x0b5cb30f00000000,
+ 0xbf57c4a900000000, 0x3169636c00000000, 0x856214ca00000000,
+ 0x1878fcfb00000000, 0xac738b5d00000000, 0x17a6a00300000000,
+ 0xa3add7a500000000, 0x3eb73f9400000000, 0x8abc483200000000,
+ 0x0482eff700000000, 0xb089985100000000, 0x2d93706000000000,
+ 0x999807c600000000, 0x70e84f3000000000, 0xc4e3389600000000,
+ 0x59f9d0a700000000, 0xedf2a70100000000, 0x63cc00c400000000,
+ 0xd7c7776200000000, 0x4add9f5300000000, 0xfed6e8f500000000,
+ 0xd93a7e6400000000, 0x6d3109c200000000, 0xf02be1f300000000,
+ 0x4420965500000000, 0xca1e319000000000, 0x7e15463600000000,
+ 0xe30fae0700000000, 0x5704d9a100000000, 0xbe74915700000000,
+ 0x0a7fe6f100000000, 0x97650ec000000000, 0x236e796600000000,
+ 0xad50dea300000000, 0x195ba90500000000, 0x8441413400000000,
+ 0x304a369200000000},
+ {0x0000000000000000, 0x9e00aacc00000000, 0x7d07254200000000,
+ 0xe3078f8e00000000, 0xfa0e4a8400000000, 0x640ee04800000000,
+ 0x87096fc600000000, 0x1909c50a00000000, 0xb51be5d300000000,
+ 0x2b1b4f1f00000000, 0xc81cc09100000000, 0x561c6a5d00000000,
+ 0x4f15af5700000000, 0xd115059b00000000, 0x32128a1500000000,
+ 0xac1220d900000000, 0x2b31bb7c00000000, 0xb53111b000000000,
+ 0x56369e3e00000000, 0xc83634f200000000, 0xd13ff1f800000000,
+ 0x4f3f5b3400000000, 0xac38d4ba00000000, 0x32387e7600000000,
+ 0x9e2a5eaf00000000, 0x002af46300000000, 0xe32d7bed00000000,
+ 0x7d2dd12100000000, 0x6424142b00000000, 0xfa24bee700000000,
+ 0x1923316900000000, 0x87239ba500000000, 0x566276f900000000,
+ 0xc862dc3500000000, 0x2b6553bb00000000, 0xb565f97700000000,
+ 0xac6c3c7d00000000, 0x326c96b100000000, 0xd16b193f00000000,
+ 0x4f6bb3f300000000, 0xe379932a00000000, 0x7d7939e600000000,
+ 0x9e7eb66800000000, 0x007e1ca400000000, 0x1977d9ae00000000,
+ 0x8777736200000000, 0x6470fcec00000000, 0xfa70562000000000,
+ 0x7d53cd8500000000, 0xe353674900000000, 0x0054e8c700000000,
+ 0x9e54420b00000000, 0x875d870100000000, 0x195d2dcd00000000,
+ 0xfa5aa24300000000, 0x645a088f00000000, 0xc848285600000000,
+ 0x5648829a00000000, 0xb54f0d1400000000, 0x2b4fa7d800000000,
+ 0x324662d200000000, 0xac46c81e00000000, 0x4f41479000000000,
+ 0xd141ed5c00000000, 0xedc29d2900000000, 0x73c237e500000000,
+ 0x90c5b86b00000000, 0x0ec512a700000000, 0x17ccd7ad00000000,
+ 0x89cc7d6100000000, 0x6acbf2ef00000000, 0xf4cb582300000000,
+ 0x58d978fa00000000, 0xc6d9d23600000000, 0x25de5db800000000,
+ 0xbbdef77400000000, 0xa2d7327e00000000, 0x3cd798b200000000,
+ 0xdfd0173c00000000, 0x41d0bdf000000000, 0xc6f3265500000000,
+ 0x58f38c9900000000, 0xbbf4031700000000, 0x25f4a9db00000000,
+ 0x3cfd6cd100000000, 0xa2fdc61d00000000, 0x41fa499300000000,
+ 0xdffae35f00000000, 0x73e8c38600000000, 0xede8694a00000000,
+ 0x0eefe6c400000000, 0x90ef4c0800000000, 0x89e6890200000000,
+ 0x17e623ce00000000, 0xf4e1ac4000000000, 0x6ae1068c00000000,
+ 0xbba0ebd000000000, 0x25a0411c00000000, 0xc6a7ce9200000000,
+ 0x58a7645e00000000, 0x41aea15400000000, 0xdfae0b9800000000,
+ 0x3ca9841600000000, 0xa2a92eda00000000, 0x0ebb0e0300000000,
+ 0x90bba4cf00000000, 0x73bc2b4100000000, 0xedbc818d00000000,
+ 0xf4b5448700000000, 0x6ab5ee4b00000000, 0x89b261c500000000,
+ 0x17b2cb0900000000, 0x909150ac00000000, 0x0e91fa6000000000,
+ 0xed9675ee00000000, 0x7396df2200000000, 0x6a9f1a2800000000,
+ 0xf49fb0e400000000, 0x17983f6a00000000, 0x899895a600000000,
+ 0x258ab57f00000000, 0xbb8a1fb300000000, 0x588d903d00000000,
+ 0xc68d3af100000000, 0xdf84fffb00000000, 0x4184553700000000,
+ 0xa283dab900000000, 0x3c83707500000000, 0xda853b5300000000,
+ 0x4485919f00000000, 0xa7821e1100000000, 0x3982b4dd00000000,
+ 0x208b71d700000000, 0xbe8bdb1b00000000, 0x5d8c549500000000,
+ 0xc38cfe5900000000, 0x6f9ede8000000000, 0xf19e744c00000000,
+ 0x1299fbc200000000, 0x8c99510e00000000, 0x9590940400000000,
+ 0x0b903ec800000000, 0xe897b14600000000, 0x76971b8a00000000,
+ 0xf1b4802f00000000, 0x6fb42ae300000000, 0x8cb3a56d00000000,
+ 0x12b30fa100000000, 0x0bbacaab00000000, 0x95ba606700000000,
+ 0x76bdefe900000000, 0xe8bd452500000000, 0x44af65fc00000000,
+ 0xdaafcf3000000000, 0x39a840be00000000, 0xa7a8ea7200000000,
+ 0xbea12f7800000000, 0x20a185b400000000, 0xc3a60a3a00000000,
+ 0x5da6a0f600000000, 0x8ce74daa00000000, 0x12e7e76600000000,
+ 0xf1e068e800000000, 0x6fe0c22400000000, 0x76e9072e00000000,
+ 0xe8e9ade200000000, 0x0bee226c00000000, 0x95ee88a000000000,
+ 0x39fca87900000000, 0xa7fc02b500000000, 0x44fb8d3b00000000,
+ 0xdafb27f700000000, 0xc3f2e2fd00000000, 0x5df2483100000000,
+ 0xbef5c7bf00000000, 0x20f56d7300000000, 0xa7d6f6d600000000,
+ 0x39d65c1a00000000, 0xdad1d39400000000, 0x44d1795800000000,
+ 0x5dd8bc5200000000, 0xc3d8169e00000000, 0x20df991000000000,
+ 0xbedf33dc00000000, 0x12cd130500000000, 0x8ccdb9c900000000,
+ 0x6fca364700000000, 0xf1ca9c8b00000000, 0xe8c3598100000000,
+ 0x76c3f34d00000000, 0x95c47cc300000000, 0x0bc4d60f00000000,
+ 0x3747a67a00000000, 0xa9470cb600000000, 0x4a40833800000000,
+ 0xd44029f400000000, 0xcd49ecfe00000000, 0x5349463200000000,
+ 0xb04ec9bc00000000, 0x2e4e637000000000, 0x825c43a900000000,
+ 0x1c5ce96500000000, 0xff5b66eb00000000, 0x615bcc2700000000,
+ 0x7852092d00000000, 0xe652a3e100000000, 0x05552c6f00000000,
+ 0x9b5586a300000000, 0x1c761d0600000000, 0x8276b7ca00000000,
+ 0x6171384400000000, 0xff71928800000000, 0xe678578200000000,
+ 0x7878fd4e00000000, 0x9b7f72c000000000, 0x057fd80c00000000,
+ 0xa96df8d500000000, 0x376d521900000000, 0xd46add9700000000,
+ 0x4a6a775b00000000, 0x5363b25100000000, 0xcd63189d00000000,
+ 0x2e64971300000000, 0xb0643ddf00000000, 0x6125d08300000000,
+ 0xff257a4f00000000, 0x1c22f5c100000000, 0x82225f0d00000000,
+ 0x9b2b9a0700000000, 0x052b30cb00000000, 0xe62cbf4500000000,
+ 0x782c158900000000, 0xd43e355000000000, 0x4a3e9f9c00000000,
+ 0xa939101200000000, 0x3739bade00000000, 0x2e307fd400000000,
+ 0xb030d51800000000, 0x53375a9600000000, 0xcd37f05a00000000,
+ 0x4a146bff00000000, 0xd414c13300000000, 0x37134ebd00000000,
+ 0xa913e47100000000, 0xb01a217b00000000, 0x2e1a8bb700000000,
+ 0xcd1d043900000000, 0x531daef500000000, 0xff0f8e2c00000000,
+ 0x610f24e000000000, 0x8208ab6e00000000, 0x1c0801a200000000,
+ 0x0501c4a800000000, 0x9b016e6400000000, 0x7806e1ea00000000,
+ 0xe6064b2600000000}};
+
+#else /* W == 4 */
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0xb8bc6765, 0xaa09c88b, 0x12b5afee, 0x8f629757,
+ 0x37def032, 0x256b5fdc, 0x9dd738b9, 0xc5b428ef, 0x7d084f8a,
+ 0x6fbde064, 0xd7018701, 0x4ad6bfb8, 0xf26ad8dd, 0xe0df7733,
+ 0x58631056, 0x5019579f, 0xe8a530fa, 0xfa109f14, 0x42acf871,
+ 0xdf7bc0c8, 0x67c7a7ad, 0x75720843, 0xcdce6f26, 0x95ad7f70,
+ 0x2d111815, 0x3fa4b7fb, 0x8718d09e, 0x1acfe827, 0xa2738f42,
+ 0xb0c620ac, 0x087a47c9, 0xa032af3e, 0x188ec85b, 0x0a3b67b5,
+ 0xb28700d0, 0x2f503869, 0x97ec5f0c, 0x8559f0e2, 0x3de59787,
+ 0x658687d1, 0xdd3ae0b4, 0xcf8f4f5a, 0x7733283f, 0xeae41086,
+ 0x525877e3, 0x40edd80d, 0xf851bf68, 0xf02bf8a1, 0x48979fc4,
+ 0x5a22302a, 0xe29e574f, 0x7f496ff6, 0xc7f50893, 0xd540a77d,
+ 0x6dfcc018, 0x359fd04e, 0x8d23b72b, 0x9f9618c5, 0x272a7fa0,
+ 0xbafd4719, 0x0241207c, 0x10f48f92, 0xa848e8f7, 0x9b14583d,
+ 0x23a83f58, 0x311d90b6, 0x89a1f7d3, 0x1476cf6a, 0xaccaa80f,
+ 0xbe7f07e1, 0x06c36084, 0x5ea070d2, 0xe61c17b7, 0xf4a9b859,
+ 0x4c15df3c, 0xd1c2e785, 0x697e80e0, 0x7bcb2f0e, 0xc377486b,
+ 0xcb0d0fa2, 0x73b168c7, 0x6104c729, 0xd9b8a04c, 0x446f98f5,
+ 0xfcd3ff90, 0xee66507e, 0x56da371b, 0x0eb9274d, 0xb6054028,
+ 0xa4b0efc6, 0x1c0c88a3, 0x81dbb01a, 0x3967d77f, 0x2bd27891,
+ 0x936e1ff4, 0x3b26f703, 0x839a9066, 0x912f3f88, 0x299358ed,
+ 0xb4446054, 0x0cf80731, 0x1e4da8df, 0xa6f1cfba, 0xfe92dfec,
+ 0x462eb889, 0x549b1767, 0xec277002, 0x71f048bb, 0xc94c2fde,
+ 0xdbf98030, 0x6345e755, 0x6b3fa09c, 0xd383c7f9, 0xc1366817,
+ 0x798a0f72, 0xe45d37cb, 0x5ce150ae, 0x4e54ff40, 0xf6e89825,
+ 0xae8b8873, 0x1637ef16, 0x048240f8, 0xbc3e279d, 0x21e91f24,
+ 0x99557841, 0x8be0d7af, 0x335cb0ca, 0xed59b63b, 0x55e5d15e,
+ 0x47507eb0, 0xffec19d5, 0x623b216c, 0xda874609, 0xc832e9e7,
+ 0x708e8e82, 0x28ed9ed4, 0x9051f9b1, 0x82e4565f, 0x3a58313a,
+ 0xa78f0983, 0x1f336ee6, 0x0d86c108, 0xb53aa66d, 0xbd40e1a4,
+ 0x05fc86c1, 0x1749292f, 0xaff54e4a, 0x322276f3, 0x8a9e1196,
+ 0x982bbe78, 0x2097d91d, 0x78f4c94b, 0xc048ae2e, 0xd2fd01c0,
+ 0x6a4166a5, 0xf7965e1c, 0x4f2a3979, 0x5d9f9697, 0xe523f1f2,
+ 0x4d6b1905, 0xf5d77e60, 0xe762d18e, 0x5fdeb6eb, 0xc2098e52,
+ 0x7ab5e937, 0x680046d9, 0xd0bc21bc, 0x88df31ea, 0x3063568f,
+ 0x22d6f961, 0x9a6a9e04, 0x07bda6bd, 0xbf01c1d8, 0xadb46e36,
+ 0x15080953, 0x1d724e9a, 0xa5ce29ff, 0xb77b8611, 0x0fc7e174,
+ 0x9210d9cd, 0x2aacbea8, 0x38191146, 0x80a57623, 0xd8c66675,
+ 0x607a0110, 0x72cfaefe, 0xca73c99b, 0x57a4f122, 0xef189647,
+ 0xfdad39a9, 0x45115ecc, 0x764dee06, 0xcef18963, 0xdc44268d,
+ 0x64f841e8, 0xf92f7951, 0x41931e34, 0x5326b1da, 0xeb9ad6bf,
+ 0xb3f9c6e9, 0x0b45a18c, 0x19f00e62, 0xa14c6907, 0x3c9b51be,
+ 0x842736db, 0x96929935, 0x2e2efe50, 0x2654b999, 0x9ee8defc,
+ 0x8c5d7112, 0x34e11677, 0xa9362ece, 0x118a49ab, 0x033fe645,
+ 0xbb838120, 0xe3e09176, 0x5b5cf613, 0x49e959fd, 0xf1553e98,
+ 0x6c820621, 0xd43e6144, 0xc68bceaa, 0x7e37a9cf, 0xd67f4138,
+ 0x6ec3265d, 0x7c7689b3, 0xc4caeed6, 0x591dd66f, 0xe1a1b10a,
+ 0xf3141ee4, 0x4ba87981, 0x13cb69d7, 0xab770eb2, 0xb9c2a15c,
+ 0x017ec639, 0x9ca9fe80, 0x241599e5, 0x36a0360b, 0x8e1c516e,
+ 0x866616a7, 0x3eda71c2, 0x2c6fde2c, 0x94d3b949, 0x090481f0,
+ 0xb1b8e695, 0xa30d497b, 0x1bb12e1e, 0x43d23e48, 0xfb6e592d,
+ 0xe9dbf6c3, 0x516791a6, 0xccb0a91f, 0x740cce7a, 0x66b96194,
+ 0xde0506f1},
+ {0x00000000, 0x01c26a37, 0x0384d46e, 0x0246be59, 0x0709a8dc,
+ 0x06cbc2eb, 0x048d7cb2, 0x054f1685, 0x0e1351b8, 0x0fd13b8f,
+ 0x0d9785d6, 0x0c55efe1, 0x091af964, 0x08d89353, 0x0a9e2d0a,
+ 0x0b5c473d, 0x1c26a370, 0x1de4c947, 0x1fa2771e, 0x1e601d29,
+ 0x1b2f0bac, 0x1aed619b, 0x18abdfc2, 0x1969b5f5, 0x1235f2c8,
+ 0x13f798ff, 0x11b126a6, 0x10734c91, 0x153c5a14, 0x14fe3023,
+ 0x16b88e7a, 0x177ae44d, 0x384d46e0, 0x398f2cd7, 0x3bc9928e,
+ 0x3a0bf8b9, 0x3f44ee3c, 0x3e86840b, 0x3cc03a52, 0x3d025065,
+ 0x365e1758, 0x379c7d6f, 0x35dac336, 0x3418a901, 0x3157bf84,
+ 0x3095d5b3, 0x32d36bea, 0x331101dd, 0x246be590, 0x25a98fa7,
+ 0x27ef31fe, 0x262d5bc9, 0x23624d4c, 0x22a0277b, 0x20e69922,
+ 0x2124f315, 0x2a78b428, 0x2bbade1f, 0x29fc6046, 0x283e0a71,
+ 0x2d711cf4, 0x2cb376c3, 0x2ef5c89a, 0x2f37a2ad, 0x709a8dc0,
+ 0x7158e7f7, 0x731e59ae, 0x72dc3399, 0x7793251c, 0x76514f2b,
+ 0x7417f172, 0x75d59b45, 0x7e89dc78, 0x7f4bb64f, 0x7d0d0816,
+ 0x7ccf6221, 0x798074a4, 0x78421e93, 0x7a04a0ca, 0x7bc6cafd,
+ 0x6cbc2eb0, 0x6d7e4487, 0x6f38fade, 0x6efa90e9, 0x6bb5866c,
+ 0x6a77ec5b, 0x68315202, 0x69f33835, 0x62af7f08, 0x636d153f,
+ 0x612bab66, 0x60e9c151, 0x65a6d7d4, 0x6464bde3, 0x662203ba,
+ 0x67e0698d, 0x48d7cb20, 0x4915a117, 0x4b531f4e, 0x4a917579,
+ 0x4fde63fc, 0x4e1c09cb, 0x4c5ab792, 0x4d98dda5, 0x46c49a98,
+ 0x4706f0af, 0x45404ef6, 0x448224c1, 0x41cd3244, 0x400f5873,
+ 0x4249e62a, 0x438b8c1d, 0x54f16850, 0x55330267, 0x5775bc3e,
+ 0x56b7d609, 0x53f8c08c, 0x523aaabb, 0x507c14e2, 0x51be7ed5,
+ 0x5ae239e8, 0x5b2053df, 0x5966ed86, 0x58a487b1, 0x5deb9134,
+ 0x5c29fb03, 0x5e6f455a, 0x5fad2f6d, 0xe1351b80, 0xe0f771b7,
+ 0xe2b1cfee, 0xe373a5d9, 0xe63cb35c, 0xe7fed96b, 0xe5b86732,
+ 0xe47a0d05, 0xef264a38, 0xeee4200f, 0xeca29e56, 0xed60f461,
+ 0xe82fe2e4, 0xe9ed88d3, 0xebab368a, 0xea695cbd, 0xfd13b8f0,
+ 0xfcd1d2c7, 0xfe976c9e, 0xff5506a9, 0xfa1a102c, 0xfbd87a1b,
+ 0xf99ec442, 0xf85cae75, 0xf300e948, 0xf2c2837f, 0xf0843d26,
+ 0xf1465711, 0xf4094194, 0xf5cb2ba3, 0xf78d95fa, 0xf64fffcd,
+ 0xd9785d60, 0xd8ba3757, 0xdafc890e, 0xdb3ee339, 0xde71f5bc,
+ 0xdfb39f8b, 0xddf521d2, 0xdc374be5, 0xd76b0cd8, 0xd6a966ef,
+ 0xd4efd8b6, 0xd52db281, 0xd062a404, 0xd1a0ce33, 0xd3e6706a,
+ 0xd2241a5d, 0xc55efe10, 0xc49c9427, 0xc6da2a7e, 0xc7184049,
+ 0xc25756cc, 0xc3953cfb, 0xc1d382a2, 0xc011e895, 0xcb4dafa8,
+ 0xca8fc59f, 0xc8c97bc6, 0xc90b11f1, 0xcc440774, 0xcd866d43,
+ 0xcfc0d31a, 0xce02b92d, 0x91af9640, 0x906dfc77, 0x922b422e,
+ 0x93e92819, 0x96a63e9c, 0x976454ab, 0x9522eaf2, 0x94e080c5,
+ 0x9fbcc7f8, 0x9e7eadcf, 0x9c381396, 0x9dfa79a1, 0x98b56f24,
+ 0x99770513, 0x9b31bb4a, 0x9af3d17d, 0x8d893530, 0x8c4b5f07,
+ 0x8e0de15e, 0x8fcf8b69, 0x8a809dec, 0x8b42f7db, 0x89044982,
+ 0x88c623b5, 0x839a6488, 0x82580ebf, 0x801eb0e6, 0x81dcdad1,
+ 0x8493cc54, 0x8551a663, 0x8717183a, 0x86d5720d, 0xa9e2d0a0,
+ 0xa820ba97, 0xaa6604ce, 0xaba46ef9, 0xaeeb787c, 0xaf29124b,
+ 0xad6fac12, 0xacadc625, 0xa7f18118, 0xa633eb2f, 0xa4755576,
+ 0xa5b73f41, 0xa0f829c4, 0xa13a43f3, 0xa37cfdaa, 0xa2be979d,
+ 0xb5c473d0, 0xb40619e7, 0xb640a7be, 0xb782cd89, 0xb2cddb0c,
+ 0xb30fb13b, 0xb1490f62, 0xb08b6555, 0xbbd72268, 0xba15485f,
+ 0xb853f606, 0xb9919c31, 0xbcde8ab4, 0xbd1ce083, 0xbf5a5eda,
+ 0xbe9834ed},
+ {0x00000000, 0x191b3141, 0x32366282, 0x2b2d53c3, 0x646cc504,
+ 0x7d77f445, 0x565aa786, 0x4f4196c7, 0xc8d98a08, 0xd1c2bb49,
+ 0xfaefe88a, 0xe3f4d9cb, 0xacb54f0c, 0xb5ae7e4d, 0x9e832d8e,
+ 0x87981ccf, 0x4ac21251, 0x53d92310, 0x78f470d3, 0x61ef4192,
+ 0x2eaed755, 0x37b5e614, 0x1c98b5d7, 0x05838496, 0x821b9859,
+ 0x9b00a918, 0xb02dfadb, 0xa936cb9a, 0xe6775d5d, 0xff6c6c1c,
+ 0xd4413fdf, 0xcd5a0e9e, 0x958424a2, 0x8c9f15e3, 0xa7b24620,
+ 0xbea97761, 0xf1e8e1a6, 0xe8f3d0e7, 0xc3de8324, 0xdac5b265,
+ 0x5d5daeaa, 0x44469feb, 0x6f6bcc28, 0x7670fd69, 0x39316bae,
+ 0x202a5aef, 0x0b07092c, 0x121c386d, 0xdf4636f3, 0xc65d07b2,
+ 0xed705471, 0xf46b6530, 0xbb2af3f7, 0xa231c2b6, 0x891c9175,
+ 0x9007a034, 0x179fbcfb, 0x0e848dba, 0x25a9de79, 0x3cb2ef38,
+ 0x73f379ff, 0x6ae848be, 0x41c51b7d, 0x58de2a3c, 0xf0794f05,
+ 0xe9627e44, 0xc24f2d87, 0xdb541cc6, 0x94158a01, 0x8d0ebb40,
+ 0xa623e883, 0xbf38d9c2, 0x38a0c50d, 0x21bbf44c, 0x0a96a78f,
+ 0x138d96ce, 0x5ccc0009, 0x45d73148, 0x6efa628b, 0x77e153ca,
+ 0xbabb5d54, 0xa3a06c15, 0x888d3fd6, 0x91960e97, 0xded79850,
+ 0xc7cca911, 0xece1fad2, 0xf5facb93, 0x7262d75c, 0x6b79e61d,
+ 0x4054b5de, 0x594f849f, 0x160e1258, 0x0f152319, 0x243870da,
+ 0x3d23419b, 0x65fd6ba7, 0x7ce65ae6, 0x57cb0925, 0x4ed03864,
+ 0x0191aea3, 0x188a9fe2, 0x33a7cc21, 0x2abcfd60, 0xad24e1af,
+ 0xb43fd0ee, 0x9f12832d, 0x8609b26c, 0xc94824ab, 0xd05315ea,
+ 0xfb7e4629, 0xe2657768, 0x2f3f79f6, 0x362448b7, 0x1d091b74,
+ 0x04122a35, 0x4b53bcf2, 0x52488db3, 0x7965de70, 0x607eef31,
+ 0xe7e6f3fe, 0xfefdc2bf, 0xd5d0917c, 0xcccba03d, 0x838a36fa,
+ 0x9a9107bb, 0xb1bc5478, 0xa8a76539, 0x3b83984b, 0x2298a90a,
+ 0x09b5fac9, 0x10aecb88, 0x5fef5d4f, 0x46f46c0e, 0x6dd93fcd,
+ 0x74c20e8c, 0xf35a1243, 0xea412302, 0xc16c70c1, 0xd8774180,
+ 0x9736d747, 0x8e2de606, 0xa500b5c5, 0xbc1b8484, 0x71418a1a,
+ 0x685abb5b, 0x4377e898, 0x5a6cd9d9, 0x152d4f1e, 0x0c367e5f,
+ 0x271b2d9c, 0x3e001cdd, 0xb9980012, 0xa0833153, 0x8bae6290,
+ 0x92b553d1, 0xddf4c516, 0xc4eff457, 0xefc2a794, 0xf6d996d5,
+ 0xae07bce9, 0xb71c8da8, 0x9c31de6b, 0x852aef2a, 0xca6b79ed,
+ 0xd37048ac, 0xf85d1b6f, 0xe1462a2e, 0x66de36e1, 0x7fc507a0,
+ 0x54e85463, 0x4df36522, 0x02b2f3e5, 0x1ba9c2a4, 0x30849167,
+ 0x299fa026, 0xe4c5aeb8, 0xfdde9ff9, 0xd6f3cc3a, 0xcfe8fd7b,
+ 0x80a96bbc, 0x99b25afd, 0xb29f093e, 0xab84387f, 0x2c1c24b0,
+ 0x350715f1, 0x1e2a4632, 0x07317773, 0x4870e1b4, 0x516bd0f5,
+ 0x7a468336, 0x635db277, 0xcbfad74e, 0xd2e1e60f, 0xf9ccb5cc,
+ 0xe0d7848d, 0xaf96124a, 0xb68d230b, 0x9da070c8, 0x84bb4189,
+ 0x03235d46, 0x1a386c07, 0x31153fc4, 0x280e0e85, 0x674f9842,
+ 0x7e54a903, 0x5579fac0, 0x4c62cb81, 0x8138c51f, 0x9823f45e,
+ 0xb30ea79d, 0xaa1596dc, 0xe554001b, 0xfc4f315a, 0xd7626299,
+ 0xce7953d8, 0x49e14f17, 0x50fa7e56, 0x7bd72d95, 0x62cc1cd4,
+ 0x2d8d8a13, 0x3496bb52, 0x1fbbe891, 0x06a0d9d0, 0x5e7ef3ec,
+ 0x4765c2ad, 0x6c48916e, 0x7553a02f, 0x3a1236e8, 0x230907a9,
+ 0x0824546a, 0x113f652b, 0x96a779e4, 0x8fbc48a5, 0xa4911b66,
+ 0xbd8a2a27, 0xf2cbbce0, 0xebd08da1, 0xc0fdde62, 0xd9e6ef23,
+ 0x14bce1bd, 0x0da7d0fc, 0x268a833f, 0x3f91b27e, 0x70d024b9,
+ 0x69cb15f8, 0x42e6463b, 0x5bfd777a, 0xdc656bb5, 0xc57e5af4,
+ 0xee530937, 0xf7483876, 0xb809aeb1, 0xa1129ff0, 0x8a3fcc33,
+ 0x9324fd72},
+ {0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
+ 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
+ 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
+ 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+ 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
+ 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+ 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
+ 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+ 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
+ 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
+ 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
+ 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+ 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
+ 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
+ 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
+ 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+ 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
+ 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+ 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
+ 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+ 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
+ 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
+ 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
+ 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+ 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
+ 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
+ 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
+ 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+ 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
+ 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+ 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
+ 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+ 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
+ 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
+ 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
+ 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+ 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
+ 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
+ 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
+ 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+ 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
+ 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+ 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
+ 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+ 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
+ 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
+ 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
+ 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+ 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
+ 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
+ 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
+ 0x2d02ef8d}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x00000000, 0x96300777, 0x2c610eee, 0xba510999, 0x19c46d07,
+ 0x8ff46a70, 0x35a563e9, 0xa395649e, 0x3288db0e, 0xa4b8dc79,
+ 0x1ee9d5e0, 0x88d9d297, 0x2b4cb609, 0xbd7cb17e, 0x072db8e7,
+ 0x911dbf90, 0x6410b71d, 0xf220b06a, 0x4871b9f3, 0xde41be84,
+ 0x7dd4da1a, 0xebe4dd6d, 0x51b5d4f4, 0xc785d383, 0x56986c13,
+ 0xc0a86b64, 0x7af962fd, 0xecc9658a, 0x4f5c0114, 0xd96c0663,
+ 0x633d0ffa, 0xf50d088d, 0xc8206e3b, 0x5e10694c, 0xe44160d5,
+ 0x727167a2, 0xd1e4033c, 0x47d4044b, 0xfd850dd2, 0x6bb50aa5,
+ 0xfaa8b535, 0x6c98b242, 0xd6c9bbdb, 0x40f9bcac, 0xe36cd832,
+ 0x755cdf45, 0xcf0dd6dc, 0x593dd1ab, 0xac30d926, 0x3a00de51,
+ 0x8051d7c8, 0x1661d0bf, 0xb5f4b421, 0x23c4b356, 0x9995bacf,
+ 0x0fa5bdb8, 0x9eb80228, 0x0888055f, 0xb2d90cc6, 0x24e90bb1,
+ 0x877c6f2f, 0x114c6858, 0xab1d61c1, 0x3d2d66b6, 0x9041dc76,
+ 0x0671db01, 0xbc20d298, 0x2a10d5ef, 0x8985b171, 0x1fb5b606,
+ 0xa5e4bf9f, 0x33d4b8e8, 0xa2c90778, 0x34f9000f, 0x8ea80996,
+ 0x18980ee1, 0xbb0d6a7f, 0x2d3d6d08, 0x976c6491, 0x015c63e6,
+ 0xf4516b6b, 0x62616c1c, 0xd8306585, 0x4e0062f2, 0xed95066c,
+ 0x7ba5011b, 0xc1f40882, 0x57c40ff5, 0xc6d9b065, 0x50e9b712,
+ 0xeab8be8b, 0x7c88b9fc, 0xdf1ddd62, 0x492dda15, 0xf37cd38c,
+ 0x654cd4fb, 0x5861b24d, 0xce51b53a, 0x7400bca3, 0xe230bbd4,
+ 0x41a5df4a, 0xd795d83d, 0x6dc4d1a4, 0xfbf4d6d3, 0x6ae96943,
+ 0xfcd96e34, 0x468867ad, 0xd0b860da, 0x732d0444, 0xe51d0333,
+ 0x5f4c0aaa, 0xc97c0ddd, 0x3c710550, 0xaa410227, 0x10100bbe,
+ 0x86200cc9, 0x25b56857, 0xb3856f20, 0x09d466b9, 0x9fe461ce,
+ 0x0ef9de5e, 0x98c9d929, 0x2298d0b0, 0xb4a8d7c7, 0x173db359,
+ 0x810db42e, 0x3b5cbdb7, 0xad6cbac0, 0x2083b8ed, 0xb6b3bf9a,
+ 0x0ce2b603, 0x9ad2b174, 0x3947d5ea, 0xaf77d29d, 0x1526db04,
+ 0x8316dc73, 0x120b63e3, 0x843b6494, 0x3e6a6d0d, 0xa85a6a7a,
+ 0x0bcf0ee4, 0x9dff0993, 0x27ae000a, 0xb19e077d, 0x44930ff0,
+ 0xd2a30887, 0x68f2011e, 0xfec20669, 0x5d5762f7, 0xcb676580,
+ 0x71366c19, 0xe7066b6e, 0x761bd4fe, 0xe02bd389, 0x5a7ada10,
+ 0xcc4add67, 0x6fdfb9f9, 0xf9efbe8e, 0x43beb717, 0xd58eb060,
+ 0xe8a3d6d6, 0x7e93d1a1, 0xc4c2d838, 0x52f2df4f, 0xf167bbd1,
+ 0x6757bca6, 0xdd06b53f, 0x4b36b248, 0xda2b0dd8, 0x4c1b0aaf,
+ 0xf64a0336, 0x607a0441, 0xc3ef60df, 0x55df67a8, 0xef8e6e31,
+ 0x79be6946, 0x8cb361cb, 0x1a8366bc, 0xa0d26f25, 0x36e26852,
+ 0x95770ccc, 0x03470bbb, 0xb9160222, 0x2f260555, 0xbe3bbac5,
+ 0x280bbdb2, 0x925ab42b, 0x046ab35c, 0xa7ffd7c2, 0x31cfd0b5,
+ 0x8b9ed92c, 0x1daede5b, 0xb0c2649b, 0x26f263ec, 0x9ca36a75,
+ 0x0a936d02, 0xa906099c, 0x3f360eeb, 0x85670772, 0x13570005,
+ 0x824abf95, 0x147ab8e2, 0xae2bb17b, 0x381bb60c, 0x9b8ed292,
+ 0x0dbed5e5, 0xb7efdc7c, 0x21dfdb0b, 0xd4d2d386, 0x42e2d4f1,
+ 0xf8b3dd68, 0x6e83da1f, 0xcd16be81, 0x5b26b9f6, 0xe177b06f,
+ 0x7747b718, 0xe65a0888, 0x706a0fff, 0xca3b0666, 0x5c0b0111,
+ 0xff9e658f, 0x69ae62f8, 0xd3ff6b61, 0x45cf6c16, 0x78e20aa0,
+ 0xeed20dd7, 0x5483044e, 0xc2b30339, 0x612667a7, 0xf71660d0,
+ 0x4d476949, 0xdb776e3e, 0x4a6ad1ae, 0xdc5ad6d9, 0x660bdf40,
+ 0xf03bd837, 0x53aebca9, 0xc59ebbde, 0x7fcfb247, 0xe9ffb530,
+ 0x1cf2bdbd, 0x8ac2baca, 0x3093b353, 0xa6a3b424, 0x0536d0ba,
+ 0x9306d7cd, 0x2957de54, 0xbf67d923, 0x2e7a66b3, 0xb84a61c4,
+ 0x021b685d, 0x942b6f2a, 0x37be0bb4, 0xa18e0cc3, 0x1bdf055a,
+ 0x8def022d},
+ {0x00000000, 0x41311b19, 0x82623632, 0xc3532d2b, 0x04c56c64,
+ 0x45f4777d, 0x86a75a56, 0xc796414f, 0x088ad9c8, 0x49bbc2d1,
+ 0x8ae8effa, 0xcbd9f4e3, 0x0c4fb5ac, 0x4d7eaeb5, 0x8e2d839e,
+ 0xcf1c9887, 0x5112c24a, 0x1023d953, 0xd370f478, 0x9241ef61,
+ 0x55d7ae2e, 0x14e6b537, 0xd7b5981c, 0x96848305, 0x59981b82,
+ 0x18a9009b, 0xdbfa2db0, 0x9acb36a9, 0x5d5d77e6, 0x1c6c6cff,
+ 0xdf3f41d4, 0x9e0e5acd, 0xa2248495, 0xe3159f8c, 0x2046b2a7,
+ 0x6177a9be, 0xa6e1e8f1, 0xe7d0f3e8, 0x2483dec3, 0x65b2c5da,
+ 0xaaae5d5d, 0xeb9f4644, 0x28cc6b6f, 0x69fd7076, 0xae6b3139,
+ 0xef5a2a20, 0x2c09070b, 0x6d381c12, 0xf33646df, 0xb2075dc6,
+ 0x715470ed, 0x30656bf4, 0xf7f32abb, 0xb6c231a2, 0x75911c89,
+ 0x34a00790, 0xfbbc9f17, 0xba8d840e, 0x79dea925, 0x38efb23c,
+ 0xff79f373, 0xbe48e86a, 0x7d1bc541, 0x3c2ade58, 0x054f79f0,
+ 0x447e62e9, 0x872d4fc2, 0xc61c54db, 0x018a1594, 0x40bb0e8d,
+ 0x83e823a6, 0xc2d938bf, 0x0dc5a038, 0x4cf4bb21, 0x8fa7960a,
+ 0xce968d13, 0x0900cc5c, 0x4831d745, 0x8b62fa6e, 0xca53e177,
+ 0x545dbbba, 0x156ca0a3, 0xd63f8d88, 0x970e9691, 0x5098d7de,
+ 0x11a9ccc7, 0xd2fae1ec, 0x93cbfaf5, 0x5cd76272, 0x1de6796b,
+ 0xdeb55440, 0x9f844f59, 0x58120e16, 0x1923150f, 0xda703824,
+ 0x9b41233d, 0xa76bfd65, 0xe65ae67c, 0x2509cb57, 0x6438d04e,
+ 0xa3ae9101, 0xe29f8a18, 0x21cca733, 0x60fdbc2a, 0xafe124ad,
+ 0xeed03fb4, 0x2d83129f, 0x6cb20986, 0xab2448c9, 0xea1553d0,
+ 0x29467efb, 0x687765e2, 0xf6793f2f, 0xb7482436, 0x741b091d,
+ 0x352a1204, 0xf2bc534b, 0xb38d4852, 0x70de6579, 0x31ef7e60,
+ 0xfef3e6e7, 0xbfc2fdfe, 0x7c91d0d5, 0x3da0cbcc, 0xfa368a83,
+ 0xbb07919a, 0x7854bcb1, 0x3965a7a8, 0x4b98833b, 0x0aa99822,
+ 0xc9fab509, 0x88cbae10, 0x4f5def5f, 0x0e6cf446, 0xcd3fd96d,
+ 0x8c0ec274, 0x43125af3, 0x022341ea, 0xc1706cc1, 0x804177d8,
+ 0x47d73697, 0x06e62d8e, 0xc5b500a5, 0x84841bbc, 0x1a8a4171,
+ 0x5bbb5a68, 0x98e87743, 0xd9d96c5a, 0x1e4f2d15, 0x5f7e360c,
+ 0x9c2d1b27, 0xdd1c003e, 0x120098b9, 0x533183a0, 0x9062ae8b,
+ 0xd153b592, 0x16c5f4dd, 0x57f4efc4, 0x94a7c2ef, 0xd596d9f6,
+ 0xe9bc07ae, 0xa88d1cb7, 0x6bde319c, 0x2aef2a85, 0xed796bca,
+ 0xac4870d3, 0x6f1b5df8, 0x2e2a46e1, 0xe136de66, 0xa007c57f,
+ 0x6354e854, 0x2265f34d, 0xe5f3b202, 0xa4c2a91b, 0x67918430,
+ 0x26a09f29, 0xb8aec5e4, 0xf99fdefd, 0x3accf3d6, 0x7bfde8cf,
+ 0xbc6ba980, 0xfd5ab299, 0x3e099fb2, 0x7f3884ab, 0xb0241c2c,
+ 0xf1150735, 0x32462a1e, 0x73773107, 0xb4e17048, 0xf5d06b51,
+ 0x3683467a, 0x77b25d63, 0x4ed7facb, 0x0fe6e1d2, 0xccb5ccf9,
+ 0x8d84d7e0, 0x4a1296af, 0x0b238db6, 0xc870a09d, 0x8941bb84,
+ 0x465d2303, 0x076c381a, 0xc43f1531, 0x850e0e28, 0x42984f67,
+ 0x03a9547e, 0xc0fa7955, 0x81cb624c, 0x1fc53881, 0x5ef42398,
+ 0x9da70eb3, 0xdc9615aa, 0x1b0054e5, 0x5a314ffc, 0x996262d7,
+ 0xd85379ce, 0x174fe149, 0x567efa50, 0x952dd77b, 0xd41ccc62,
+ 0x138a8d2d, 0x52bb9634, 0x91e8bb1f, 0xd0d9a006, 0xecf37e5e,
+ 0xadc26547, 0x6e91486c, 0x2fa05375, 0xe836123a, 0xa9070923,
+ 0x6a542408, 0x2b653f11, 0xe479a796, 0xa548bc8f, 0x661b91a4,
+ 0x272a8abd, 0xe0bccbf2, 0xa18dd0eb, 0x62defdc0, 0x23efe6d9,
+ 0xbde1bc14, 0xfcd0a70d, 0x3f838a26, 0x7eb2913f, 0xb924d070,
+ 0xf815cb69, 0x3b46e642, 0x7a77fd5b, 0xb56b65dc, 0xf45a7ec5,
+ 0x370953ee, 0x763848f7, 0xb1ae09b8, 0xf09f12a1, 0x33cc3f8a,
+ 0x72fd2493},
+ {0x00000000, 0x376ac201, 0x6ed48403, 0x59be4602, 0xdca80907,
+ 0xebc2cb06, 0xb27c8d04, 0x85164f05, 0xb851130e, 0x8f3bd10f,
+ 0xd685970d, 0xe1ef550c, 0x64f91a09, 0x5393d808, 0x0a2d9e0a,
+ 0x3d475c0b, 0x70a3261c, 0x47c9e41d, 0x1e77a21f, 0x291d601e,
+ 0xac0b2f1b, 0x9b61ed1a, 0xc2dfab18, 0xf5b56919, 0xc8f23512,
+ 0xff98f713, 0xa626b111, 0x914c7310, 0x145a3c15, 0x2330fe14,
+ 0x7a8eb816, 0x4de47a17, 0xe0464d38, 0xd72c8f39, 0x8e92c93b,
+ 0xb9f80b3a, 0x3cee443f, 0x0b84863e, 0x523ac03c, 0x6550023d,
+ 0x58175e36, 0x6f7d9c37, 0x36c3da35, 0x01a91834, 0x84bf5731,
+ 0xb3d59530, 0xea6bd332, 0xdd011133, 0x90e56b24, 0xa78fa925,
+ 0xfe31ef27, 0xc95b2d26, 0x4c4d6223, 0x7b27a022, 0x2299e620,
+ 0x15f32421, 0x28b4782a, 0x1fdeba2b, 0x4660fc29, 0x710a3e28,
+ 0xf41c712d, 0xc376b32c, 0x9ac8f52e, 0xada2372f, 0xc08d9a70,
+ 0xf7e75871, 0xae591e73, 0x9933dc72, 0x1c259377, 0x2b4f5176,
+ 0x72f11774, 0x459bd575, 0x78dc897e, 0x4fb64b7f, 0x16080d7d,
+ 0x2162cf7c, 0xa4748079, 0x931e4278, 0xcaa0047a, 0xfdcac67b,
+ 0xb02ebc6c, 0x87447e6d, 0xdefa386f, 0xe990fa6e, 0x6c86b56b,
+ 0x5bec776a, 0x02523168, 0x3538f369, 0x087faf62, 0x3f156d63,
+ 0x66ab2b61, 0x51c1e960, 0xd4d7a665, 0xe3bd6464, 0xba032266,
+ 0x8d69e067, 0x20cbd748, 0x17a11549, 0x4e1f534b, 0x7975914a,
+ 0xfc63de4f, 0xcb091c4e, 0x92b75a4c, 0xa5dd984d, 0x989ac446,
+ 0xaff00647, 0xf64e4045, 0xc1248244, 0x4432cd41, 0x73580f40,
+ 0x2ae64942, 0x1d8c8b43, 0x5068f154, 0x67023355, 0x3ebc7557,
+ 0x09d6b756, 0x8cc0f853, 0xbbaa3a52, 0xe2147c50, 0xd57ebe51,
+ 0xe839e25a, 0xdf53205b, 0x86ed6659, 0xb187a458, 0x3491eb5d,
+ 0x03fb295c, 0x5a456f5e, 0x6d2fad5f, 0x801b35e1, 0xb771f7e0,
+ 0xeecfb1e2, 0xd9a573e3, 0x5cb33ce6, 0x6bd9fee7, 0x3267b8e5,
+ 0x050d7ae4, 0x384a26ef, 0x0f20e4ee, 0x569ea2ec, 0x61f460ed,
+ 0xe4e22fe8, 0xd388ede9, 0x8a36abeb, 0xbd5c69ea, 0xf0b813fd,
+ 0xc7d2d1fc, 0x9e6c97fe, 0xa90655ff, 0x2c101afa, 0x1b7ad8fb,
+ 0x42c49ef9, 0x75ae5cf8, 0x48e900f3, 0x7f83c2f2, 0x263d84f0,
+ 0x115746f1, 0x944109f4, 0xa32bcbf5, 0xfa958df7, 0xcdff4ff6,
+ 0x605d78d9, 0x5737bad8, 0x0e89fcda, 0x39e33edb, 0xbcf571de,
+ 0x8b9fb3df, 0xd221f5dd, 0xe54b37dc, 0xd80c6bd7, 0xef66a9d6,
+ 0xb6d8efd4, 0x81b22dd5, 0x04a462d0, 0x33cea0d1, 0x6a70e6d3,
+ 0x5d1a24d2, 0x10fe5ec5, 0x27949cc4, 0x7e2adac6, 0x494018c7,
+ 0xcc5657c2, 0xfb3c95c3, 0xa282d3c1, 0x95e811c0, 0xa8af4dcb,
+ 0x9fc58fca, 0xc67bc9c8, 0xf1110bc9, 0x740744cc, 0x436d86cd,
+ 0x1ad3c0cf, 0x2db902ce, 0x4096af91, 0x77fc6d90, 0x2e422b92,
+ 0x1928e993, 0x9c3ea696, 0xab546497, 0xf2ea2295, 0xc580e094,
+ 0xf8c7bc9f, 0xcfad7e9e, 0x9613389c, 0xa179fa9d, 0x246fb598,
+ 0x13057799, 0x4abb319b, 0x7dd1f39a, 0x3035898d, 0x075f4b8c,
+ 0x5ee10d8e, 0x698bcf8f, 0xec9d808a, 0xdbf7428b, 0x82490489,
+ 0xb523c688, 0x88649a83, 0xbf0e5882, 0xe6b01e80, 0xd1dadc81,
+ 0x54cc9384, 0x63a65185, 0x3a181787, 0x0d72d586, 0xa0d0e2a9,
+ 0x97ba20a8, 0xce0466aa, 0xf96ea4ab, 0x7c78ebae, 0x4b1229af,
+ 0x12ac6fad, 0x25c6adac, 0x1881f1a7, 0x2feb33a6, 0x765575a4,
+ 0x413fb7a5, 0xc429f8a0, 0xf3433aa1, 0xaafd7ca3, 0x9d97bea2,
+ 0xd073c4b5, 0xe71906b4, 0xbea740b6, 0x89cd82b7, 0x0cdbcdb2,
+ 0x3bb10fb3, 0x620f49b1, 0x55658bb0, 0x6822d7bb, 0x5f4815ba,
+ 0x06f653b8, 0x319c91b9, 0xb48adebc, 0x83e01cbd, 0xda5e5abf,
+ 0xed3498be},
+ {0x00000000, 0x6567bcb8, 0x8bc809aa, 0xeeafb512, 0x5797628f,
+ 0x32f0de37, 0xdc5f6b25, 0xb938d79d, 0xef28b4c5, 0x8a4f087d,
+ 0x64e0bd6f, 0x018701d7, 0xb8bfd64a, 0xddd86af2, 0x3377dfe0,
+ 0x56106358, 0x9f571950, 0xfa30a5e8, 0x149f10fa, 0x71f8ac42,
+ 0xc8c07bdf, 0xada7c767, 0x43087275, 0x266fcecd, 0x707fad95,
+ 0x1518112d, 0xfbb7a43f, 0x9ed01887, 0x27e8cf1a, 0x428f73a2,
+ 0xac20c6b0, 0xc9477a08, 0x3eaf32a0, 0x5bc88e18, 0xb5673b0a,
+ 0xd00087b2, 0x6938502f, 0x0c5fec97, 0xe2f05985, 0x8797e53d,
+ 0xd1878665, 0xb4e03add, 0x5a4f8fcf, 0x3f283377, 0x8610e4ea,
+ 0xe3775852, 0x0dd8ed40, 0x68bf51f8, 0xa1f82bf0, 0xc49f9748,
+ 0x2a30225a, 0x4f579ee2, 0xf66f497f, 0x9308f5c7, 0x7da740d5,
+ 0x18c0fc6d, 0x4ed09f35, 0x2bb7238d, 0xc518969f, 0xa07f2a27,
+ 0x1947fdba, 0x7c204102, 0x928ff410, 0xf7e848a8, 0x3d58149b,
+ 0x583fa823, 0xb6901d31, 0xd3f7a189, 0x6acf7614, 0x0fa8caac,
+ 0xe1077fbe, 0x8460c306, 0xd270a05e, 0xb7171ce6, 0x59b8a9f4,
+ 0x3cdf154c, 0x85e7c2d1, 0xe0807e69, 0x0e2fcb7b, 0x6b4877c3,
+ 0xa20f0dcb, 0xc768b173, 0x29c70461, 0x4ca0b8d9, 0xf5986f44,
+ 0x90ffd3fc, 0x7e5066ee, 0x1b37da56, 0x4d27b90e, 0x284005b6,
+ 0xc6efb0a4, 0xa3880c1c, 0x1ab0db81, 0x7fd76739, 0x9178d22b,
+ 0xf41f6e93, 0x03f7263b, 0x66909a83, 0x883f2f91, 0xed589329,
+ 0x546044b4, 0x3107f80c, 0xdfa84d1e, 0xbacff1a6, 0xecdf92fe,
+ 0x89b82e46, 0x67179b54, 0x027027ec, 0xbb48f071, 0xde2f4cc9,
+ 0x3080f9db, 0x55e74563, 0x9ca03f6b, 0xf9c783d3, 0x176836c1,
+ 0x720f8a79, 0xcb375de4, 0xae50e15c, 0x40ff544e, 0x2598e8f6,
+ 0x73888bae, 0x16ef3716, 0xf8408204, 0x9d273ebc, 0x241fe921,
+ 0x41785599, 0xafd7e08b, 0xcab05c33, 0x3bb659ed, 0x5ed1e555,
+ 0xb07e5047, 0xd519ecff, 0x6c213b62, 0x094687da, 0xe7e932c8,
+ 0x828e8e70, 0xd49eed28, 0xb1f95190, 0x5f56e482, 0x3a31583a,
+ 0x83098fa7, 0xe66e331f, 0x08c1860d, 0x6da63ab5, 0xa4e140bd,
+ 0xc186fc05, 0x2f294917, 0x4a4ef5af, 0xf3762232, 0x96119e8a,
+ 0x78be2b98, 0x1dd99720, 0x4bc9f478, 0x2eae48c0, 0xc001fdd2,
+ 0xa566416a, 0x1c5e96f7, 0x79392a4f, 0x97969f5d, 0xf2f123e5,
+ 0x05196b4d, 0x607ed7f5, 0x8ed162e7, 0xebb6de5f, 0x528e09c2,
+ 0x37e9b57a, 0xd9460068, 0xbc21bcd0, 0xea31df88, 0x8f566330,
+ 0x61f9d622, 0x049e6a9a, 0xbda6bd07, 0xd8c101bf, 0x366eb4ad,
+ 0x53090815, 0x9a4e721d, 0xff29cea5, 0x11867bb7, 0x74e1c70f,
+ 0xcdd91092, 0xa8beac2a, 0x46111938, 0x2376a580, 0x7566c6d8,
+ 0x10017a60, 0xfeaecf72, 0x9bc973ca, 0x22f1a457, 0x479618ef,
+ 0xa939adfd, 0xcc5e1145, 0x06ee4d76, 0x6389f1ce, 0x8d2644dc,
+ 0xe841f864, 0x51792ff9, 0x341e9341, 0xdab12653, 0xbfd69aeb,
+ 0xe9c6f9b3, 0x8ca1450b, 0x620ef019, 0x07694ca1, 0xbe519b3c,
+ 0xdb362784, 0x35999296, 0x50fe2e2e, 0x99b95426, 0xfcdee89e,
+ 0x12715d8c, 0x7716e134, 0xce2e36a9, 0xab498a11, 0x45e63f03,
+ 0x208183bb, 0x7691e0e3, 0x13f65c5b, 0xfd59e949, 0x983e55f1,
+ 0x2106826c, 0x44613ed4, 0xaace8bc6, 0xcfa9377e, 0x38417fd6,
+ 0x5d26c36e, 0xb389767c, 0xd6eecac4, 0x6fd61d59, 0x0ab1a1e1,
+ 0xe41e14f3, 0x8179a84b, 0xd769cb13, 0xb20e77ab, 0x5ca1c2b9,
+ 0x39c67e01, 0x80fea99c, 0xe5991524, 0x0b36a036, 0x6e511c8e,
+ 0xa7166686, 0xc271da3e, 0x2cde6f2c, 0x49b9d394, 0xf0810409,
+ 0x95e6b8b1, 0x7b490da3, 0x1e2eb11b, 0x483ed243, 0x2d596efb,
+ 0xc3f6dbe9, 0xa6916751, 0x1fa9b0cc, 0x7ace0c74, 0x9461b966,
+ 0xf10605de}};
+
+#endif
+
+#endif
+
+#if N == 2
+
+#if W == 8
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0xae689191, 0x87a02563, 0x29c8b4f2, 0xd4314c87,
+ 0x7a59dd16, 0x539169e4, 0xfdf9f875, 0x73139f4f, 0xdd7b0ede,
+ 0xf4b3ba2c, 0x5adb2bbd, 0xa722d3c8, 0x094a4259, 0x2082f6ab,
+ 0x8eea673a, 0xe6273e9e, 0x484faf0f, 0x61871bfd, 0xcfef8a6c,
+ 0x32167219, 0x9c7ee388, 0xb5b6577a, 0x1bdec6eb, 0x9534a1d1,
+ 0x3b5c3040, 0x129484b2, 0xbcfc1523, 0x4105ed56, 0xef6d7cc7,
+ 0xc6a5c835, 0x68cd59a4, 0x173f7b7d, 0xb957eaec, 0x909f5e1e,
+ 0x3ef7cf8f, 0xc30e37fa, 0x6d66a66b, 0x44ae1299, 0xeac68308,
+ 0x642ce432, 0xca4475a3, 0xe38cc151, 0x4de450c0, 0xb01da8b5,
+ 0x1e753924, 0x37bd8dd6, 0x99d51c47, 0xf11845e3, 0x5f70d472,
+ 0x76b86080, 0xd8d0f111, 0x25290964, 0x8b4198f5, 0xa2892c07,
+ 0x0ce1bd96, 0x820bdaac, 0x2c634b3d, 0x05abffcf, 0xabc36e5e,
+ 0x563a962b, 0xf85207ba, 0xd19ab348, 0x7ff222d9, 0x2e7ef6fa,
+ 0x8016676b, 0xa9ded399, 0x07b64208, 0xfa4fba7d, 0x54272bec,
+ 0x7def9f1e, 0xd3870e8f, 0x5d6d69b5, 0xf305f824, 0xdacd4cd6,
+ 0x74a5dd47, 0x895c2532, 0x2734b4a3, 0x0efc0051, 0xa09491c0,
+ 0xc859c864, 0x663159f5, 0x4ff9ed07, 0xe1917c96, 0x1c6884e3,
+ 0xb2001572, 0x9bc8a180, 0x35a03011, 0xbb4a572b, 0x1522c6ba,
+ 0x3cea7248, 0x9282e3d9, 0x6f7b1bac, 0xc1138a3d, 0xe8db3ecf,
+ 0x46b3af5e, 0x39418d87, 0x97291c16, 0xbee1a8e4, 0x10893975,
+ 0xed70c100, 0x43185091, 0x6ad0e463, 0xc4b875f2, 0x4a5212c8,
+ 0xe43a8359, 0xcdf237ab, 0x639aa63a, 0x9e635e4f, 0x300bcfde,
+ 0x19c37b2c, 0xb7abeabd, 0xdf66b319, 0x710e2288, 0x58c6967a,
+ 0xf6ae07eb, 0x0b57ff9e, 0xa53f6e0f, 0x8cf7dafd, 0x229f4b6c,
+ 0xac752c56, 0x021dbdc7, 0x2bd50935, 0x85bd98a4, 0x784460d1,
+ 0xd62cf140, 0xffe445b2, 0x518cd423, 0x5cfdedf4, 0xf2957c65,
+ 0xdb5dc897, 0x75355906, 0x88cca173, 0x26a430e2, 0x0f6c8410,
+ 0xa1041581, 0x2fee72bb, 0x8186e32a, 0xa84e57d8, 0x0626c649,
+ 0xfbdf3e3c, 0x55b7afad, 0x7c7f1b5f, 0xd2178ace, 0xbadad36a,
+ 0x14b242fb, 0x3d7af609, 0x93126798, 0x6eeb9fed, 0xc0830e7c,
+ 0xe94bba8e, 0x47232b1f, 0xc9c94c25, 0x67a1ddb4, 0x4e696946,
+ 0xe001f8d7, 0x1df800a2, 0xb3909133, 0x9a5825c1, 0x3430b450,
+ 0x4bc29689, 0xe5aa0718, 0xcc62b3ea, 0x620a227b, 0x9ff3da0e,
+ 0x319b4b9f, 0x1853ff6d, 0xb63b6efc, 0x38d109c6, 0x96b99857,
+ 0xbf712ca5, 0x1119bd34, 0xece04541, 0x4288d4d0, 0x6b406022,
+ 0xc528f1b3, 0xade5a817, 0x038d3986, 0x2a458d74, 0x842d1ce5,
+ 0x79d4e490, 0xd7bc7501, 0xfe74c1f3, 0x501c5062, 0xdef63758,
+ 0x709ea6c9, 0x5956123b, 0xf73e83aa, 0x0ac77bdf, 0xa4afea4e,
+ 0x8d675ebc, 0x230fcf2d, 0x72831b0e, 0xdceb8a9f, 0xf5233e6d,
+ 0x5b4baffc, 0xa6b25789, 0x08dac618, 0x211272ea, 0x8f7ae37b,
+ 0x01908441, 0xaff815d0, 0x8630a122, 0x285830b3, 0xd5a1c8c6,
+ 0x7bc95957, 0x5201eda5, 0xfc697c34, 0x94a42590, 0x3accb401,
+ 0x130400f3, 0xbd6c9162, 0x40956917, 0xeefdf886, 0xc7354c74,
+ 0x695ddde5, 0xe7b7badf, 0x49df2b4e, 0x60179fbc, 0xce7f0e2d,
+ 0x3386f658, 0x9dee67c9, 0xb426d33b, 0x1a4e42aa, 0x65bc6073,
+ 0xcbd4f1e2, 0xe21c4510, 0x4c74d481, 0xb18d2cf4, 0x1fe5bd65,
+ 0x362d0997, 0x98459806, 0x16afff3c, 0xb8c76ead, 0x910fda5f,
+ 0x3f674bce, 0xc29eb3bb, 0x6cf6222a, 0x453e96d8, 0xeb560749,
+ 0x839b5eed, 0x2df3cf7c, 0x043b7b8e, 0xaa53ea1f, 0x57aa126a,
+ 0xf9c283fb, 0xd00a3709, 0x7e62a698, 0xf088c1a2, 0x5ee05033,
+ 0x7728e4c1, 0xd9407550, 0x24b98d25, 0x8ad11cb4, 0xa319a846,
+ 0x0d7139d7},
+ {0x00000000, 0xb9fbdbe8, 0xa886b191, 0x117d6a79, 0x8a7c6563,
+ 0x3387be8b, 0x22fad4f2, 0x9b010f1a, 0xcf89cc87, 0x7672176f,
+ 0x670f7d16, 0xdef4a6fe, 0x45f5a9e4, 0xfc0e720c, 0xed731875,
+ 0x5488c39d, 0x44629f4f, 0xfd9944a7, 0xece42ede, 0x551ff536,
+ 0xce1efa2c, 0x77e521c4, 0x66984bbd, 0xdf639055, 0x8beb53c8,
+ 0x32108820, 0x236de259, 0x9a9639b1, 0x019736ab, 0xb86ced43,
+ 0xa911873a, 0x10ea5cd2, 0x88c53e9e, 0x313ee576, 0x20438f0f,
+ 0x99b854e7, 0x02b95bfd, 0xbb428015, 0xaa3fea6c, 0x13c43184,
+ 0x474cf219, 0xfeb729f1, 0xefca4388, 0x56319860, 0xcd30977a,
+ 0x74cb4c92, 0x65b626eb, 0xdc4dfd03, 0xcca7a1d1, 0x755c7a39,
+ 0x64211040, 0xdddacba8, 0x46dbc4b2, 0xff201f5a, 0xee5d7523,
+ 0x57a6aecb, 0x032e6d56, 0xbad5b6be, 0xaba8dcc7, 0x1253072f,
+ 0x89520835, 0x30a9d3dd, 0x21d4b9a4, 0x982f624c, 0xcafb7b7d,
+ 0x7300a095, 0x627dcaec, 0xdb861104, 0x40871e1e, 0xf97cc5f6,
+ 0xe801af8f, 0x51fa7467, 0x0572b7fa, 0xbc896c12, 0xadf4066b,
+ 0x140fdd83, 0x8f0ed299, 0x36f50971, 0x27886308, 0x9e73b8e0,
+ 0x8e99e432, 0x37623fda, 0x261f55a3, 0x9fe48e4b, 0x04e58151,
+ 0xbd1e5ab9, 0xac6330c0, 0x1598eb28, 0x411028b5, 0xf8ebf35d,
+ 0xe9969924, 0x506d42cc, 0xcb6c4dd6, 0x7297963e, 0x63eafc47,
+ 0xda1127af, 0x423e45e3, 0xfbc59e0b, 0xeab8f472, 0x53432f9a,
+ 0xc8422080, 0x71b9fb68, 0x60c49111, 0xd93f4af9, 0x8db78964,
+ 0x344c528c, 0x253138f5, 0x9ccae31d, 0x07cbec07, 0xbe3037ef,
+ 0xaf4d5d96, 0x16b6867e, 0x065cdaac, 0xbfa70144, 0xaeda6b3d,
+ 0x1721b0d5, 0x8c20bfcf, 0x35db6427, 0x24a60e5e, 0x9d5dd5b6,
+ 0xc9d5162b, 0x702ecdc3, 0x6153a7ba, 0xd8a87c52, 0x43a97348,
+ 0xfa52a8a0, 0xeb2fc2d9, 0x52d41931, 0x4e87f0bb, 0xf77c2b53,
+ 0xe601412a, 0x5ffa9ac2, 0xc4fb95d8, 0x7d004e30, 0x6c7d2449,
+ 0xd586ffa1, 0x810e3c3c, 0x38f5e7d4, 0x29888dad, 0x90735645,
+ 0x0b72595f, 0xb28982b7, 0xa3f4e8ce, 0x1a0f3326, 0x0ae56ff4,
+ 0xb31eb41c, 0xa263de65, 0x1b98058d, 0x80990a97, 0x3962d17f,
+ 0x281fbb06, 0x91e460ee, 0xc56ca373, 0x7c97789b, 0x6dea12e2,
+ 0xd411c90a, 0x4f10c610, 0xf6eb1df8, 0xe7967781, 0x5e6dac69,
+ 0xc642ce25, 0x7fb915cd, 0x6ec47fb4, 0xd73fa45c, 0x4c3eab46,
+ 0xf5c570ae, 0xe4b81ad7, 0x5d43c13f, 0x09cb02a2, 0xb030d94a,
+ 0xa14db333, 0x18b668db, 0x83b767c1, 0x3a4cbc29, 0x2b31d650,
+ 0x92ca0db8, 0x8220516a, 0x3bdb8a82, 0x2aa6e0fb, 0x935d3b13,
+ 0x085c3409, 0xb1a7efe1, 0xa0da8598, 0x19215e70, 0x4da99ded,
+ 0xf4524605, 0xe52f2c7c, 0x5cd4f794, 0xc7d5f88e, 0x7e2e2366,
+ 0x6f53491f, 0xd6a892f7, 0x847c8bc6, 0x3d87502e, 0x2cfa3a57,
+ 0x9501e1bf, 0x0e00eea5, 0xb7fb354d, 0xa6865f34, 0x1f7d84dc,
+ 0x4bf54741, 0xf20e9ca9, 0xe373f6d0, 0x5a882d38, 0xc1892222,
+ 0x7872f9ca, 0x690f93b3, 0xd0f4485b, 0xc01e1489, 0x79e5cf61,
+ 0x6898a518, 0xd1637ef0, 0x4a6271ea, 0xf399aa02, 0xe2e4c07b,
+ 0x5b1f1b93, 0x0f97d80e, 0xb66c03e6, 0xa711699f, 0x1eeab277,
+ 0x85ebbd6d, 0x3c106685, 0x2d6d0cfc, 0x9496d714, 0x0cb9b558,
+ 0xb5426eb0, 0xa43f04c9, 0x1dc4df21, 0x86c5d03b, 0x3f3e0bd3,
+ 0x2e4361aa, 0x97b8ba42, 0xc33079df, 0x7acba237, 0x6bb6c84e,
+ 0xd24d13a6, 0x494c1cbc, 0xf0b7c754, 0xe1caad2d, 0x583176c5,
+ 0x48db2a17, 0xf120f1ff, 0xe05d9b86, 0x59a6406e, 0xc2a74f74,
+ 0x7b5c949c, 0x6a21fee5, 0xd3da250d, 0x8752e690, 0x3ea93d78,
+ 0x2fd45701, 0x962f8ce9, 0x0d2e83f3, 0xb4d5581b, 0xa5a83262,
+ 0x1c53e98a},
+ {0x00000000, 0x9d0fe176, 0xe16ec4ad, 0x7c6125db, 0x19ac8f1b,
+ 0x84a36e6d, 0xf8c24bb6, 0x65cdaac0, 0x33591e36, 0xae56ff40,
+ 0xd237da9b, 0x4f383bed, 0x2af5912d, 0xb7fa705b, 0xcb9b5580,
+ 0x5694b4f6, 0x66b23c6c, 0xfbbddd1a, 0x87dcf8c1, 0x1ad319b7,
+ 0x7f1eb377, 0xe2115201, 0x9e7077da, 0x037f96ac, 0x55eb225a,
+ 0xc8e4c32c, 0xb485e6f7, 0x298a0781, 0x4c47ad41, 0xd1484c37,
+ 0xad2969ec, 0x3026889a, 0xcd6478d8, 0x506b99ae, 0x2c0abc75,
+ 0xb1055d03, 0xd4c8f7c3, 0x49c716b5, 0x35a6336e, 0xa8a9d218,
+ 0xfe3d66ee, 0x63328798, 0x1f53a243, 0x825c4335, 0xe791e9f5,
+ 0x7a9e0883, 0x06ff2d58, 0x9bf0cc2e, 0xabd644b4, 0x36d9a5c2,
+ 0x4ab88019, 0xd7b7616f, 0xb27acbaf, 0x2f752ad9, 0x53140f02,
+ 0xce1bee74, 0x988f5a82, 0x0580bbf4, 0x79e19e2f, 0xe4ee7f59,
+ 0x8123d599, 0x1c2c34ef, 0x604d1134, 0xfd42f042, 0x41b9f7f1,
+ 0xdcb61687, 0xa0d7335c, 0x3dd8d22a, 0x581578ea, 0xc51a999c,
+ 0xb97bbc47, 0x24745d31, 0x72e0e9c7, 0xefef08b1, 0x938e2d6a,
+ 0x0e81cc1c, 0x6b4c66dc, 0xf64387aa, 0x8a22a271, 0x172d4307,
+ 0x270bcb9d, 0xba042aeb, 0xc6650f30, 0x5b6aee46, 0x3ea74486,
+ 0xa3a8a5f0, 0xdfc9802b, 0x42c6615d, 0x1452d5ab, 0x895d34dd,
+ 0xf53c1106, 0x6833f070, 0x0dfe5ab0, 0x90f1bbc6, 0xec909e1d,
+ 0x719f7f6b, 0x8cdd8f29, 0x11d26e5f, 0x6db34b84, 0xf0bcaaf2,
+ 0x95710032, 0x087ee144, 0x741fc49f, 0xe91025e9, 0xbf84911f,
+ 0x228b7069, 0x5eea55b2, 0xc3e5b4c4, 0xa6281e04, 0x3b27ff72,
+ 0x4746daa9, 0xda493bdf, 0xea6fb345, 0x77605233, 0x0b0177e8,
+ 0x960e969e, 0xf3c33c5e, 0x6eccdd28, 0x12adf8f3, 0x8fa21985,
+ 0xd936ad73, 0x44394c05, 0x385869de, 0xa55788a8, 0xc09a2268,
+ 0x5d95c31e, 0x21f4e6c5, 0xbcfb07b3, 0x8373efe2, 0x1e7c0e94,
+ 0x621d2b4f, 0xff12ca39, 0x9adf60f9, 0x07d0818f, 0x7bb1a454,
+ 0xe6be4522, 0xb02af1d4, 0x2d2510a2, 0x51443579, 0xcc4bd40f,
+ 0xa9867ecf, 0x34899fb9, 0x48e8ba62, 0xd5e75b14, 0xe5c1d38e,
+ 0x78ce32f8, 0x04af1723, 0x99a0f655, 0xfc6d5c95, 0x6162bde3,
+ 0x1d039838, 0x800c794e, 0xd698cdb8, 0x4b972cce, 0x37f60915,
+ 0xaaf9e863, 0xcf3442a3, 0x523ba3d5, 0x2e5a860e, 0xb3556778,
+ 0x4e17973a, 0xd318764c, 0xaf795397, 0x3276b2e1, 0x57bb1821,
+ 0xcab4f957, 0xb6d5dc8c, 0x2bda3dfa, 0x7d4e890c, 0xe041687a,
+ 0x9c204da1, 0x012facd7, 0x64e20617, 0xf9ede761, 0x858cc2ba,
+ 0x188323cc, 0x28a5ab56, 0xb5aa4a20, 0xc9cb6ffb, 0x54c48e8d,
+ 0x3109244d, 0xac06c53b, 0xd067e0e0, 0x4d680196, 0x1bfcb560,
+ 0x86f35416, 0xfa9271cd, 0x679d90bb, 0x02503a7b, 0x9f5fdb0d,
+ 0xe33efed6, 0x7e311fa0, 0xc2ca1813, 0x5fc5f965, 0x23a4dcbe,
+ 0xbeab3dc8, 0xdb669708, 0x4669767e, 0x3a0853a5, 0xa707b2d3,
+ 0xf1930625, 0x6c9ce753, 0x10fdc288, 0x8df223fe, 0xe83f893e,
+ 0x75306848, 0x09514d93, 0x945eace5, 0xa478247f, 0x3977c509,
+ 0x4516e0d2, 0xd81901a4, 0xbdd4ab64, 0x20db4a12, 0x5cba6fc9,
+ 0xc1b58ebf, 0x97213a49, 0x0a2edb3f, 0x764ffee4, 0xeb401f92,
+ 0x8e8db552, 0x13825424, 0x6fe371ff, 0xf2ec9089, 0x0fae60cb,
+ 0x92a181bd, 0xeec0a466, 0x73cf4510, 0x1602efd0, 0x8b0d0ea6,
+ 0xf76c2b7d, 0x6a63ca0b, 0x3cf77efd, 0xa1f89f8b, 0xdd99ba50,
+ 0x40965b26, 0x255bf1e6, 0xb8541090, 0xc435354b, 0x593ad43d,
+ 0x691c5ca7, 0xf413bdd1, 0x8872980a, 0x157d797c, 0x70b0d3bc,
+ 0xedbf32ca, 0x91de1711, 0x0cd1f667, 0x5a454291, 0xc74aa3e7,
+ 0xbb2b863c, 0x2624674a, 0x43e9cd8a, 0xdee62cfc, 0xa2870927,
+ 0x3f88e851},
+ {0x00000000, 0xdd96d985, 0x605cb54b, 0xbdca6cce, 0xc0b96a96,
+ 0x1d2fb313, 0xa0e5dfdd, 0x7d730658, 0x5a03d36d, 0x87950ae8,
+ 0x3a5f6626, 0xe7c9bfa3, 0x9abab9fb, 0x472c607e, 0xfae60cb0,
+ 0x2770d535, 0xb407a6da, 0x69917f5f, 0xd45b1391, 0x09cdca14,
+ 0x74becc4c, 0xa92815c9, 0x14e27907, 0xc974a082, 0xee0475b7,
+ 0x3392ac32, 0x8e58c0fc, 0x53ce1979, 0x2ebd1f21, 0xf32bc6a4,
+ 0x4ee1aa6a, 0x937773ef, 0xb37e4bf5, 0x6ee89270, 0xd322febe,
+ 0x0eb4273b, 0x73c72163, 0xae51f8e6, 0x139b9428, 0xce0d4dad,
+ 0xe97d9898, 0x34eb411d, 0x89212dd3, 0x54b7f456, 0x29c4f20e,
+ 0xf4522b8b, 0x49984745, 0x940e9ec0, 0x0779ed2f, 0xdaef34aa,
+ 0x67255864, 0xbab381e1, 0xc7c087b9, 0x1a565e3c, 0xa79c32f2,
+ 0x7a0aeb77, 0x5d7a3e42, 0x80ece7c7, 0x3d268b09, 0xe0b0528c,
+ 0x9dc354d4, 0x40558d51, 0xfd9fe19f, 0x2009381a, 0xbd8d91ab,
+ 0x601b482e, 0xddd124e0, 0x0047fd65, 0x7d34fb3d, 0xa0a222b8,
+ 0x1d684e76, 0xc0fe97f3, 0xe78e42c6, 0x3a189b43, 0x87d2f78d,
+ 0x5a442e08, 0x27372850, 0xfaa1f1d5, 0x476b9d1b, 0x9afd449e,
+ 0x098a3771, 0xd41ceef4, 0x69d6823a, 0xb4405bbf, 0xc9335de7,
+ 0x14a58462, 0xa96fe8ac, 0x74f93129, 0x5389e41c, 0x8e1f3d99,
+ 0x33d55157, 0xee4388d2, 0x93308e8a, 0x4ea6570f, 0xf36c3bc1,
+ 0x2efae244, 0x0ef3da5e, 0xd36503db, 0x6eaf6f15, 0xb339b690,
+ 0xce4ab0c8, 0x13dc694d, 0xae160583, 0x7380dc06, 0x54f00933,
+ 0x8966d0b6, 0x34acbc78, 0xe93a65fd, 0x944963a5, 0x49dfba20,
+ 0xf415d6ee, 0x29830f6b, 0xbaf47c84, 0x6762a501, 0xdaa8c9cf,
+ 0x073e104a, 0x7a4d1612, 0xa7dbcf97, 0x1a11a359, 0xc7877adc,
+ 0xe0f7afe9, 0x3d61766c, 0x80ab1aa2, 0x5d3dc327, 0x204ec57f,
+ 0xfdd81cfa, 0x40127034, 0x9d84a9b1, 0xa06a2517, 0x7dfcfc92,
+ 0xc036905c, 0x1da049d9, 0x60d34f81, 0xbd459604, 0x008ffaca,
+ 0xdd19234f, 0xfa69f67a, 0x27ff2fff, 0x9a354331, 0x47a39ab4,
+ 0x3ad09cec, 0xe7464569, 0x5a8c29a7, 0x871af022, 0x146d83cd,
+ 0xc9fb5a48, 0x74313686, 0xa9a7ef03, 0xd4d4e95b, 0x094230de,
+ 0xb4885c10, 0x691e8595, 0x4e6e50a0, 0x93f88925, 0x2e32e5eb,
+ 0xf3a43c6e, 0x8ed73a36, 0x5341e3b3, 0xee8b8f7d, 0x331d56f8,
+ 0x13146ee2, 0xce82b767, 0x7348dba9, 0xaede022c, 0xd3ad0474,
+ 0x0e3bddf1, 0xb3f1b13f, 0x6e6768ba, 0x4917bd8f, 0x9481640a,
+ 0x294b08c4, 0xf4ddd141, 0x89aed719, 0x54380e9c, 0xe9f26252,
+ 0x3464bbd7, 0xa713c838, 0x7a8511bd, 0xc74f7d73, 0x1ad9a4f6,
+ 0x67aaa2ae, 0xba3c7b2b, 0x07f617e5, 0xda60ce60, 0xfd101b55,
+ 0x2086c2d0, 0x9d4cae1e, 0x40da779b, 0x3da971c3, 0xe03fa846,
+ 0x5df5c488, 0x80631d0d, 0x1de7b4bc, 0xc0716d39, 0x7dbb01f7,
+ 0xa02dd872, 0xdd5ede2a, 0x00c807af, 0xbd026b61, 0x6094b2e4,
+ 0x47e467d1, 0x9a72be54, 0x27b8d29a, 0xfa2e0b1f, 0x875d0d47,
+ 0x5acbd4c2, 0xe701b80c, 0x3a976189, 0xa9e01266, 0x7476cbe3,
+ 0xc9bca72d, 0x142a7ea8, 0x695978f0, 0xb4cfa175, 0x0905cdbb,
+ 0xd493143e, 0xf3e3c10b, 0x2e75188e, 0x93bf7440, 0x4e29adc5,
+ 0x335aab9d, 0xeecc7218, 0x53061ed6, 0x8e90c753, 0xae99ff49,
+ 0x730f26cc, 0xcec54a02, 0x13539387, 0x6e2095df, 0xb3b64c5a,
+ 0x0e7c2094, 0xd3eaf911, 0xf49a2c24, 0x290cf5a1, 0x94c6996f,
+ 0x495040ea, 0x342346b2, 0xe9b59f37, 0x547ff3f9, 0x89e92a7c,
+ 0x1a9e5993, 0xc7088016, 0x7ac2ecd8, 0xa754355d, 0xda273305,
+ 0x07b1ea80, 0xba7b864e, 0x67ed5fcb, 0x409d8afe, 0x9d0b537b,
+ 0x20c13fb5, 0xfd57e630, 0x8024e068, 0x5db239ed, 0xe0785523,
+ 0x3dee8ca6},
+ {0x00000000, 0x9ba54c6f, 0xec3b9e9f, 0x779ed2f0, 0x03063b7f,
+ 0x98a37710, 0xef3da5e0, 0x7498e98f, 0x060c76fe, 0x9da93a91,
+ 0xea37e861, 0x7192a40e, 0x050a4d81, 0x9eaf01ee, 0xe931d31e,
+ 0x72949f71, 0x0c18edfc, 0x97bda193, 0xe0237363, 0x7b863f0c,
+ 0x0f1ed683, 0x94bb9aec, 0xe325481c, 0x78800473, 0x0a149b02,
+ 0x91b1d76d, 0xe62f059d, 0x7d8a49f2, 0x0912a07d, 0x92b7ec12,
+ 0xe5293ee2, 0x7e8c728d, 0x1831dbf8, 0x83949797, 0xf40a4567,
+ 0x6faf0908, 0x1b37e087, 0x8092ace8, 0xf70c7e18, 0x6ca93277,
+ 0x1e3dad06, 0x8598e169, 0xf2063399, 0x69a37ff6, 0x1d3b9679,
+ 0x869eda16, 0xf10008e6, 0x6aa54489, 0x14293604, 0x8f8c7a6b,
+ 0xf812a89b, 0x63b7e4f4, 0x172f0d7b, 0x8c8a4114, 0xfb1493e4,
+ 0x60b1df8b, 0x122540fa, 0x89800c95, 0xfe1ede65, 0x65bb920a,
+ 0x11237b85, 0x8a8637ea, 0xfd18e51a, 0x66bda975, 0x3063b7f0,
+ 0xabc6fb9f, 0xdc58296f, 0x47fd6500, 0x33658c8f, 0xa8c0c0e0,
+ 0xdf5e1210, 0x44fb5e7f, 0x366fc10e, 0xadca8d61, 0xda545f91,
+ 0x41f113fe, 0x3569fa71, 0xaeccb61e, 0xd95264ee, 0x42f72881,
+ 0x3c7b5a0c, 0xa7de1663, 0xd040c493, 0x4be588fc, 0x3f7d6173,
+ 0xa4d82d1c, 0xd346ffec, 0x48e3b383, 0x3a772cf2, 0xa1d2609d,
+ 0xd64cb26d, 0x4de9fe02, 0x3971178d, 0xa2d45be2, 0xd54a8912,
+ 0x4eefc57d, 0x28526c08, 0xb3f72067, 0xc469f297, 0x5fccbef8,
+ 0x2b545777, 0xb0f11b18, 0xc76fc9e8, 0x5cca8587, 0x2e5e1af6,
+ 0xb5fb5699, 0xc2658469, 0x59c0c806, 0x2d582189, 0xb6fd6de6,
+ 0xc163bf16, 0x5ac6f379, 0x244a81f4, 0xbfefcd9b, 0xc8711f6b,
+ 0x53d45304, 0x274cba8b, 0xbce9f6e4, 0xcb772414, 0x50d2687b,
+ 0x2246f70a, 0xb9e3bb65, 0xce7d6995, 0x55d825fa, 0x2140cc75,
+ 0xbae5801a, 0xcd7b52ea, 0x56de1e85, 0x60c76fe0, 0xfb62238f,
+ 0x8cfcf17f, 0x1759bd10, 0x63c1549f, 0xf86418f0, 0x8ffaca00,
+ 0x145f866f, 0x66cb191e, 0xfd6e5571, 0x8af08781, 0x1155cbee,
+ 0x65cd2261, 0xfe686e0e, 0x89f6bcfe, 0x1253f091, 0x6cdf821c,
+ 0xf77ace73, 0x80e41c83, 0x1b4150ec, 0x6fd9b963, 0xf47cf50c,
+ 0x83e227fc, 0x18476b93, 0x6ad3f4e2, 0xf176b88d, 0x86e86a7d,
+ 0x1d4d2612, 0x69d5cf9d, 0xf27083f2, 0x85ee5102, 0x1e4b1d6d,
+ 0x78f6b418, 0xe353f877, 0x94cd2a87, 0x0f6866e8, 0x7bf08f67,
+ 0xe055c308, 0x97cb11f8, 0x0c6e5d97, 0x7efac2e6, 0xe55f8e89,
+ 0x92c15c79, 0x09641016, 0x7dfcf999, 0xe659b5f6, 0x91c76706,
+ 0x0a622b69, 0x74ee59e4, 0xef4b158b, 0x98d5c77b, 0x03708b14,
+ 0x77e8629b, 0xec4d2ef4, 0x9bd3fc04, 0x0076b06b, 0x72e22f1a,
+ 0xe9476375, 0x9ed9b185, 0x057cfdea, 0x71e41465, 0xea41580a,
+ 0x9ddf8afa, 0x067ac695, 0x50a4d810, 0xcb01947f, 0xbc9f468f,
+ 0x273a0ae0, 0x53a2e36f, 0xc807af00, 0xbf997df0, 0x243c319f,
+ 0x56a8aeee, 0xcd0de281, 0xba933071, 0x21367c1e, 0x55ae9591,
+ 0xce0bd9fe, 0xb9950b0e, 0x22304761, 0x5cbc35ec, 0xc7197983,
+ 0xb087ab73, 0x2b22e71c, 0x5fba0e93, 0xc41f42fc, 0xb381900c,
+ 0x2824dc63, 0x5ab04312, 0xc1150f7d, 0xb68bdd8d, 0x2d2e91e2,
+ 0x59b6786d, 0xc2133402, 0xb58de6f2, 0x2e28aa9d, 0x489503e8,
+ 0xd3304f87, 0xa4ae9d77, 0x3f0bd118, 0x4b933897, 0xd03674f8,
+ 0xa7a8a608, 0x3c0dea67, 0x4e997516, 0xd53c3979, 0xa2a2eb89,
+ 0x3907a7e6, 0x4d9f4e69, 0xd63a0206, 0xa1a4d0f6, 0x3a019c99,
+ 0x448dee14, 0xdf28a27b, 0xa8b6708b, 0x33133ce4, 0x478bd56b,
+ 0xdc2e9904, 0xabb04bf4, 0x3015079b, 0x428198ea, 0xd924d485,
+ 0xaeba0675, 0x351f4a1a, 0x4187a395, 0xda22effa, 0xadbc3d0a,
+ 0x36197165},
+ {0x00000000, 0xc18edfc0, 0x586cb9c1, 0x99e26601, 0xb0d97382,
+ 0x7157ac42, 0xe8b5ca43, 0x293b1583, 0xbac3e145, 0x7b4d3e85,
+ 0xe2af5884, 0x23218744, 0x0a1a92c7, 0xcb944d07, 0x52762b06,
+ 0x93f8f4c6, 0xaef6c4cb, 0x6f781b0b, 0xf69a7d0a, 0x3714a2ca,
+ 0x1e2fb749, 0xdfa16889, 0x46430e88, 0x87cdd148, 0x1435258e,
+ 0xd5bbfa4e, 0x4c599c4f, 0x8dd7438f, 0xa4ec560c, 0x656289cc,
+ 0xfc80efcd, 0x3d0e300d, 0x869c8fd7, 0x47125017, 0xdef03616,
+ 0x1f7ee9d6, 0x3645fc55, 0xf7cb2395, 0x6e294594, 0xafa79a54,
+ 0x3c5f6e92, 0xfdd1b152, 0x6433d753, 0xa5bd0893, 0x8c861d10,
+ 0x4d08c2d0, 0xd4eaa4d1, 0x15647b11, 0x286a4b1c, 0xe9e494dc,
+ 0x7006f2dd, 0xb1882d1d, 0x98b3389e, 0x593de75e, 0xc0df815f,
+ 0x01515e9f, 0x92a9aa59, 0x53277599, 0xcac51398, 0x0b4bcc58,
+ 0x2270d9db, 0xe3fe061b, 0x7a1c601a, 0xbb92bfda, 0xd64819ef,
+ 0x17c6c62f, 0x8e24a02e, 0x4faa7fee, 0x66916a6d, 0xa71fb5ad,
+ 0x3efdd3ac, 0xff730c6c, 0x6c8bf8aa, 0xad05276a, 0x34e7416b,
+ 0xf5699eab, 0xdc528b28, 0x1ddc54e8, 0x843e32e9, 0x45b0ed29,
+ 0x78bedd24, 0xb93002e4, 0x20d264e5, 0xe15cbb25, 0xc867aea6,
+ 0x09e97166, 0x900b1767, 0x5185c8a7, 0xc27d3c61, 0x03f3e3a1,
+ 0x9a1185a0, 0x5b9f5a60, 0x72a44fe3, 0xb32a9023, 0x2ac8f622,
+ 0xeb4629e2, 0x50d49638, 0x915a49f8, 0x08b82ff9, 0xc936f039,
+ 0xe00de5ba, 0x21833a7a, 0xb8615c7b, 0x79ef83bb, 0xea17777d,
+ 0x2b99a8bd, 0xb27bcebc, 0x73f5117c, 0x5ace04ff, 0x9b40db3f,
+ 0x02a2bd3e, 0xc32c62fe, 0xfe2252f3, 0x3fac8d33, 0xa64eeb32,
+ 0x67c034f2, 0x4efb2171, 0x8f75feb1, 0x169798b0, 0xd7194770,
+ 0x44e1b3b6, 0x856f6c76, 0x1c8d0a77, 0xdd03d5b7, 0xf438c034,
+ 0x35b61ff4, 0xac5479f5, 0x6ddaa635, 0x77e1359f, 0xb66fea5f,
+ 0x2f8d8c5e, 0xee03539e, 0xc738461d, 0x06b699dd, 0x9f54ffdc,
+ 0x5eda201c, 0xcd22d4da, 0x0cac0b1a, 0x954e6d1b, 0x54c0b2db,
+ 0x7dfba758, 0xbc757898, 0x25971e99, 0xe419c159, 0xd917f154,
+ 0x18992e94, 0x817b4895, 0x40f59755, 0x69ce82d6, 0xa8405d16,
+ 0x31a23b17, 0xf02ce4d7, 0x63d41011, 0xa25acfd1, 0x3bb8a9d0,
+ 0xfa367610, 0xd30d6393, 0x1283bc53, 0x8b61da52, 0x4aef0592,
+ 0xf17dba48, 0x30f36588, 0xa9110389, 0x689fdc49, 0x41a4c9ca,
+ 0x802a160a, 0x19c8700b, 0xd846afcb, 0x4bbe5b0d, 0x8a3084cd,
+ 0x13d2e2cc, 0xd25c3d0c, 0xfb67288f, 0x3ae9f74f, 0xa30b914e,
+ 0x62854e8e, 0x5f8b7e83, 0x9e05a143, 0x07e7c742, 0xc6691882,
+ 0xef520d01, 0x2edcd2c1, 0xb73eb4c0, 0x76b06b00, 0xe5489fc6,
+ 0x24c64006, 0xbd242607, 0x7caaf9c7, 0x5591ec44, 0x941f3384,
+ 0x0dfd5585, 0xcc738a45, 0xa1a92c70, 0x6027f3b0, 0xf9c595b1,
+ 0x384b4a71, 0x11705ff2, 0xd0fe8032, 0x491ce633, 0x889239f3,
+ 0x1b6acd35, 0xdae412f5, 0x430674f4, 0x8288ab34, 0xabb3beb7,
+ 0x6a3d6177, 0xf3df0776, 0x3251d8b6, 0x0f5fe8bb, 0xced1377b,
+ 0x5733517a, 0x96bd8eba, 0xbf869b39, 0x7e0844f9, 0xe7ea22f8,
+ 0x2664fd38, 0xb59c09fe, 0x7412d63e, 0xedf0b03f, 0x2c7e6fff,
+ 0x05457a7c, 0xc4cba5bc, 0x5d29c3bd, 0x9ca71c7d, 0x2735a3a7,
+ 0xe6bb7c67, 0x7f591a66, 0xbed7c5a6, 0x97ecd025, 0x56620fe5,
+ 0xcf8069e4, 0x0e0eb624, 0x9df642e2, 0x5c789d22, 0xc59afb23,
+ 0x041424e3, 0x2d2f3160, 0xeca1eea0, 0x754388a1, 0xb4cd5761,
+ 0x89c3676c, 0x484db8ac, 0xd1afdead, 0x1021016d, 0x391a14ee,
+ 0xf894cb2e, 0x6176ad2f, 0xa0f872ef, 0x33008629, 0xf28e59e9,
+ 0x6b6c3fe8, 0xaae2e028, 0x83d9f5ab, 0x42572a6b, 0xdbb54c6a,
+ 0x1a3b93aa},
+ {0x00000000, 0xefc26b3e, 0x04f5d03d, 0xeb37bb03, 0x09eba07a,
+ 0xe629cb44, 0x0d1e7047, 0xe2dc1b79, 0x13d740f4, 0xfc152bca,
+ 0x172290c9, 0xf8e0fbf7, 0x1a3ce08e, 0xf5fe8bb0, 0x1ec930b3,
+ 0xf10b5b8d, 0x27ae81e8, 0xc86cead6, 0x235b51d5, 0xcc993aeb,
+ 0x2e452192, 0xc1874aac, 0x2ab0f1af, 0xc5729a91, 0x3479c11c,
+ 0xdbbbaa22, 0x308c1121, 0xdf4e7a1f, 0x3d926166, 0xd2500a58,
+ 0x3967b15b, 0xd6a5da65, 0x4f5d03d0, 0xa09f68ee, 0x4ba8d3ed,
+ 0xa46ab8d3, 0x46b6a3aa, 0xa974c894, 0x42437397, 0xad8118a9,
+ 0x5c8a4324, 0xb348281a, 0x587f9319, 0xb7bdf827, 0x5561e35e,
+ 0xbaa38860, 0x51943363, 0xbe56585d, 0x68f38238, 0x8731e906,
+ 0x6c065205, 0x83c4393b, 0x61182242, 0x8eda497c, 0x65edf27f,
+ 0x8a2f9941, 0x7b24c2cc, 0x94e6a9f2, 0x7fd112f1, 0x901379cf,
+ 0x72cf62b6, 0x9d0d0988, 0x763ab28b, 0x99f8d9b5, 0x9eba07a0,
+ 0x71786c9e, 0x9a4fd79d, 0x758dbca3, 0x9751a7da, 0x7893cce4,
+ 0x93a477e7, 0x7c661cd9, 0x8d6d4754, 0x62af2c6a, 0x89989769,
+ 0x665afc57, 0x8486e72e, 0x6b448c10, 0x80733713, 0x6fb15c2d,
+ 0xb9148648, 0x56d6ed76, 0xbde15675, 0x52233d4b, 0xb0ff2632,
+ 0x5f3d4d0c, 0xb40af60f, 0x5bc89d31, 0xaac3c6bc, 0x4501ad82,
+ 0xae361681, 0x41f47dbf, 0xa32866c6, 0x4cea0df8, 0xa7ddb6fb,
+ 0x481fddc5, 0xd1e70470, 0x3e256f4e, 0xd512d44d, 0x3ad0bf73,
+ 0xd80ca40a, 0x37cecf34, 0xdcf97437, 0x333b1f09, 0xc2304484,
+ 0x2df22fba, 0xc6c594b9, 0x2907ff87, 0xcbdbe4fe, 0x24198fc0,
+ 0xcf2e34c3, 0x20ec5ffd, 0xf6498598, 0x198beea6, 0xf2bc55a5,
+ 0x1d7e3e9b, 0xffa225e2, 0x10604edc, 0xfb57f5df, 0x14959ee1,
+ 0xe59ec56c, 0x0a5cae52, 0xe16b1551, 0x0ea97e6f, 0xec756516,
+ 0x03b70e28, 0xe880b52b, 0x0742de15, 0xe6050901, 0x09c7623f,
+ 0xe2f0d93c, 0x0d32b202, 0xefeea97b, 0x002cc245, 0xeb1b7946,
+ 0x04d91278, 0xf5d249f5, 0x1a1022cb, 0xf12799c8, 0x1ee5f2f6,
+ 0xfc39e98f, 0x13fb82b1, 0xf8cc39b2, 0x170e528c, 0xc1ab88e9,
+ 0x2e69e3d7, 0xc55e58d4, 0x2a9c33ea, 0xc8402893, 0x278243ad,
+ 0xccb5f8ae, 0x23779390, 0xd27cc81d, 0x3dbea323, 0xd6891820,
+ 0x394b731e, 0xdb976867, 0x34550359, 0xdf62b85a, 0x30a0d364,
+ 0xa9580ad1, 0x469a61ef, 0xadaddaec, 0x426fb1d2, 0xa0b3aaab,
+ 0x4f71c195, 0xa4467a96, 0x4b8411a8, 0xba8f4a25, 0x554d211b,
+ 0xbe7a9a18, 0x51b8f126, 0xb364ea5f, 0x5ca68161, 0xb7913a62,
+ 0x5853515c, 0x8ef68b39, 0x6134e007, 0x8a035b04, 0x65c1303a,
+ 0x871d2b43, 0x68df407d, 0x83e8fb7e, 0x6c2a9040, 0x9d21cbcd,
+ 0x72e3a0f3, 0x99d41bf0, 0x761670ce, 0x94ca6bb7, 0x7b080089,
+ 0x903fbb8a, 0x7ffdd0b4, 0x78bf0ea1, 0x977d659f, 0x7c4ade9c,
+ 0x9388b5a2, 0x7154aedb, 0x9e96c5e5, 0x75a17ee6, 0x9a6315d8,
+ 0x6b684e55, 0x84aa256b, 0x6f9d9e68, 0x805ff556, 0x6283ee2f,
+ 0x8d418511, 0x66763e12, 0x89b4552c, 0x5f118f49, 0xb0d3e477,
+ 0x5be45f74, 0xb426344a, 0x56fa2f33, 0xb938440d, 0x520fff0e,
+ 0xbdcd9430, 0x4cc6cfbd, 0xa304a483, 0x48331f80, 0xa7f174be,
+ 0x452d6fc7, 0xaaef04f9, 0x41d8bffa, 0xae1ad4c4, 0x37e20d71,
+ 0xd820664f, 0x3317dd4c, 0xdcd5b672, 0x3e09ad0b, 0xd1cbc635,
+ 0x3afc7d36, 0xd53e1608, 0x24354d85, 0xcbf726bb, 0x20c09db8,
+ 0xcf02f686, 0x2ddeedff, 0xc21c86c1, 0x292b3dc2, 0xc6e956fc,
+ 0x104c8c99, 0xff8ee7a7, 0x14b95ca4, 0xfb7b379a, 0x19a72ce3,
+ 0xf66547dd, 0x1d52fcde, 0xf29097e0, 0x039bcc6d, 0xec59a753,
+ 0x076e1c50, 0xe8ac776e, 0x0a706c17, 0xe5b20729, 0x0e85bc2a,
+ 0xe147d714},
+ {0x00000000, 0x177b1443, 0x2ef62886, 0x398d3cc5, 0x5dec510c,
+ 0x4a97454f, 0x731a798a, 0x64616dc9, 0xbbd8a218, 0xaca3b65b,
+ 0x952e8a9e, 0x82559edd, 0xe634f314, 0xf14fe757, 0xc8c2db92,
+ 0xdfb9cfd1, 0xacc04271, 0xbbbb5632, 0x82366af7, 0x954d7eb4,
+ 0xf12c137d, 0xe657073e, 0xdfda3bfb, 0xc8a12fb8, 0x1718e069,
+ 0x0063f42a, 0x39eec8ef, 0x2e95dcac, 0x4af4b165, 0x5d8fa526,
+ 0x640299e3, 0x73798da0, 0x82f182a3, 0x958a96e0, 0xac07aa25,
+ 0xbb7cbe66, 0xdf1dd3af, 0xc866c7ec, 0xf1ebfb29, 0xe690ef6a,
+ 0x392920bb, 0x2e5234f8, 0x17df083d, 0x00a41c7e, 0x64c571b7,
+ 0x73be65f4, 0x4a335931, 0x5d484d72, 0x2e31c0d2, 0x394ad491,
+ 0x00c7e854, 0x17bcfc17, 0x73dd91de, 0x64a6859d, 0x5d2bb958,
+ 0x4a50ad1b, 0x95e962ca, 0x82927689, 0xbb1f4a4c, 0xac645e0f,
+ 0xc80533c6, 0xdf7e2785, 0xe6f31b40, 0xf1880f03, 0xde920307,
+ 0xc9e91744, 0xf0642b81, 0xe71f3fc2, 0x837e520b, 0x94054648,
+ 0xad887a8d, 0xbaf36ece, 0x654aa11f, 0x7231b55c, 0x4bbc8999,
+ 0x5cc79dda, 0x38a6f013, 0x2fdde450, 0x1650d895, 0x012bccd6,
+ 0x72524176, 0x65295535, 0x5ca469f0, 0x4bdf7db3, 0x2fbe107a,
+ 0x38c50439, 0x014838fc, 0x16332cbf, 0xc98ae36e, 0xdef1f72d,
+ 0xe77ccbe8, 0xf007dfab, 0x9466b262, 0x831da621, 0xba909ae4,
+ 0xadeb8ea7, 0x5c6381a4, 0x4b1895e7, 0x7295a922, 0x65eebd61,
+ 0x018fd0a8, 0x16f4c4eb, 0x2f79f82e, 0x3802ec6d, 0xe7bb23bc,
+ 0xf0c037ff, 0xc94d0b3a, 0xde361f79, 0xba5772b0, 0xad2c66f3,
+ 0x94a15a36, 0x83da4e75, 0xf0a3c3d5, 0xe7d8d796, 0xde55eb53,
+ 0xc92eff10, 0xad4f92d9, 0xba34869a, 0x83b9ba5f, 0x94c2ae1c,
+ 0x4b7b61cd, 0x5c00758e, 0x658d494b, 0x72f65d08, 0x169730c1,
+ 0x01ec2482, 0x38611847, 0x2f1a0c04, 0x6655004f, 0x712e140c,
+ 0x48a328c9, 0x5fd83c8a, 0x3bb95143, 0x2cc24500, 0x154f79c5,
+ 0x02346d86, 0xdd8da257, 0xcaf6b614, 0xf37b8ad1, 0xe4009e92,
+ 0x8061f35b, 0x971ae718, 0xae97dbdd, 0xb9eccf9e, 0xca95423e,
+ 0xddee567d, 0xe4636ab8, 0xf3187efb, 0x97791332, 0x80020771,
+ 0xb98f3bb4, 0xaef42ff7, 0x714de026, 0x6636f465, 0x5fbbc8a0,
+ 0x48c0dce3, 0x2ca1b12a, 0x3bdaa569, 0x025799ac, 0x152c8def,
+ 0xe4a482ec, 0xf3df96af, 0xca52aa6a, 0xdd29be29, 0xb948d3e0,
+ 0xae33c7a3, 0x97befb66, 0x80c5ef25, 0x5f7c20f4, 0x480734b7,
+ 0x718a0872, 0x66f11c31, 0x029071f8, 0x15eb65bb, 0x2c66597e,
+ 0x3b1d4d3d, 0x4864c09d, 0x5f1fd4de, 0x6692e81b, 0x71e9fc58,
+ 0x15889191, 0x02f385d2, 0x3b7eb917, 0x2c05ad54, 0xf3bc6285,
+ 0xe4c776c6, 0xdd4a4a03, 0xca315e40, 0xae503389, 0xb92b27ca,
+ 0x80a61b0f, 0x97dd0f4c, 0xb8c70348, 0xafbc170b, 0x96312bce,
+ 0x814a3f8d, 0xe52b5244, 0xf2504607, 0xcbdd7ac2, 0xdca66e81,
+ 0x031fa150, 0x1464b513, 0x2de989d6, 0x3a929d95, 0x5ef3f05c,
+ 0x4988e41f, 0x7005d8da, 0x677ecc99, 0x14074139, 0x037c557a,
+ 0x3af169bf, 0x2d8a7dfc, 0x49eb1035, 0x5e900476, 0x671d38b3,
+ 0x70662cf0, 0xafdfe321, 0xb8a4f762, 0x8129cba7, 0x9652dfe4,
+ 0xf233b22d, 0xe548a66e, 0xdcc59aab, 0xcbbe8ee8, 0x3a3681eb,
+ 0x2d4d95a8, 0x14c0a96d, 0x03bbbd2e, 0x67dad0e7, 0x70a1c4a4,
+ 0x492cf861, 0x5e57ec22, 0x81ee23f3, 0x969537b0, 0xaf180b75,
+ 0xb8631f36, 0xdc0272ff, 0xcb7966bc, 0xf2f45a79, 0xe58f4e3a,
+ 0x96f6c39a, 0x818dd7d9, 0xb800eb1c, 0xaf7bff5f, 0xcb1a9296,
+ 0xdc6186d5, 0xe5ecba10, 0xf297ae53, 0x2d2e6182, 0x3a5575c1,
+ 0x03d84904, 0x14a35d47, 0x70c2308e, 0x67b924cd, 0x5e341808,
+ 0x494f0c4b}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x0000000000000000, 0x43147b1700000000, 0x8628f62e00000000,
+ 0xc53c8d3900000000, 0x0c51ec5d00000000, 0x4f45974a00000000,
+ 0x8a791a7300000000, 0xc96d616400000000, 0x18a2d8bb00000000,
+ 0x5bb6a3ac00000000, 0x9e8a2e9500000000, 0xdd9e558200000000,
+ 0x14f334e600000000, 0x57e74ff100000000, 0x92dbc2c800000000,
+ 0xd1cfb9df00000000, 0x7142c0ac00000000, 0x3256bbbb00000000,
+ 0xf76a368200000000, 0xb47e4d9500000000, 0x7d132cf100000000,
+ 0x3e0757e600000000, 0xfb3bdadf00000000, 0xb82fa1c800000000,
+ 0x69e0181700000000, 0x2af4630000000000, 0xefc8ee3900000000,
+ 0xacdc952e00000000, 0x65b1f44a00000000, 0x26a58f5d00000000,
+ 0xe399026400000000, 0xa08d797300000000, 0xa382f18200000000,
+ 0xe0968a9500000000, 0x25aa07ac00000000, 0x66be7cbb00000000,
+ 0xafd31ddf00000000, 0xecc766c800000000, 0x29fbebf100000000,
+ 0x6aef90e600000000, 0xbb20293900000000, 0xf834522e00000000,
+ 0x3d08df1700000000, 0x7e1ca40000000000, 0xb771c56400000000,
+ 0xf465be7300000000, 0x3159334a00000000, 0x724d485d00000000,
+ 0xd2c0312e00000000, 0x91d44a3900000000, 0x54e8c70000000000,
+ 0x17fcbc1700000000, 0xde91dd7300000000, 0x9d85a66400000000,
+ 0x58b92b5d00000000, 0x1bad504a00000000, 0xca62e99500000000,
+ 0x8976928200000000, 0x4c4a1fbb00000000, 0x0f5e64ac00000000,
+ 0xc63305c800000000, 0x85277edf00000000, 0x401bf3e600000000,
+ 0x030f88f100000000, 0x070392de00000000, 0x4417e9c900000000,
+ 0x812b64f000000000, 0xc23f1fe700000000, 0x0b527e8300000000,
+ 0x4846059400000000, 0x8d7a88ad00000000, 0xce6ef3ba00000000,
+ 0x1fa14a6500000000, 0x5cb5317200000000, 0x9989bc4b00000000,
+ 0xda9dc75c00000000, 0x13f0a63800000000, 0x50e4dd2f00000000,
+ 0x95d8501600000000, 0xd6cc2b0100000000, 0x7641527200000000,
+ 0x3555296500000000, 0xf069a45c00000000, 0xb37ddf4b00000000,
+ 0x7a10be2f00000000, 0x3904c53800000000, 0xfc38480100000000,
+ 0xbf2c331600000000, 0x6ee38ac900000000, 0x2df7f1de00000000,
+ 0xe8cb7ce700000000, 0xabdf07f000000000, 0x62b2669400000000,
+ 0x21a61d8300000000, 0xe49a90ba00000000, 0xa78eebad00000000,
+ 0xa481635c00000000, 0xe795184b00000000, 0x22a9957200000000,
+ 0x61bdee6500000000, 0xa8d08f0100000000, 0xebc4f41600000000,
+ 0x2ef8792f00000000, 0x6dec023800000000, 0xbc23bbe700000000,
+ 0xff37c0f000000000, 0x3a0b4dc900000000, 0x791f36de00000000,
+ 0xb07257ba00000000, 0xf3662cad00000000, 0x365aa19400000000,
+ 0x754eda8300000000, 0xd5c3a3f000000000, 0x96d7d8e700000000,
+ 0x53eb55de00000000, 0x10ff2ec900000000, 0xd9924fad00000000,
+ 0x9a8634ba00000000, 0x5fbab98300000000, 0x1caec29400000000,
+ 0xcd617b4b00000000, 0x8e75005c00000000, 0x4b498d6500000000,
+ 0x085df67200000000, 0xc130971600000000, 0x8224ec0100000000,
+ 0x4718613800000000, 0x040c1a2f00000000, 0x4f00556600000000,
+ 0x0c142e7100000000, 0xc928a34800000000, 0x8a3cd85f00000000,
+ 0x4351b93b00000000, 0x0045c22c00000000, 0xc5794f1500000000,
+ 0x866d340200000000, 0x57a28ddd00000000, 0x14b6f6ca00000000,
+ 0xd18a7bf300000000, 0x929e00e400000000, 0x5bf3618000000000,
+ 0x18e71a9700000000, 0xdddb97ae00000000, 0x9ecfecb900000000,
+ 0x3e4295ca00000000, 0x7d56eedd00000000, 0xb86a63e400000000,
+ 0xfb7e18f300000000, 0x3213799700000000, 0x7107028000000000,
+ 0xb43b8fb900000000, 0xf72ff4ae00000000, 0x26e04d7100000000,
+ 0x65f4366600000000, 0xa0c8bb5f00000000, 0xe3dcc04800000000,
+ 0x2ab1a12c00000000, 0x69a5da3b00000000, 0xac99570200000000,
+ 0xef8d2c1500000000, 0xec82a4e400000000, 0xaf96dff300000000,
+ 0x6aaa52ca00000000, 0x29be29dd00000000, 0xe0d348b900000000,
+ 0xa3c733ae00000000, 0x66fbbe9700000000, 0x25efc58000000000,
+ 0xf4207c5f00000000, 0xb734074800000000, 0x72088a7100000000,
+ 0x311cf16600000000, 0xf871900200000000, 0xbb65eb1500000000,
+ 0x7e59662c00000000, 0x3d4d1d3b00000000, 0x9dc0644800000000,
+ 0xded41f5f00000000, 0x1be8926600000000, 0x58fce97100000000,
+ 0x9191881500000000, 0xd285f30200000000, 0x17b97e3b00000000,
+ 0x54ad052c00000000, 0x8562bcf300000000, 0xc676c7e400000000,
+ 0x034a4add00000000, 0x405e31ca00000000, 0x893350ae00000000,
+ 0xca272bb900000000, 0x0f1ba68000000000, 0x4c0fdd9700000000,
+ 0x4803c7b800000000, 0x0b17bcaf00000000, 0xce2b319600000000,
+ 0x8d3f4a8100000000, 0x44522be500000000, 0x074650f200000000,
+ 0xc27addcb00000000, 0x816ea6dc00000000, 0x50a11f0300000000,
+ 0x13b5641400000000, 0xd689e92d00000000, 0x959d923a00000000,
+ 0x5cf0f35e00000000, 0x1fe4884900000000, 0xdad8057000000000,
+ 0x99cc7e6700000000, 0x3941071400000000, 0x7a557c0300000000,
+ 0xbf69f13a00000000, 0xfc7d8a2d00000000, 0x3510eb4900000000,
+ 0x7604905e00000000, 0xb3381d6700000000, 0xf02c667000000000,
+ 0x21e3dfaf00000000, 0x62f7a4b800000000, 0xa7cb298100000000,
+ 0xe4df529600000000, 0x2db233f200000000, 0x6ea648e500000000,
+ 0xab9ac5dc00000000, 0xe88ebecb00000000, 0xeb81363a00000000,
+ 0xa8954d2d00000000, 0x6da9c01400000000, 0x2ebdbb0300000000,
+ 0xe7d0da6700000000, 0xa4c4a17000000000, 0x61f82c4900000000,
+ 0x22ec575e00000000, 0xf323ee8100000000, 0xb037959600000000,
+ 0x750b18af00000000, 0x361f63b800000000, 0xff7202dc00000000,
+ 0xbc6679cb00000000, 0x795af4f200000000, 0x3a4e8fe500000000,
+ 0x9ac3f69600000000, 0xd9d78d8100000000, 0x1ceb00b800000000,
+ 0x5fff7baf00000000, 0x96921acb00000000, 0xd58661dc00000000,
+ 0x10baece500000000, 0x53ae97f200000000, 0x82612e2d00000000,
+ 0xc175553a00000000, 0x0449d80300000000, 0x475da31400000000,
+ 0x8e30c27000000000, 0xcd24b96700000000, 0x0818345e00000000,
+ 0x4b0c4f4900000000},
+ {0x0000000000000000, 0x3e6bc2ef00000000, 0x3dd0f50400000000,
+ 0x03bb37eb00000000, 0x7aa0eb0900000000, 0x44cb29e600000000,
+ 0x47701e0d00000000, 0x791bdce200000000, 0xf440d71300000000,
+ 0xca2b15fc00000000, 0xc990221700000000, 0xf7fbe0f800000000,
+ 0x8ee03c1a00000000, 0xb08bfef500000000, 0xb330c91e00000000,
+ 0x8d5b0bf100000000, 0xe881ae2700000000, 0xd6ea6cc800000000,
+ 0xd5515b2300000000, 0xeb3a99cc00000000, 0x9221452e00000000,
+ 0xac4a87c100000000, 0xaff1b02a00000000, 0x919a72c500000000,
+ 0x1cc1793400000000, 0x22aabbdb00000000, 0x21118c3000000000,
+ 0x1f7a4edf00000000, 0x6661923d00000000, 0x580a50d200000000,
+ 0x5bb1673900000000, 0x65daa5d600000000, 0xd0035d4f00000000,
+ 0xee689fa000000000, 0xedd3a84b00000000, 0xd3b86aa400000000,
+ 0xaaa3b64600000000, 0x94c874a900000000, 0x9773434200000000,
+ 0xa91881ad00000000, 0x24438a5c00000000, 0x1a2848b300000000,
+ 0x19937f5800000000, 0x27f8bdb700000000, 0x5ee3615500000000,
+ 0x6088a3ba00000000, 0x6333945100000000, 0x5d5856be00000000,
+ 0x3882f36800000000, 0x06e9318700000000, 0x0552066c00000000,
+ 0x3b39c48300000000, 0x4222186100000000, 0x7c49da8e00000000,
+ 0x7ff2ed6500000000, 0x41992f8a00000000, 0xccc2247b00000000,
+ 0xf2a9e69400000000, 0xf112d17f00000000, 0xcf79139000000000,
+ 0xb662cf7200000000, 0x88090d9d00000000, 0x8bb23a7600000000,
+ 0xb5d9f89900000000, 0xa007ba9e00000000, 0x9e6c787100000000,
+ 0x9dd74f9a00000000, 0xa3bc8d7500000000, 0xdaa7519700000000,
+ 0xe4cc937800000000, 0xe777a49300000000, 0xd91c667c00000000,
+ 0x54476d8d00000000, 0x6a2caf6200000000, 0x6997988900000000,
+ 0x57fc5a6600000000, 0x2ee7868400000000, 0x108c446b00000000,
+ 0x1337738000000000, 0x2d5cb16f00000000, 0x488614b900000000,
+ 0x76edd65600000000, 0x7556e1bd00000000, 0x4b3d235200000000,
+ 0x3226ffb000000000, 0x0c4d3d5f00000000, 0x0ff60ab400000000,
+ 0x319dc85b00000000, 0xbcc6c3aa00000000, 0x82ad014500000000,
+ 0x811636ae00000000, 0xbf7df44100000000, 0xc66628a300000000,
+ 0xf80dea4c00000000, 0xfbb6dda700000000, 0xc5dd1f4800000000,
+ 0x7004e7d100000000, 0x4e6f253e00000000, 0x4dd412d500000000,
+ 0x73bfd03a00000000, 0x0aa40cd800000000, 0x34cfce3700000000,
+ 0x3774f9dc00000000, 0x091f3b3300000000, 0x844430c200000000,
+ 0xba2ff22d00000000, 0xb994c5c600000000, 0x87ff072900000000,
+ 0xfee4dbcb00000000, 0xc08f192400000000, 0xc3342ecf00000000,
+ 0xfd5fec2000000000, 0x988549f600000000, 0xa6ee8b1900000000,
+ 0xa555bcf200000000, 0x9b3e7e1d00000000, 0xe225a2ff00000000,
+ 0xdc4e601000000000, 0xdff557fb00000000, 0xe19e951400000000,
+ 0x6cc59ee500000000, 0x52ae5c0a00000000, 0x51156be100000000,
+ 0x6f7ea90e00000000, 0x166575ec00000000, 0x280eb70300000000,
+ 0x2bb580e800000000, 0x15de420700000000, 0x010905e600000000,
+ 0x3f62c70900000000, 0x3cd9f0e200000000, 0x02b2320d00000000,
+ 0x7ba9eeef00000000, 0x45c22c0000000000, 0x46791beb00000000,
+ 0x7812d90400000000, 0xf549d2f500000000, 0xcb22101a00000000,
+ 0xc89927f100000000, 0xf6f2e51e00000000, 0x8fe939fc00000000,
+ 0xb182fb1300000000, 0xb239ccf800000000, 0x8c520e1700000000,
+ 0xe988abc100000000, 0xd7e3692e00000000, 0xd4585ec500000000,
+ 0xea339c2a00000000, 0x932840c800000000, 0xad43822700000000,
+ 0xaef8b5cc00000000, 0x9093772300000000, 0x1dc87cd200000000,
+ 0x23a3be3d00000000, 0x201889d600000000, 0x1e734b3900000000,
+ 0x676897db00000000, 0x5903553400000000, 0x5ab862df00000000,
+ 0x64d3a03000000000, 0xd10a58a900000000, 0xef619a4600000000,
+ 0xecdaadad00000000, 0xd2b16f4200000000, 0xabaab3a000000000,
+ 0x95c1714f00000000, 0x967a46a400000000, 0xa811844b00000000,
+ 0x254a8fba00000000, 0x1b214d5500000000, 0x189a7abe00000000,
+ 0x26f1b85100000000, 0x5fea64b300000000, 0x6181a65c00000000,
+ 0x623a91b700000000, 0x5c51535800000000, 0x398bf68e00000000,
+ 0x07e0346100000000, 0x045b038a00000000, 0x3a30c16500000000,
+ 0x432b1d8700000000, 0x7d40df6800000000, 0x7efbe88300000000,
+ 0x40902a6c00000000, 0xcdcb219d00000000, 0xf3a0e37200000000,
+ 0xf01bd49900000000, 0xce70167600000000, 0xb76bca9400000000,
+ 0x8900087b00000000, 0x8abb3f9000000000, 0xb4d0fd7f00000000,
+ 0xa10ebf7800000000, 0x9f657d9700000000, 0x9cde4a7c00000000,
+ 0xa2b5889300000000, 0xdbae547100000000, 0xe5c5969e00000000,
+ 0xe67ea17500000000, 0xd815639a00000000, 0x554e686b00000000,
+ 0x6b25aa8400000000, 0x689e9d6f00000000, 0x56f55f8000000000,
+ 0x2fee836200000000, 0x1185418d00000000, 0x123e766600000000,
+ 0x2c55b48900000000, 0x498f115f00000000, 0x77e4d3b000000000,
+ 0x745fe45b00000000, 0x4a3426b400000000, 0x332ffa5600000000,
+ 0x0d4438b900000000, 0x0eff0f5200000000, 0x3094cdbd00000000,
+ 0xbdcfc64c00000000, 0x83a404a300000000, 0x801f334800000000,
+ 0xbe74f1a700000000, 0xc76f2d4500000000, 0xf904efaa00000000,
+ 0xfabfd84100000000, 0xc4d41aae00000000, 0x710de23700000000,
+ 0x4f6620d800000000, 0x4cdd173300000000, 0x72b6d5dc00000000,
+ 0x0bad093e00000000, 0x35c6cbd100000000, 0x367dfc3a00000000,
+ 0x08163ed500000000, 0x854d352400000000, 0xbb26f7cb00000000,
+ 0xb89dc02000000000, 0x86f602cf00000000, 0xffedde2d00000000,
+ 0xc1861cc200000000, 0xc23d2b2900000000, 0xfc56e9c600000000,
+ 0x998c4c1000000000, 0xa7e78eff00000000, 0xa45cb91400000000,
+ 0x9a377bfb00000000, 0xe32ca71900000000, 0xdd4765f600000000,
+ 0xdefc521d00000000, 0xe09790f200000000, 0x6dcc9b0300000000,
+ 0x53a759ec00000000, 0x501c6e0700000000, 0x6e77ace800000000,
+ 0x176c700a00000000, 0x2907b2e500000000, 0x2abc850e00000000,
+ 0x14d747e100000000},
+ {0x0000000000000000, 0xc0df8ec100000000, 0xc1b96c5800000000,
+ 0x0166e29900000000, 0x8273d9b000000000, 0x42ac577100000000,
+ 0x43cab5e800000000, 0x83153b2900000000, 0x45e1c3ba00000000,
+ 0x853e4d7b00000000, 0x8458afe200000000, 0x4487212300000000,
+ 0xc7921a0a00000000, 0x074d94cb00000000, 0x062b765200000000,
+ 0xc6f4f89300000000, 0xcbc4f6ae00000000, 0x0b1b786f00000000,
+ 0x0a7d9af600000000, 0xcaa2143700000000, 0x49b72f1e00000000,
+ 0x8968a1df00000000, 0x880e434600000000, 0x48d1cd8700000000,
+ 0x8e25351400000000, 0x4efabbd500000000, 0x4f9c594c00000000,
+ 0x8f43d78d00000000, 0x0c56eca400000000, 0xcc89626500000000,
+ 0xcdef80fc00000000, 0x0d300e3d00000000, 0xd78f9c8600000000,
+ 0x1750124700000000, 0x1636f0de00000000, 0xd6e97e1f00000000,
+ 0x55fc453600000000, 0x9523cbf700000000, 0x9445296e00000000,
+ 0x549aa7af00000000, 0x926e5f3c00000000, 0x52b1d1fd00000000,
+ 0x53d7336400000000, 0x9308bda500000000, 0x101d868c00000000,
+ 0xd0c2084d00000000, 0xd1a4ead400000000, 0x117b641500000000,
+ 0x1c4b6a2800000000, 0xdc94e4e900000000, 0xddf2067000000000,
+ 0x1d2d88b100000000, 0x9e38b39800000000, 0x5ee73d5900000000,
+ 0x5f81dfc000000000, 0x9f5e510100000000, 0x59aaa99200000000,
+ 0x9975275300000000, 0x9813c5ca00000000, 0x58cc4b0b00000000,
+ 0xdbd9702200000000, 0x1b06fee300000000, 0x1a601c7a00000000,
+ 0xdabf92bb00000000, 0xef1948d600000000, 0x2fc6c61700000000,
+ 0x2ea0248e00000000, 0xee7faa4f00000000, 0x6d6a916600000000,
+ 0xadb51fa700000000, 0xacd3fd3e00000000, 0x6c0c73ff00000000,
+ 0xaaf88b6c00000000, 0x6a2705ad00000000, 0x6b41e73400000000,
+ 0xab9e69f500000000, 0x288b52dc00000000, 0xe854dc1d00000000,
+ 0xe9323e8400000000, 0x29edb04500000000, 0x24ddbe7800000000,
+ 0xe40230b900000000, 0xe564d22000000000, 0x25bb5ce100000000,
+ 0xa6ae67c800000000, 0x6671e90900000000, 0x67170b9000000000,
+ 0xa7c8855100000000, 0x613c7dc200000000, 0xa1e3f30300000000,
+ 0xa085119a00000000, 0x605a9f5b00000000, 0xe34fa47200000000,
+ 0x23902ab300000000, 0x22f6c82a00000000, 0xe22946eb00000000,
+ 0x3896d45000000000, 0xf8495a9100000000, 0xf92fb80800000000,
+ 0x39f036c900000000, 0xbae50de000000000, 0x7a3a832100000000,
+ 0x7b5c61b800000000, 0xbb83ef7900000000, 0x7d7717ea00000000,
+ 0xbda8992b00000000, 0xbcce7bb200000000, 0x7c11f57300000000,
+ 0xff04ce5a00000000, 0x3fdb409b00000000, 0x3ebda20200000000,
+ 0xfe622cc300000000, 0xf35222fe00000000, 0x338dac3f00000000,
+ 0x32eb4ea600000000, 0xf234c06700000000, 0x7121fb4e00000000,
+ 0xb1fe758f00000000, 0xb098971600000000, 0x704719d700000000,
+ 0xb6b3e14400000000, 0x766c6f8500000000, 0x770a8d1c00000000,
+ 0xb7d503dd00000000, 0x34c038f400000000, 0xf41fb63500000000,
+ 0xf57954ac00000000, 0x35a6da6d00000000, 0x9f35e17700000000,
+ 0x5fea6fb600000000, 0x5e8c8d2f00000000, 0x9e5303ee00000000,
+ 0x1d4638c700000000, 0xdd99b60600000000, 0xdcff549f00000000,
+ 0x1c20da5e00000000, 0xdad422cd00000000, 0x1a0bac0c00000000,
+ 0x1b6d4e9500000000, 0xdbb2c05400000000, 0x58a7fb7d00000000,
+ 0x987875bc00000000, 0x991e972500000000, 0x59c119e400000000,
+ 0x54f117d900000000, 0x942e991800000000, 0x95487b8100000000,
+ 0x5597f54000000000, 0xd682ce6900000000, 0x165d40a800000000,
+ 0x173ba23100000000, 0xd7e42cf000000000, 0x1110d46300000000,
+ 0xd1cf5aa200000000, 0xd0a9b83b00000000, 0x107636fa00000000,
+ 0x93630dd300000000, 0x53bc831200000000, 0x52da618b00000000,
+ 0x9205ef4a00000000, 0x48ba7df100000000, 0x8865f33000000000,
+ 0x890311a900000000, 0x49dc9f6800000000, 0xcac9a44100000000,
+ 0x0a162a8000000000, 0x0b70c81900000000, 0xcbaf46d800000000,
+ 0x0d5bbe4b00000000, 0xcd84308a00000000, 0xcce2d21300000000,
+ 0x0c3d5cd200000000, 0x8f2867fb00000000, 0x4ff7e93a00000000,
+ 0x4e910ba300000000, 0x8e4e856200000000, 0x837e8b5f00000000,
+ 0x43a1059e00000000, 0x42c7e70700000000, 0x821869c600000000,
+ 0x010d52ef00000000, 0xc1d2dc2e00000000, 0xc0b43eb700000000,
+ 0x006bb07600000000, 0xc69f48e500000000, 0x0640c62400000000,
+ 0x072624bd00000000, 0xc7f9aa7c00000000, 0x44ec915500000000,
+ 0x84331f9400000000, 0x8555fd0d00000000, 0x458a73cc00000000,
+ 0x702ca9a100000000, 0xb0f3276000000000, 0xb195c5f900000000,
+ 0x714a4b3800000000, 0xf25f701100000000, 0x3280fed000000000,
+ 0x33e61c4900000000, 0xf339928800000000, 0x35cd6a1b00000000,
+ 0xf512e4da00000000, 0xf474064300000000, 0x34ab888200000000,
+ 0xb7beb3ab00000000, 0x77613d6a00000000, 0x7607dff300000000,
+ 0xb6d8513200000000, 0xbbe85f0f00000000, 0x7b37d1ce00000000,
+ 0x7a51335700000000, 0xba8ebd9600000000, 0x399b86bf00000000,
+ 0xf944087e00000000, 0xf822eae700000000, 0x38fd642600000000,
+ 0xfe099cb500000000, 0x3ed6127400000000, 0x3fb0f0ed00000000,
+ 0xff6f7e2c00000000, 0x7c7a450500000000, 0xbca5cbc400000000,
+ 0xbdc3295d00000000, 0x7d1ca79c00000000, 0xa7a3352700000000,
+ 0x677cbbe600000000, 0x661a597f00000000, 0xa6c5d7be00000000,
+ 0x25d0ec9700000000, 0xe50f625600000000, 0xe46980cf00000000,
+ 0x24b60e0e00000000, 0xe242f69d00000000, 0x229d785c00000000,
+ 0x23fb9ac500000000, 0xe324140400000000, 0x60312f2d00000000,
+ 0xa0eea1ec00000000, 0xa188437500000000, 0x6157cdb400000000,
+ 0x6c67c38900000000, 0xacb84d4800000000, 0xaddeafd100000000,
+ 0x6d01211000000000, 0xee141a3900000000, 0x2ecb94f800000000,
+ 0x2fad766100000000, 0xef72f8a000000000, 0x2986003300000000,
+ 0xe9598ef200000000, 0xe83f6c6b00000000, 0x28e0e2aa00000000,
+ 0xabf5d98300000000, 0x6b2a574200000000, 0x6a4cb5db00000000,
+ 0xaa933b1a00000000},
+ {0x0000000000000000, 0x6f4ca59b00000000, 0x9f9e3bec00000000,
+ 0xf0d29e7700000000, 0x7f3b060300000000, 0x1077a39800000000,
+ 0xe0a53def00000000, 0x8fe9987400000000, 0xfe760c0600000000,
+ 0x913aa99d00000000, 0x61e837ea00000000, 0x0ea4927100000000,
+ 0x814d0a0500000000, 0xee01af9e00000000, 0x1ed331e900000000,
+ 0x719f947200000000, 0xfced180c00000000, 0x93a1bd9700000000,
+ 0x637323e000000000, 0x0c3f867b00000000, 0x83d61e0f00000000,
+ 0xec9abb9400000000, 0x1c4825e300000000, 0x7304807800000000,
+ 0x029b140a00000000, 0x6dd7b19100000000, 0x9d052fe600000000,
+ 0xf2498a7d00000000, 0x7da0120900000000, 0x12ecb79200000000,
+ 0xe23e29e500000000, 0x8d728c7e00000000, 0xf8db311800000000,
+ 0x9797948300000000, 0x67450af400000000, 0x0809af6f00000000,
+ 0x87e0371b00000000, 0xe8ac928000000000, 0x187e0cf700000000,
+ 0x7732a96c00000000, 0x06ad3d1e00000000, 0x69e1988500000000,
+ 0x993306f200000000, 0xf67fa36900000000, 0x79963b1d00000000,
+ 0x16da9e8600000000, 0xe60800f100000000, 0x8944a56a00000000,
+ 0x0436291400000000, 0x6b7a8c8f00000000, 0x9ba812f800000000,
+ 0xf4e4b76300000000, 0x7b0d2f1700000000, 0x14418a8c00000000,
+ 0xe49314fb00000000, 0x8bdfb16000000000, 0xfa40251200000000,
+ 0x950c808900000000, 0x65de1efe00000000, 0x0a92bb6500000000,
+ 0x857b231100000000, 0xea37868a00000000, 0x1ae518fd00000000,
+ 0x75a9bd6600000000, 0xf0b7633000000000, 0x9ffbc6ab00000000,
+ 0x6f2958dc00000000, 0x0065fd4700000000, 0x8f8c653300000000,
+ 0xe0c0c0a800000000, 0x10125edf00000000, 0x7f5efb4400000000,
+ 0x0ec16f3600000000, 0x618dcaad00000000, 0x915f54da00000000,
+ 0xfe13f14100000000, 0x71fa693500000000, 0x1eb6ccae00000000,
+ 0xee6452d900000000, 0x8128f74200000000, 0x0c5a7b3c00000000,
+ 0x6316dea700000000, 0x93c440d000000000, 0xfc88e54b00000000,
+ 0x73617d3f00000000, 0x1c2dd8a400000000, 0xecff46d300000000,
+ 0x83b3e34800000000, 0xf22c773a00000000, 0x9d60d2a100000000,
+ 0x6db24cd600000000, 0x02fee94d00000000, 0x8d17713900000000,
+ 0xe25bd4a200000000, 0x12894ad500000000, 0x7dc5ef4e00000000,
+ 0x086c522800000000, 0x6720f7b300000000, 0x97f269c400000000,
+ 0xf8becc5f00000000, 0x7757542b00000000, 0x181bf1b000000000,
+ 0xe8c96fc700000000, 0x8785ca5c00000000, 0xf61a5e2e00000000,
+ 0x9956fbb500000000, 0x698465c200000000, 0x06c8c05900000000,
+ 0x8921582d00000000, 0xe66dfdb600000000, 0x16bf63c100000000,
+ 0x79f3c65a00000000, 0xf4814a2400000000, 0x9bcdefbf00000000,
+ 0x6b1f71c800000000, 0x0453d45300000000, 0x8bba4c2700000000,
+ 0xe4f6e9bc00000000, 0x142477cb00000000, 0x7b68d25000000000,
+ 0x0af7462200000000, 0x65bbe3b900000000, 0x95697dce00000000,
+ 0xfa25d85500000000, 0x75cc402100000000, 0x1a80e5ba00000000,
+ 0xea527bcd00000000, 0x851ede5600000000, 0xe06fc76000000000,
+ 0x8f2362fb00000000, 0x7ff1fc8c00000000, 0x10bd591700000000,
+ 0x9f54c16300000000, 0xf01864f800000000, 0x00cafa8f00000000,
+ 0x6f865f1400000000, 0x1e19cb6600000000, 0x71556efd00000000,
+ 0x8187f08a00000000, 0xeecb551100000000, 0x6122cd6500000000,
+ 0x0e6e68fe00000000, 0xfebcf68900000000, 0x91f0531200000000,
+ 0x1c82df6c00000000, 0x73ce7af700000000, 0x831ce48000000000,
+ 0xec50411b00000000, 0x63b9d96f00000000, 0x0cf57cf400000000,
+ 0xfc27e28300000000, 0x936b471800000000, 0xe2f4d36a00000000,
+ 0x8db876f100000000, 0x7d6ae88600000000, 0x12264d1d00000000,
+ 0x9dcfd56900000000, 0xf28370f200000000, 0x0251ee8500000000,
+ 0x6d1d4b1e00000000, 0x18b4f67800000000, 0x77f853e300000000,
+ 0x872acd9400000000, 0xe866680f00000000, 0x678ff07b00000000,
+ 0x08c355e000000000, 0xf811cb9700000000, 0x975d6e0c00000000,
+ 0xe6c2fa7e00000000, 0x898e5fe500000000, 0x795cc19200000000,
+ 0x1610640900000000, 0x99f9fc7d00000000, 0xf6b559e600000000,
+ 0x0667c79100000000, 0x692b620a00000000, 0xe459ee7400000000,
+ 0x8b154bef00000000, 0x7bc7d59800000000, 0x148b700300000000,
+ 0x9b62e87700000000, 0xf42e4dec00000000, 0x04fcd39b00000000,
+ 0x6bb0760000000000, 0x1a2fe27200000000, 0x756347e900000000,
+ 0x85b1d99e00000000, 0xeafd7c0500000000, 0x6514e47100000000,
+ 0x0a5841ea00000000, 0xfa8adf9d00000000, 0x95c67a0600000000,
+ 0x10d8a45000000000, 0x7f9401cb00000000, 0x8f469fbc00000000,
+ 0xe00a3a2700000000, 0x6fe3a25300000000, 0x00af07c800000000,
+ 0xf07d99bf00000000, 0x9f313c2400000000, 0xeeaea85600000000,
+ 0x81e20dcd00000000, 0x713093ba00000000, 0x1e7c362100000000,
+ 0x9195ae5500000000, 0xfed90bce00000000, 0x0e0b95b900000000,
+ 0x6147302200000000, 0xec35bc5c00000000, 0x837919c700000000,
+ 0x73ab87b000000000, 0x1ce7222b00000000, 0x930eba5f00000000,
+ 0xfc421fc400000000, 0x0c9081b300000000, 0x63dc242800000000,
+ 0x1243b05a00000000, 0x7d0f15c100000000, 0x8ddd8bb600000000,
+ 0xe2912e2d00000000, 0x6d78b65900000000, 0x023413c200000000,
+ 0xf2e68db500000000, 0x9daa282e00000000, 0xe803954800000000,
+ 0x874f30d300000000, 0x779daea400000000, 0x18d10b3f00000000,
+ 0x9738934b00000000, 0xf87436d000000000, 0x08a6a8a700000000,
+ 0x67ea0d3c00000000, 0x1675994e00000000, 0x79393cd500000000,
+ 0x89eba2a200000000, 0xe6a7073900000000, 0x694e9f4d00000000,
+ 0x06023ad600000000, 0xf6d0a4a100000000, 0x999c013a00000000,
+ 0x14ee8d4400000000, 0x7ba228df00000000, 0x8b70b6a800000000,
+ 0xe43c133300000000, 0x6bd58b4700000000, 0x04992edc00000000,
+ 0xf44bb0ab00000000, 0x9b07153000000000, 0xea98814200000000,
+ 0x85d424d900000000, 0x7506baae00000000, 0x1a4a1f3500000000,
+ 0x95a3874100000000, 0xfaef22da00000000, 0x0a3dbcad00000000,
+ 0x6571193600000000},
+ {0x0000000000000000, 0x85d996dd00000000, 0x4bb55c6000000000,
+ 0xce6ccabd00000000, 0x966ab9c000000000, 0x13b32f1d00000000,
+ 0xdddfe5a000000000, 0x5806737d00000000, 0x6dd3035a00000000,
+ 0xe80a958700000000, 0x26665f3a00000000, 0xa3bfc9e700000000,
+ 0xfbb9ba9a00000000, 0x7e602c4700000000, 0xb00ce6fa00000000,
+ 0x35d5702700000000, 0xdaa607b400000000, 0x5f7f916900000000,
+ 0x91135bd400000000, 0x14cacd0900000000, 0x4cccbe7400000000,
+ 0xc91528a900000000, 0x0779e21400000000, 0x82a074c900000000,
+ 0xb77504ee00000000, 0x32ac923300000000, 0xfcc0588e00000000,
+ 0x7919ce5300000000, 0x211fbd2e00000000, 0xa4c62bf300000000,
+ 0x6aaae14e00000000, 0xef73779300000000, 0xf54b7eb300000000,
+ 0x7092e86e00000000, 0xbefe22d300000000, 0x3b27b40e00000000,
+ 0x6321c77300000000, 0xe6f851ae00000000, 0x28949b1300000000,
+ 0xad4d0dce00000000, 0x98987de900000000, 0x1d41eb3400000000,
+ 0xd32d218900000000, 0x56f4b75400000000, 0x0ef2c42900000000,
+ 0x8b2b52f400000000, 0x4547984900000000, 0xc09e0e9400000000,
+ 0x2fed790700000000, 0xaa34efda00000000, 0x6458256700000000,
+ 0xe181b3ba00000000, 0xb987c0c700000000, 0x3c5e561a00000000,
+ 0xf2329ca700000000, 0x77eb0a7a00000000, 0x423e7a5d00000000,
+ 0xc7e7ec8000000000, 0x098b263d00000000, 0x8c52b0e000000000,
+ 0xd454c39d00000000, 0x518d554000000000, 0x9fe19ffd00000000,
+ 0x1a38092000000000, 0xab918dbd00000000, 0x2e481b6000000000,
+ 0xe024d1dd00000000, 0x65fd470000000000, 0x3dfb347d00000000,
+ 0xb822a2a000000000, 0x764e681d00000000, 0xf397fec000000000,
+ 0xc6428ee700000000, 0x439b183a00000000, 0x8df7d28700000000,
+ 0x082e445a00000000, 0x5028372700000000, 0xd5f1a1fa00000000,
+ 0x1b9d6b4700000000, 0x9e44fd9a00000000, 0x71378a0900000000,
+ 0xf4ee1cd400000000, 0x3a82d66900000000, 0xbf5b40b400000000,
+ 0xe75d33c900000000, 0x6284a51400000000, 0xace86fa900000000,
+ 0x2931f97400000000, 0x1ce4895300000000, 0x993d1f8e00000000,
+ 0x5751d53300000000, 0xd28843ee00000000, 0x8a8e309300000000,
+ 0x0f57a64e00000000, 0xc13b6cf300000000, 0x44e2fa2e00000000,
+ 0x5edaf30e00000000, 0xdb0365d300000000, 0x156faf6e00000000,
+ 0x90b639b300000000, 0xc8b04ace00000000, 0x4d69dc1300000000,
+ 0x830516ae00000000, 0x06dc807300000000, 0x3309f05400000000,
+ 0xb6d0668900000000, 0x78bcac3400000000, 0xfd653ae900000000,
+ 0xa563499400000000, 0x20badf4900000000, 0xeed615f400000000,
+ 0x6b0f832900000000, 0x847cf4ba00000000, 0x01a5626700000000,
+ 0xcfc9a8da00000000, 0x4a103e0700000000, 0x12164d7a00000000,
+ 0x97cfdba700000000, 0x59a3111a00000000, 0xdc7a87c700000000,
+ 0xe9aff7e000000000, 0x6c76613d00000000, 0xa21aab8000000000,
+ 0x27c33d5d00000000, 0x7fc54e2000000000, 0xfa1cd8fd00000000,
+ 0x3470124000000000, 0xb1a9849d00000000, 0x17256aa000000000,
+ 0x92fcfc7d00000000, 0x5c9036c000000000, 0xd949a01d00000000,
+ 0x814fd36000000000, 0x049645bd00000000, 0xcafa8f0000000000,
+ 0x4f2319dd00000000, 0x7af669fa00000000, 0xff2fff2700000000,
+ 0x3143359a00000000, 0xb49aa34700000000, 0xec9cd03a00000000,
+ 0x694546e700000000, 0xa7298c5a00000000, 0x22f01a8700000000,
+ 0xcd836d1400000000, 0x485afbc900000000, 0x8636317400000000,
+ 0x03efa7a900000000, 0x5be9d4d400000000, 0xde30420900000000,
+ 0x105c88b400000000, 0x95851e6900000000, 0xa0506e4e00000000,
+ 0x2589f89300000000, 0xebe5322e00000000, 0x6e3ca4f300000000,
+ 0x363ad78e00000000, 0xb3e3415300000000, 0x7d8f8bee00000000,
+ 0xf8561d3300000000, 0xe26e141300000000, 0x67b782ce00000000,
+ 0xa9db487300000000, 0x2c02deae00000000, 0x7404add300000000,
+ 0xf1dd3b0e00000000, 0x3fb1f1b300000000, 0xba68676e00000000,
+ 0x8fbd174900000000, 0x0a64819400000000, 0xc4084b2900000000,
+ 0x41d1ddf400000000, 0x19d7ae8900000000, 0x9c0e385400000000,
+ 0x5262f2e900000000, 0xd7bb643400000000, 0x38c813a700000000,
+ 0xbd11857a00000000, 0x737d4fc700000000, 0xf6a4d91a00000000,
+ 0xaea2aa6700000000, 0x2b7b3cba00000000, 0xe517f60700000000,
+ 0x60ce60da00000000, 0x551b10fd00000000, 0xd0c2862000000000,
+ 0x1eae4c9d00000000, 0x9b77da4000000000, 0xc371a93d00000000,
+ 0x46a83fe000000000, 0x88c4f55d00000000, 0x0d1d638000000000,
+ 0xbcb4e71d00000000, 0x396d71c000000000, 0xf701bb7d00000000,
+ 0x72d82da000000000, 0x2ade5edd00000000, 0xaf07c80000000000,
+ 0x616b02bd00000000, 0xe4b2946000000000, 0xd167e44700000000,
+ 0x54be729a00000000, 0x9ad2b82700000000, 0x1f0b2efa00000000,
+ 0x470d5d8700000000, 0xc2d4cb5a00000000, 0x0cb801e700000000,
+ 0x8961973a00000000, 0x6612e0a900000000, 0xe3cb767400000000,
+ 0x2da7bcc900000000, 0xa87e2a1400000000, 0xf078596900000000,
+ 0x75a1cfb400000000, 0xbbcd050900000000, 0x3e1493d400000000,
+ 0x0bc1e3f300000000, 0x8e18752e00000000, 0x4074bf9300000000,
+ 0xc5ad294e00000000, 0x9dab5a3300000000, 0x1872ccee00000000,
+ 0xd61e065300000000, 0x53c7908e00000000, 0x49ff99ae00000000,
+ 0xcc260f7300000000, 0x024ac5ce00000000, 0x8793531300000000,
+ 0xdf95206e00000000, 0x5a4cb6b300000000, 0x94207c0e00000000,
+ 0x11f9ead300000000, 0x242c9af400000000, 0xa1f50c2900000000,
+ 0x6f99c69400000000, 0xea40504900000000, 0xb246233400000000,
+ 0x379fb5e900000000, 0xf9f37f5400000000, 0x7c2ae98900000000,
+ 0x93599e1a00000000, 0x168008c700000000, 0xd8ecc27a00000000,
+ 0x5d3554a700000000, 0x053327da00000000, 0x80eab10700000000,
+ 0x4e867bba00000000, 0xcb5fed6700000000, 0xfe8a9d4000000000,
+ 0x7b530b9d00000000, 0xb53fc12000000000, 0x30e657fd00000000,
+ 0x68e0248000000000, 0xed39b25d00000000, 0x235578e000000000,
+ 0xa68cee3d00000000},
+ {0x0000000000000000, 0x76e10f9d00000000, 0xadc46ee100000000,
+ 0xdb25617c00000000, 0x1b8fac1900000000, 0x6d6ea38400000000,
+ 0xb64bc2f800000000, 0xc0aacd6500000000, 0x361e593300000000,
+ 0x40ff56ae00000000, 0x9bda37d200000000, 0xed3b384f00000000,
+ 0x2d91f52a00000000, 0x5b70fab700000000, 0x80559bcb00000000,
+ 0xf6b4945600000000, 0x6c3cb26600000000, 0x1addbdfb00000000,
+ 0xc1f8dc8700000000, 0xb719d31a00000000, 0x77b31e7f00000000,
+ 0x015211e200000000, 0xda77709e00000000, 0xac967f0300000000,
+ 0x5a22eb5500000000, 0x2cc3e4c800000000, 0xf7e685b400000000,
+ 0x81078a2900000000, 0x41ad474c00000000, 0x374c48d100000000,
+ 0xec6929ad00000000, 0x9a88263000000000, 0xd87864cd00000000,
+ 0xae996b5000000000, 0x75bc0a2c00000000, 0x035d05b100000000,
+ 0xc3f7c8d400000000, 0xb516c74900000000, 0x6e33a63500000000,
+ 0x18d2a9a800000000, 0xee663dfe00000000, 0x9887326300000000,
+ 0x43a2531f00000000, 0x35435c8200000000, 0xf5e991e700000000,
+ 0x83089e7a00000000, 0x582dff0600000000, 0x2eccf09b00000000,
+ 0xb444d6ab00000000, 0xc2a5d93600000000, 0x1980b84a00000000,
+ 0x6f61b7d700000000, 0xafcb7ab200000000, 0xd92a752f00000000,
+ 0x020f145300000000, 0x74ee1bce00000000, 0x825a8f9800000000,
+ 0xf4bb800500000000, 0x2f9ee17900000000, 0x597feee400000000,
+ 0x99d5238100000000, 0xef342c1c00000000, 0x34114d6000000000,
+ 0x42f042fd00000000, 0xf1f7b94100000000, 0x8716b6dc00000000,
+ 0x5c33d7a000000000, 0x2ad2d83d00000000, 0xea78155800000000,
+ 0x9c991ac500000000, 0x47bc7bb900000000, 0x315d742400000000,
+ 0xc7e9e07200000000, 0xb108efef00000000, 0x6a2d8e9300000000,
+ 0x1ccc810e00000000, 0xdc664c6b00000000, 0xaa8743f600000000,
+ 0x71a2228a00000000, 0x07432d1700000000, 0x9dcb0b2700000000,
+ 0xeb2a04ba00000000, 0x300f65c600000000, 0x46ee6a5b00000000,
+ 0x8644a73e00000000, 0xf0a5a8a300000000, 0x2b80c9df00000000,
+ 0x5d61c64200000000, 0xabd5521400000000, 0xdd345d8900000000,
+ 0x06113cf500000000, 0x70f0336800000000, 0xb05afe0d00000000,
+ 0xc6bbf19000000000, 0x1d9e90ec00000000, 0x6b7f9f7100000000,
+ 0x298fdd8c00000000, 0x5f6ed21100000000, 0x844bb36d00000000,
+ 0xf2aabcf000000000, 0x3200719500000000, 0x44e17e0800000000,
+ 0x9fc41f7400000000, 0xe92510e900000000, 0x1f9184bf00000000,
+ 0x69708b2200000000, 0xb255ea5e00000000, 0xc4b4e5c300000000,
+ 0x041e28a600000000, 0x72ff273b00000000, 0xa9da464700000000,
+ 0xdf3b49da00000000, 0x45b36fea00000000, 0x3352607700000000,
+ 0xe877010b00000000, 0x9e960e9600000000, 0x5e3cc3f300000000,
+ 0x28ddcc6e00000000, 0xf3f8ad1200000000, 0x8519a28f00000000,
+ 0x73ad36d900000000, 0x054c394400000000, 0xde69583800000000,
+ 0xa88857a500000000, 0x68229ac000000000, 0x1ec3955d00000000,
+ 0xc5e6f42100000000, 0xb307fbbc00000000, 0xe2ef738300000000,
+ 0x940e7c1e00000000, 0x4f2b1d6200000000, 0x39ca12ff00000000,
+ 0xf960df9a00000000, 0x8f81d00700000000, 0x54a4b17b00000000,
+ 0x2245bee600000000, 0xd4f12ab000000000, 0xa210252d00000000,
+ 0x7935445100000000, 0x0fd44bcc00000000, 0xcf7e86a900000000,
+ 0xb99f893400000000, 0x62bae84800000000, 0x145be7d500000000,
+ 0x8ed3c1e500000000, 0xf832ce7800000000, 0x2317af0400000000,
+ 0x55f6a09900000000, 0x955c6dfc00000000, 0xe3bd626100000000,
+ 0x3898031d00000000, 0x4e790c8000000000, 0xb8cd98d600000000,
+ 0xce2c974b00000000, 0x1509f63700000000, 0x63e8f9aa00000000,
+ 0xa34234cf00000000, 0xd5a33b5200000000, 0x0e865a2e00000000,
+ 0x786755b300000000, 0x3a97174e00000000, 0x4c7618d300000000,
+ 0x975379af00000000, 0xe1b2763200000000, 0x2118bb5700000000,
+ 0x57f9b4ca00000000, 0x8cdcd5b600000000, 0xfa3dda2b00000000,
+ 0x0c894e7d00000000, 0x7a6841e000000000, 0xa14d209c00000000,
+ 0xd7ac2f0100000000, 0x1706e26400000000, 0x61e7edf900000000,
+ 0xbac28c8500000000, 0xcc23831800000000, 0x56aba52800000000,
+ 0x204aaab500000000, 0xfb6fcbc900000000, 0x8d8ec45400000000,
+ 0x4d24093100000000, 0x3bc506ac00000000, 0xe0e067d000000000,
+ 0x9601684d00000000, 0x60b5fc1b00000000, 0x1654f38600000000,
+ 0xcd7192fa00000000, 0xbb909d6700000000, 0x7b3a500200000000,
+ 0x0ddb5f9f00000000, 0xd6fe3ee300000000, 0xa01f317e00000000,
+ 0x1318cac200000000, 0x65f9c55f00000000, 0xbedca42300000000,
+ 0xc83dabbe00000000, 0x089766db00000000, 0x7e76694600000000,
+ 0xa553083a00000000, 0xd3b207a700000000, 0x250693f100000000,
+ 0x53e79c6c00000000, 0x88c2fd1000000000, 0xfe23f28d00000000,
+ 0x3e893fe800000000, 0x4868307500000000, 0x934d510900000000,
+ 0xe5ac5e9400000000, 0x7f2478a400000000, 0x09c5773900000000,
+ 0xd2e0164500000000, 0xa40119d800000000, 0x64abd4bd00000000,
+ 0x124adb2000000000, 0xc96fba5c00000000, 0xbf8eb5c100000000,
+ 0x493a219700000000, 0x3fdb2e0a00000000, 0xe4fe4f7600000000,
+ 0x921f40eb00000000, 0x52b58d8e00000000, 0x2454821300000000,
+ 0xff71e36f00000000, 0x8990ecf200000000, 0xcb60ae0f00000000,
+ 0xbd81a19200000000, 0x66a4c0ee00000000, 0x1045cf7300000000,
+ 0xd0ef021600000000, 0xa60e0d8b00000000, 0x7d2b6cf700000000,
+ 0x0bca636a00000000, 0xfd7ef73c00000000, 0x8b9ff8a100000000,
+ 0x50ba99dd00000000, 0x265b964000000000, 0xe6f15b2500000000,
+ 0x901054b800000000, 0x4b3535c400000000, 0x3dd43a5900000000,
+ 0xa75c1c6900000000, 0xd1bd13f400000000, 0x0a98728800000000,
+ 0x7c797d1500000000, 0xbcd3b07000000000, 0xca32bfed00000000,
+ 0x1117de9100000000, 0x67f6d10c00000000, 0x9142455a00000000,
+ 0xe7a34ac700000000, 0x3c862bbb00000000, 0x4a67242600000000,
+ 0x8acde94300000000, 0xfc2ce6de00000000, 0x270987a200000000,
+ 0x51e8883f00000000},
+ {0x0000000000000000, 0xe8dbfbb900000000, 0x91b186a800000000,
+ 0x796a7d1100000000, 0x63657c8a00000000, 0x8bbe873300000000,
+ 0xf2d4fa2200000000, 0x1a0f019b00000000, 0x87cc89cf00000000,
+ 0x6f17727600000000, 0x167d0f6700000000, 0xfea6f4de00000000,
+ 0xe4a9f54500000000, 0x0c720efc00000000, 0x751873ed00000000,
+ 0x9dc3885400000000, 0x4f9f624400000000, 0xa74499fd00000000,
+ 0xde2ee4ec00000000, 0x36f51f5500000000, 0x2cfa1ece00000000,
+ 0xc421e57700000000, 0xbd4b986600000000, 0x559063df00000000,
+ 0xc853eb8b00000000, 0x2088103200000000, 0x59e26d2300000000,
+ 0xb139969a00000000, 0xab36970100000000, 0x43ed6cb800000000,
+ 0x3a8711a900000000, 0xd25cea1000000000, 0x9e3ec58800000000,
+ 0x76e53e3100000000, 0x0f8f432000000000, 0xe754b89900000000,
+ 0xfd5bb90200000000, 0x158042bb00000000, 0x6cea3faa00000000,
+ 0x8431c41300000000, 0x19f24c4700000000, 0xf129b7fe00000000,
+ 0x8843caef00000000, 0x6098315600000000, 0x7a9730cd00000000,
+ 0x924ccb7400000000, 0xeb26b66500000000, 0x03fd4ddc00000000,
+ 0xd1a1a7cc00000000, 0x397a5c7500000000, 0x4010216400000000,
+ 0xa8cbdadd00000000, 0xb2c4db4600000000, 0x5a1f20ff00000000,
+ 0x23755dee00000000, 0xcbaea65700000000, 0x566d2e0300000000,
+ 0xbeb6d5ba00000000, 0xc7dca8ab00000000, 0x2f07531200000000,
+ 0x3508528900000000, 0xddd3a93000000000, 0xa4b9d42100000000,
+ 0x4c622f9800000000, 0x7d7bfbca00000000, 0x95a0007300000000,
+ 0xecca7d6200000000, 0x041186db00000000, 0x1e1e874000000000,
+ 0xf6c57cf900000000, 0x8faf01e800000000, 0x6774fa5100000000,
+ 0xfab7720500000000, 0x126c89bc00000000, 0x6b06f4ad00000000,
+ 0x83dd0f1400000000, 0x99d20e8f00000000, 0x7109f53600000000,
+ 0x0863882700000000, 0xe0b8739e00000000, 0x32e4998e00000000,
+ 0xda3f623700000000, 0xa3551f2600000000, 0x4b8ee49f00000000,
+ 0x5181e50400000000, 0xb95a1ebd00000000, 0xc03063ac00000000,
+ 0x28eb981500000000, 0xb528104100000000, 0x5df3ebf800000000,
+ 0x249996e900000000, 0xcc426d5000000000, 0xd64d6ccb00000000,
+ 0x3e96977200000000, 0x47fcea6300000000, 0xaf2711da00000000,
+ 0xe3453e4200000000, 0x0b9ec5fb00000000, 0x72f4b8ea00000000,
+ 0x9a2f435300000000, 0x802042c800000000, 0x68fbb97100000000,
+ 0x1191c46000000000, 0xf94a3fd900000000, 0x6489b78d00000000,
+ 0x8c524c3400000000, 0xf538312500000000, 0x1de3ca9c00000000,
+ 0x07eccb0700000000, 0xef3730be00000000, 0x965d4daf00000000,
+ 0x7e86b61600000000, 0xacda5c0600000000, 0x4401a7bf00000000,
+ 0x3d6bdaae00000000, 0xd5b0211700000000, 0xcfbf208c00000000,
+ 0x2764db3500000000, 0x5e0ea62400000000, 0xb6d55d9d00000000,
+ 0x2b16d5c900000000, 0xc3cd2e7000000000, 0xbaa7536100000000,
+ 0x527ca8d800000000, 0x4873a94300000000, 0xa0a852fa00000000,
+ 0xd9c22feb00000000, 0x3119d45200000000, 0xbbf0874e00000000,
+ 0x532b7cf700000000, 0x2a4101e600000000, 0xc29afa5f00000000,
+ 0xd895fbc400000000, 0x304e007d00000000, 0x49247d6c00000000,
+ 0xa1ff86d500000000, 0x3c3c0e8100000000, 0xd4e7f53800000000,
+ 0xad8d882900000000, 0x4556739000000000, 0x5f59720b00000000,
+ 0xb78289b200000000, 0xcee8f4a300000000, 0x26330f1a00000000,
+ 0xf46fe50a00000000, 0x1cb41eb300000000, 0x65de63a200000000,
+ 0x8d05981b00000000, 0x970a998000000000, 0x7fd1623900000000,
+ 0x06bb1f2800000000, 0xee60e49100000000, 0x73a36cc500000000,
+ 0x9b78977c00000000, 0xe212ea6d00000000, 0x0ac911d400000000,
+ 0x10c6104f00000000, 0xf81debf600000000, 0x817796e700000000,
+ 0x69ac6d5e00000000, 0x25ce42c600000000, 0xcd15b97f00000000,
+ 0xb47fc46e00000000, 0x5ca43fd700000000, 0x46ab3e4c00000000,
+ 0xae70c5f500000000, 0xd71ab8e400000000, 0x3fc1435d00000000,
+ 0xa202cb0900000000, 0x4ad930b000000000, 0x33b34da100000000,
+ 0xdb68b61800000000, 0xc167b78300000000, 0x29bc4c3a00000000,
+ 0x50d6312b00000000, 0xb80dca9200000000, 0x6a51208200000000,
+ 0x828adb3b00000000, 0xfbe0a62a00000000, 0x133b5d9300000000,
+ 0x09345c0800000000, 0xe1efa7b100000000, 0x9885daa000000000,
+ 0x705e211900000000, 0xed9da94d00000000, 0x054652f400000000,
+ 0x7c2c2fe500000000, 0x94f7d45c00000000, 0x8ef8d5c700000000,
+ 0x66232e7e00000000, 0x1f49536f00000000, 0xf792a8d600000000,
+ 0xc68b7c8400000000, 0x2e50873d00000000, 0x573afa2c00000000,
+ 0xbfe1019500000000, 0xa5ee000e00000000, 0x4d35fbb700000000,
+ 0x345f86a600000000, 0xdc847d1f00000000, 0x4147f54b00000000,
+ 0xa99c0ef200000000, 0xd0f673e300000000, 0x382d885a00000000,
+ 0x222289c100000000, 0xcaf9727800000000, 0xb3930f6900000000,
+ 0x5b48f4d000000000, 0x89141ec000000000, 0x61cfe57900000000,
+ 0x18a5986800000000, 0xf07e63d100000000, 0xea71624a00000000,
+ 0x02aa99f300000000, 0x7bc0e4e200000000, 0x931b1f5b00000000,
+ 0x0ed8970f00000000, 0xe6036cb600000000, 0x9f6911a700000000,
+ 0x77b2ea1e00000000, 0x6dbdeb8500000000, 0x8566103c00000000,
+ 0xfc0c6d2d00000000, 0x14d7969400000000, 0x58b5b90c00000000,
+ 0xb06e42b500000000, 0xc9043fa400000000, 0x21dfc41d00000000,
+ 0x3bd0c58600000000, 0xd30b3e3f00000000, 0xaa61432e00000000,
+ 0x42bab89700000000, 0xdf7930c300000000, 0x37a2cb7a00000000,
+ 0x4ec8b66b00000000, 0xa6134dd200000000, 0xbc1c4c4900000000,
+ 0x54c7b7f000000000, 0x2dadcae100000000, 0xc576315800000000,
+ 0x172adb4800000000, 0xfff120f100000000, 0x869b5de000000000,
+ 0x6e40a65900000000, 0x744fa7c200000000, 0x9c945c7b00000000,
+ 0xe5fe216a00000000, 0x0d25dad300000000, 0x90e6528700000000,
+ 0x783da93e00000000, 0x0157d42f00000000, 0xe98c2f9600000000,
+ 0xf3832e0d00000000, 0x1b58d5b400000000, 0x6232a8a500000000,
+ 0x8ae9531c00000000},
+ {0x0000000000000000, 0x919168ae00000000, 0x6325a08700000000,
+ 0xf2b4c82900000000, 0x874c31d400000000, 0x16dd597a00000000,
+ 0xe469915300000000, 0x75f8f9fd00000000, 0x4f9f137300000000,
+ 0xde0e7bdd00000000, 0x2cbab3f400000000, 0xbd2bdb5a00000000,
+ 0xc8d322a700000000, 0x59424a0900000000, 0xabf6822000000000,
+ 0x3a67ea8e00000000, 0x9e3e27e600000000, 0x0faf4f4800000000,
+ 0xfd1b876100000000, 0x6c8aefcf00000000, 0x1972163200000000,
+ 0x88e37e9c00000000, 0x7a57b6b500000000, 0xebc6de1b00000000,
+ 0xd1a1349500000000, 0x40305c3b00000000, 0xb284941200000000,
+ 0x2315fcbc00000000, 0x56ed054100000000, 0xc77c6def00000000,
+ 0x35c8a5c600000000, 0xa459cd6800000000, 0x7d7b3f1700000000,
+ 0xecea57b900000000, 0x1e5e9f9000000000, 0x8fcff73e00000000,
+ 0xfa370ec300000000, 0x6ba6666d00000000, 0x9912ae4400000000,
+ 0x0883c6ea00000000, 0x32e42c6400000000, 0xa37544ca00000000,
+ 0x51c18ce300000000, 0xc050e44d00000000, 0xb5a81db000000000,
+ 0x2439751e00000000, 0xd68dbd3700000000, 0x471cd59900000000,
+ 0xe34518f100000000, 0x72d4705f00000000, 0x8060b87600000000,
+ 0x11f1d0d800000000, 0x6409292500000000, 0xf598418b00000000,
+ 0x072c89a200000000, 0x96bde10c00000000, 0xacda0b8200000000,
+ 0x3d4b632c00000000, 0xcfffab0500000000, 0x5e6ec3ab00000000,
+ 0x2b963a5600000000, 0xba0752f800000000, 0x48b39ad100000000,
+ 0xd922f27f00000000, 0xfaf67e2e00000000, 0x6b67168000000000,
+ 0x99d3dea900000000, 0x0842b60700000000, 0x7dba4ffa00000000,
+ 0xec2b275400000000, 0x1e9fef7d00000000, 0x8f0e87d300000000,
+ 0xb5696d5d00000000, 0x24f805f300000000, 0xd64ccdda00000000,
+ 0x47dda57400000000, 0x32255c8900000000, 0xa3b4342700000000,
+ 0x5100fc0e00000000, 0xc09194a000000000, 0x64c859c800000000,
+ 0xf559316600000000, 0x07edf94f00000000, 0x967c91e100000000,
+ 0xe384681c00000000, 0x721500b200000000, 0x80a1c89b00000000,
+ 0x1130a03500000000, 0x2b574abb00000000, 0xbac6221500000000,
+ 0x4872ea3c00000000, 0xd9e3829200000000, 0xac1b7b6f00000000,
+ 0x3d8a13c100000000, 0xcf3edbe800000000, 0x5eafb34600000000,
+ 0x878d413900000000, 0x161c299700000000, 0xe4a8e1be00000000,
+ 0x7539891000000000, 0x00c170ed00000000, 0x9150184300000000,
+ 0x63e4d06a00000000, 0xf275b8c400000000, 0xc812524a00000000,
+ 0x59833ae400000000, 0xab37f2cd00000000, 0x3aa69a6300000000,
+ 0x4f5e639e00000000, 0xdecf0b3000000000, 0x2c7bc31900000000,
+ 0xbdeaabb700000000, 0x19b366df00000000, 0x88220e7100000000,
+ 0x7a96c65800000000, 0xeb07aef600000000, 0x9eff570b00000000,
+ 0x0f6e3fa500000000, 0xfddaf78c00000000, 0x6c4b9f2200000000,
+ 0x562c75ac00000000, 0xc7bd1d0200000000, 0x3509d52b00000000,
+ 0xa498bd8500000000, 0xd160447800000000, 0x40f12cd600000000,
+ 0xb245e4ff00000000, 0x23d48c5100000000, 0xf4edfd5c00000000,
+ 0x657c95f200000000, 0x97c85ddb00000000, 0x0659357500000000,
+ 0x73a1cc8800000000, 0xe230a42600000000, 0x10846c0f00000000,
+ 0x811504a100000000, 0xbb72ee2f00000000, 0x2ae3868100000000,
+ 0xd8574ea800000000, 0x49c6260600000000, 0x3c3edffb00000000,
+ 0xadafb75500000000, 0x5f1b7f7c00000000, 0xce8a17d200000000,
+ 0x6ad3daba00000000, 0xfb42b21400000000, 0x09f67a3d00000000,
+ 0x9867129300000000, 0xed9feb6e00000000, 0x7c0e83c000000000,
+ 0x8eba4be900000000, 0x1f2b234700000000, 0x254cc9c900000000,
+ 0xb4dda16700000000, 0x4669694e00000000, 0xd7f801e000000000,
+ 0xa200f81d00000000, 0x339190b300000000, 0xc125589a00000000,
+ 0x50b4303400000000, 0x8996c24b00000000, 0x1807aae500000000,
+ 0xeab362cc00000000, 0x7b220a6200000000, 0x0edaf39f00000000,
+ 0x9f4b9b3100000000, 0x6dff531800000000, 0xfc6e3bb600000000,
+ 0xc609d13800000000, 0x5798b99600000000, 0xa52c71bf00000000,
+ 0x34bd191100000000, 0x4145e0ec00000000, 0xd0d4884200000000,
+ 0x2260406b00000000, 0xb3f128c500000000, 0x17a8e5ad00000000,
+ 0x86398d0300000000, 0x748d452a00000000, 0xe51c2d8400000000,
+ 0x90e4d47900000000, 0x0175bcd700000000, 0xf3c174fe00000000,
+ 0x62501c5000000000, 0x5837f6de00000000, 0xc9a69e7000000000,
+ 0x3b12565900000000, 0xaa833ef700000000, 0xdf7bc70a00000000,
+ 0x4eeaafa400000000, 0xbc5e678d00000000, 0x2dcf0f2300000000,
+ 0x0e1b837200000000, 0x9f8aebdc00000000, 0x6d3e23f500000000,
+ 0xfcaf4b5b00000000, 0x8957b2a600000000, 0x18c6da0800000000,
+ 0xea72122100000000, 0x7be37a8f00000000, 0x4184900100000000,
+ 0xd015f8af00000000, 0x22a1308600000000, 0xb330582800000000,
+ 0xc6c8a1d500000000, 0x5759c97b00000000, 0xa5ed015200000000,
+ 0x347c69fc00000000, 0x9025a49400000000, 0x01b4cc3a00000000,
+ 0xf300041300000000, 0x62916cbd00000000, 0x1769954000000000,
+ 0x86f8fdee00000000, 0x744c35c700000000, 0xe5dd5d6900000000,
+ 0xdfbab7e700000000, 0x4e2bdf4900000000, 0xbc9f176000000000,
+ 0x2d0e7fce00000000, 0x58f6863300000000, 0xc967ee9d00000000,
+ 0x3bd326b400000000, 0xaa424e1a00000000, 0x7360bc6500000000,
+ 0xe2f1d4cb00000000, 0x10451ce200000000, 0x81d4744c00000000,
+ 0xf42c8db100000000, 0x65bde51f00000000, 0x97092d3600000000,
+ 0x0698459800000000, 0x3cffaf1600000000, 0xad6ec7b800000000,
+ 0x5fda0f9100000000, 0xce4b673f00000000, 0xbbb39ec200000000,
+ 0x2a22f66c00000000, 0xd8963e4500000000, 0x490756eb00000000,
+ 0xed5e9b8300000000, 0x7ccff32d00000000, 0x8e7b3b0400000000,
+ 0x1fea53aa00000000, 0x6a12aa5700000000, 0xfb83c2f900000000,
+ 0x09370ad000000000, 0x98a6627e00000000, 0xa2c188f000000000,
+ 0x3350e05e00000000, 0xc1e4287700000000, 0x507540d900000000,
+ 0x258db92400000000, 0xb41cd18a00000000, 0x46a819a300000000,
+ 0xd739710d00000000}};
+
+#else /* W == 4 */
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0xccaa009e, 0x4225077d, 0x8e8f07e3, 0x844a0efa,
+ 0x48e00e64, 0xc66f0987, 0x0ac50919, 0xd3e51bb5, 0x1f4f1b2b,
+ 0x91c01cc8, 0x5d6a1c56, 0x57af154f, 0x9b0515d1, 0x158a1232,
+ 0xd92012ac, 0x7cbb312b, 0xb01131b5, 0x3e9e3656, 0xf23436c8,
+ 0xf8f13fd1, 0x345b3f4f, 0xbad438ac, 0x767e3832, 0xaf5e2a9e,
+ 0x63f42a00, 0xed7b2de3, 0x21d12d7d, 0x2b142464, 0xe7be24fa,
+ 0x69312319, 0xa59b2387, 0xf9766256, 0x35dc62c8, 0xbb53652b,
+ 0x77f965b5, 0x7d3c6cac, 0xb1966c32, 0x3f196bd1, 0xf3b36b4f,
+ 0x2a9379e3, 0xe639797d, 0x68b67e9e, 0xa41c7e00, 0xaed97719,
+ 0x62737787, 0xecfc7064, 0x205670fa, 0x85cd537d, 0x496753e3,
+ 0xc7e85400, 0x0b42549e, 0x01875d87, 0xcd2d5d19, 0x43a25afa,
+ 0x8f085a64, 0x562848c8, 0x9a824856, 0x140d4fb5, 0xd8a74f2b,
+ 0xd2624632, 0x1ec846ac, 0x9047414f, 0x5ced41d1, 0x299dc2ed,
+ 0xe537c273, 0x6bb8c590, 0xa712c50e, 0xadd7cc17, 0x617dcc89,
+ 0xeff2cb6a, 0x2358cbf4, 0xfa78d958, 0x36d2d9c6, 0xb85dde25,
+ 0x74f7debb, 0x7e32d7a2, 0xb298d73c, 0x3c17d0df, 0xf0bdd041,
+ 0x5526f3c6, 0x998cf358, 0x1703f4bb, 0xdba9f425, 0xd16cfd3c,
+ 0x1dc6fda2, 0x9349fa41, 0x5fe3fadf, 0x86c3e873, 0x4a69e8ed,
+ 0xc4e6ef0e, 0x084cef90, 0x0289e689, 0xce23e617, 0x40ace1f4,
+ 0x8c06e16a, 0xd0eba0bb, 0x1c41a025, 0x92cea7c6, 0x5e64a758,
+ 0x54a1ae41, 0x980baedf, 0x1684a93c, 0xda2ea9a2, 0x030ebb0e,
+ 0xcfa4bb90, 0x412bbc73, 0x8d81bced, 0x8744b5f4, 0x4beeb56a,
+ 0xc561b289, 0x09cbb217, 0xac509190, 0x60fa910e, 0xee7596ed,
+ 0x22df9673, 0x281a9f6a, 0xe4b09ff4, 0x6a3f9817, 0xa6959889,
+ 0x7fb58a25, 0xb31f8abb, 0x3d908d58, 0xf13a8dc6, 0xfbff84df,
+ 0x37558441, 0xb9da83a2, 0x7570833c, 0x533b85da, 0x9f918544,
+ 0x111e82a7, 0xddb48239, 0xd7718b20, 0x1bdb8bbe, 0x95548c5d,
+ 0x59fe8cc3, 0x80de9e6f, 0x4c749ef1, 0xc2fb9912, 0x0e51998c,
+ 0x04949095, 0xc83e900b, 0x46b197e8, 0x8a1b9776, 0x2f80b4f1,
+ 0xe32ab46f, 0x6da5b38c, 0xa10fb312, 0xabcaba0b, 0x6760ba95,
+ 0xe9efbd76, 0x2545bde8, 0xfc65af44, 0x30cfafda, 0xbe40a839,
+ 0x72eaa8a7, 0x782fa1be, 0xb485a120, 0x3a0aa6c3, 0xf6a0a65d,
+ 0xaa4de78c, 0x66e7e712, 0xe868e0f1, 0x24c2e06f, 0x2e07e976,
+ 0xe2ade9e8, 0x6c22ee0b, 0xa088ee95, 0x79a8fc39, 0xb502fca7,
+ 0x3b8dfb44, 0xf727fbda, 0xfde2f2c3, 0x3148f25d, 0xbfc7f5be,
+ 0x736df520, 0xd6f6d6a7, 0x1a5cd639, 0x94d3d1da, 0x5879d144,
+ 0x52bcd85d, 0x9e16d8c3, 0x1099df20, 0xdc33dfbe, 0x0513cd12,
+ 0xc9b9cd8c, 0x4736ca6f, 0x8b9ccaf1, 0x8159c3e8, 0x4df3c376,
+ 0xc37cc495, 0x0fd6c40b, 0x7aa64737, 0xb60c47a9, 0x3883404a,
+ 0xf42940d4, 0xfeec49cd, 0x32464953, 0xbcc94eb0, 0x70634e2e,
+ 0xa9435c82, 0x65e95c1c, 0xeb665bff, 0x27cc5b61, 0x2d095278,
+ 0xe1a352e6, 0x6f2c5505, 0xa386559b, 0x061d761c, 0xcab77682,
+ 0x44387161, 0x889271ff, 0x825778e6, 0x4efd7878, 0xc0727f9b,
+ 0x0cd87f05, 0xd5f86da9, 0x19526d37, 0x97dd6ad4, 0x5b776a4a,
+ 0x51b26353, 0x9d1863cd, 0x1397642e, 0xdf3d64b0, 0x83d02561,
+ 0x4f7a25ff, 0xc1f5221c, 0x0d5f2282, 0x079a2b9b, 0xcb302b05,
+ 0x45bf2ce6, 0x89152c78, 0x50353ed4, 0x9c9f3e4a, 0x121039a9,
+ 0xdeba3937, 0xd47f302e, 0x18d530b0, 0x965a3753, 0x5af037cd,
+ 0xff6b144a, 0x33c114d4, 0xbd4e1337, 0x71e413a9, 0x7b211ab0,
+ 0xb78b1a2e, 0x39041dcd, 0xf5ae1d53, 0x2c8e0fff, 0xe0240f61,
+ 0x6eab0882, 0xa201081c, 0xa8c40105, 0x646e019b, 0xeae10678,
+ 0x264b06e6},
+ {0x00000000, 0xa6770bb4, 0x979f1129, 0x31e81a9d, 0xf44f2413,
+ 0x52382fa7, 0x63d0353a, 0xc5a73e8e, 0x33ef4e67, 0x959845d3,
+ 0xa4705f4e, 0x020754fa, 0xc7a06a74, 0x61d761c0, 0x503f7b5d,
+ 0xf64870e9, 0x67de9cce, 0xc1a9977a, 0xf0418de7, 0x56368653,
+ 0x9391b8dd, 0x35e6b369, 0x040ea9f4, 0xa279a240, 0x5431d2a9,
+ 0xf246d91d, 0xc3aec380, 0x65d9c834, 0xa07ef6ba, 0x0609fd0e,
+ 0x37e1e793, 0x9196ec27, 0xcfbd399c, 0x69ca3228, 0x582228b5,
+ 0xfe552301, 0x3bf21d8f, 0x9d85163b, 0xac6d0ca6, 0x0a1a0712,
+ 0xfc5277fb, 0x5a257c4f, 0x6bcd66d2, 0xcdba6d66, 0x081d53e8,
+ 0xae6a585c, 0x9f8242c1, 0x39f54975, 0xa863a552, 0x0e14aee6,
+ 0x3ffcb47b, 0x998bbfcf, 0x5c2c8141, 0xfa5b8af5, 0xcbb39068,
+ 0x6dc49bdc, 0x9b8ceb35, 0x3dfbe081, 0x0c13fa1c, 0xaa64f1a8,
+ 0x6fc3cf26, 0xc9b4c492, 0xf85cde0f, 0x5e2bd5bb, 0x440b7579,
+ 0xe27c7ecd, 0xd3946450, 0x75e36fe4, 0xb044516a, 0x16335ade,
+ 0x27db4043, 0x81ac4bf7, 0x77e43b1e, 0xd19330aa, 0xe07b2a37,
+ 0x460c2183, 0x83ab1f0d, 0x25dc14b9, 0x14340e24, 0xb2430590,
+ 0x23d5e9b7, 0x85a2e203, 0xb44af89e, 0x123df32a, 0xd79acda4,
+ 0x71edc610, 0x4005dc8d, 0xe672d739, 0x103aa7d0, 0xb64dac64,
+ 0x87a5b6f9, 0x21d2bd4d, 0xe47583c3, 0x42028877, 0x73ea92ea,
+ 0xd59d995e, 0x8bb64ce5, 0x2dc14751, 0x1c295dcc, 0xba5e5678,
+ 0x7ff968f6, 0xd98e6342, 0xe86679df, 0x4e11726b, 0xb8590282,
+ 0x1e2e0936, 0x2fc613ab, 0x89b1181f, 0x4c162691, 0xea612d25,
+ 0xdb8937b8, 0x7dfe3c0c, 0xec68d02b, 0x4a1fdb9f, 0x7bf7c102,
+ 0xdd80cab6, 0x1827f438, 0xbe50ff8c, 0x8fb8e511, 0x29cfeea5,
+ 0xdf879e4c, 0x79f095f8, 0x48188f65, 0xee6f84d1, 0x2bc8ba5f,
+ 0x8dbfb1eb, 0xbc57ab76, 0x1a20a0c2, 0x8816eaf2, 0x2e61e146,
+ 0x1f89fbdb, 0xb9fef06f, 0x7c59cee1, 0xda2ec555, 0xebc6dfc8,
+ 0x4db1d47c, 0xbbf9a495, 0x1d8eaf21, 0x2c66b5bc, 0x8a11be08,
+ 0x4fb68086, 0xe9c18b32, 0xd82991af, 0x7e5e9a1b, 0xefc8763c,
+ 0x49bf7d88, 0x78576715, 0xde206ca1, 0x1b87522f, 0xbdf0599b,
+ 0x8c184306, 0x2a6f48b2, 0xdc27385b, 0x7a5033ef, 0x4bb82972,
+ 0xedcf22c6, 0x28681c48, 0x8e1f17fc, 0xbff70d61, 0x198006d5,
+ 0x47abd36e, 0xe1dcd8da, 0xd034c247, 0x7643c9f3, 0xb3e4f77d,
+ 0x1593fcc9, 0x247be654, 0x820cede0, 0x74449d09, 0xd23396bd,
+ 0xe3db8c20, 0x45ac8794, 0x800bb91a, 0x267cb2ae, 0x1794a833,
+ 0xb1e3a387, 0x20754fa0, 0x86024414, 0xb7ea5e89, 0x119d553d,
+ 0xd43a6bb3, 0x724d6007, 0x43a57a9a, 0xe5d2712e, 0x139a01c7,
+ 0xb5ed0a73, 0x840510ee, 0x22721b5a, 0xe7d525d4, 0x41a22e60,
+ 0x704a34fd, 0xd63d3f49, 0xcc1d9f8b, 0x6a6a943f, 0x5b828ea2,
+ 0xfdf58516, 0x3852bb98, 0x9e25b02c, 0xafcdaab1, 0x09baa105,
+ 0xfff2d1ec, 0x5985da58, 0x686dc0c5, 0xce1acb71, 0x0bbdf5ff,
+ 0xadcafe4b, 0x9c22e4d6, 0x3a55ef62, 0xabc30345, 0x0db408f1,
+ 0x3c5c126c, 0x9a2b19d8, 0x5f8c2756, 0xf9fb2ce2, 0xc813367f,
+ 0x6e643dcb, 0x982c4d22, 0x3e5b4696, 0x0fb35c0b, 0xa9c457bf,
+ 0x6c636931, 0xca146285, 0xfbfc7818, 0x5d8b73ac, 0x03a0a617,
+ 0xa5d7ada3, 0x943fb73e, 0x3248bc8a, 0xf7ef8204, 0x519889b0,
+ 0x6070932d, 0xc6079899, 0x304fe870, 0x9638e3c4, 0xa7d0f959,
+ 0x01a7f2ed, 0xc400cc63, 0x6277c7d7, 0x539fdd4a, 0xf5e8d6fe,
+ 0x647e3ad9, 0xc209316d, 0xf3e12bf0, 0x55962044, 0x90311eca,
+ 0x3646157e, 0x07ae0fe3, 0xa1d90457, 0x579174be, 0xf1e67f0a,
+ 0xc00e6597, 0x66796e23, 0xa3de50ad, 0x05a95b19, 0x34414184,
+ 0x92364a30},
+ {0x00000000, 0xcb5cd3a5, 0x4dc8a10b, 0x869472ae, 0x9b914216,
+ 0x50cd91b3, 0xd659e31d, 0x1d0530b8, 0xec53826d, 0x270f51c8,
+ 0xa19b2366, 0x6ac7f0c3, 0x77c2c07b, 0xbc9e13de, 0x3a0a6170,
+ 0xf156b2d5, 0x03d6029b, 0xc88ad13e, 0x4e1ea390, 0x85427035,
+ 0x9847408d, 0x531b9328, 0xd58fe186, 0x1ed33223, 0xef8580f6,
+ 0x24d95353, 0xa24d21fd, 0x6911f258, 0x7414c2e0, 0xbf481145,
+ 0x39dc63eb, 0xf280b04e, 0x07ac0536, 0xccf0d693, 0x4a64a43d,
+ 0x81387798, 0x9c3d4720, 0x57619485, 0xd1f5e62b, 0x1aa9358e,
+ 0xebff875b, 0x20a354fe, 0xa6372650, 0x6d6bf5f5, 0x706ec54d,
+ 0xbb3216e8, 0x3da66446, 0xf6fab7e3, 0x047a07ad, 0xcf26d408,
+ 0x49b2a6a6, 0x82ee7503, 0x9feb45bb, 0x54b7961e, 0xd223e4b0,
+ 0x197f3715, 0xe82985c0, 0x23755665, 0xa5e124cb, 0x6ebdf76e,
+ 0x73b8c7d6, 0xb8e41473, 0x3e7066dd, 0xf52cb578, 0x0f580a6c,
+ 0xc404d9c9, 0x4290ab67, 0x89cc78c2, 0x94c9487a, 0x5f959bdf,
+ 0xd901e971, 0x125d3ad4, 0xe30b8801, 0x28575ba4, 0xaec3290a,
+ 0x659ffaaf, 0x789aca17, 0xb3c619b2, 0x35526b1c, 0xfe0eb8b9,
+ 0x0c8e08f7, 0xc7d2db52, 0x4146a9fc, 0x8a1a7a59, 0x971f4ae1,
+ 0x5c439944, 0xdad7ebea, 0x118b384f, 0xe0dd8a9a, 0x2b81593f,
+ 0xad152b91, 0x6649f834, 0x7b4cc88c, 0xb0101b29, 0x36846987,
+ 0xfdd8ba22, 0x08f40f5a, 0xc3a8dcff, 0x453cae51, 0x8e607df4,
+ 0x93654d4c, 0x58399ee9, 0xdeadec47, 0x15f13fe2, 0xe4a78d37,
+ 0x2ffb5e92, 0xa96f2c3c, 0x6233ff99, 0x7f36cf21, 0xb46a1c84,
+ 0x32fe6e2a, 0xf9a2bd8f, 0x0b220dc1, 0xc07ede64, 0x46eaacca,
+ 0x8db67f6f, 0x90b34fd7, 0x5bef9c72, 0xdd7beedc, 0x16273d79,
+ 0xe7718fac, 0x2c2d5c09, 0xaab92ea7, 0x61e5fd02, 0x7ce0cdba,
+ 0xb7bc1e1f, 0x31286cb1, 0xfa74bf14, 0x1eb014d8, 0xd5ecc77d,
+ 0x5378b5d3, 0x98246676, 0x852156ce, 0x4e7d856b, 0xc8e9f7c5,
+ 0x03b52460, 0xf2e396b5, 0x39bf4510, 0xbf2b37be, 0x7477e41b,
+ 0x6972d4a3, 0xa22e0706, 0x24ba75a8, 0xefe6a60d, 0x1d661643,
+ 0xd63ac5e6, 0x50aeb748, 0x9bf264ed, 0x86f75455, 0x4dab87f0,
+ 0xcb3ff55e, 0x006326fb, 0xf135942e, 0x3a69478b, 0xbcfd3525,
+ 0x77a1e680, 0x6aa4d638, 0xa1f8059d, 0x276c7733, 0xec30a496,
+ 0x191c11ee, 0xd240c24b, 0x54d4b0e5, 0x9f886340, 0x828d53f8,
+ 0x49d1805d, 0xcf45f2f3, 0x04192156, 0xf54f9383, 0x3e134026,
+ 0xb8873288, 0x73dbe12d, 0x6eded195, 0xa5820230, 0x2316709e,
+ 0xe84aa33b, 0x1aca1375, 0xd196c0d0, 0x5702b27e, 0x9c5e61db,
+ 0x815b5163, 0x4a0782c6, 0xcc93f068, 0x07cf23cd, 0xf6999118,
+ 0x3dc542bd, 0xbb513013, 0x700de3b6, 0x6d08d30e, 0xa65400ab,
+ 0x20c07205, 0xeb9ca1a0, 0x11e81eb4, 0xdab4cd11, 0x5c20bfbf,
+ 0x977c6c1a, 0x8a795ca2, 0x41258f07, 0xc7b1fda9, 0x0ced2e0c,
+ 0xfdbb9cd9, 0x36e74f7c, 0xb0733dd2, 0x7b2fee77, 0x662adecf,
+ 0xad760d6a, 0x2be27fc4, 0xe0beac61, 0x123e1c2f, 0xd962cf8a,
+ 0x5ff6bd24, 0x94aa6e81, 0x89af5e39, 0x42f38d9c, 0xc467ff32,
+ 0x0f3b2c97, 0xfe6d9e42, 0x35314de7, 0xb3a53f49, 0x78f9ecec,
+ 0x65fcdc54, 0xaea00ff1, 0x28347d5f, 0xe368aefa, 0x16441b82,
+ 0xdd18c827, 0x5b8cba89, 0x90d0692c, 0x8dd55994, 0x46898a31,
+ 0xc01df89f, 0x0b412b3a, 0xfa1799ef, 0x314b4a4a, 0xb7df38e4,
+ 0x7c83eb41, 0x6186dbf9, 0xaada085c, 0x2c4e7af2, 0xe712a957,
+ 0x15921919, 0xdececabc, 0x585ab812, 0x93066bb7, 0x8e035b0f,
+ 0x455f88aa, 0xc3cbfa04, 0x089729a1, 0xf9c19b74, 0x329d48d1,
+ 0xb4093a7f, 0x7f55e9da, 0x6250d962, 0xa90c0ac7, 0x2f987869,
+ 0xe4c4abcc},
+ {0x00000000, 0x3d6029b0, 0x7ac05360, 0x47a07ad0, 0xf580a6c0,
+ 0xc8e08f70, 0x8f40f5a0, 0xb220dc10, 0x30704bc1, 0x0d106271,
+ 0x4ab018a1, 0x77d03111, 0xc5f0ed01, 0xf890c4b1, 0xbf30be61,
+ 0x825097d1, 0x60e09782, 0x5d80be32, 0x1a20c4e2, 0x2740ed52,
+ 0x95603142, 0xa80018f2, 0xefa06222, 0xd2c04b92, 0x5090dc43,
+ 0x6df0f5f3, 0x2a508f23, 0x1730a693, 0xa5107a83, 0x98705333,
+ 0xdfd029e3, 0xe2b00053, 0xc1c12f04, 0xfca106b4, 0xbb017c64,
+ 0x866155d4, 0x344189c4, 0x0921a074, 0x4e81daa4, 0x73e1f314,
+ 0xf1b164c5, 0xccd14d75, 0x8b7137a5, 0xb6111e15, 0x0431c205,
+ 0x3951ebb5, 0x7ef19165, 0x4391b8d5, 0xa121b886, 0x9c419136,
+ 0xdbe1ebe6, 0xe681c256, 0x54a11e46, 0x69c137f6, 0x2e614d26,
+ 0x13016496, 0x9151f347, 0xac31daf7, 0xeb91a027, 0xd6f18997,
+ 0x64d15587, 0x59b17c37, 0x1e1106e7, 0x23712f57, 0x58f35849,
+ 0x659371f9, 0x22330b29, 0x1f532299, 0xad73fe89, 0x9013d739,
+ 0xd7b3ade9, 0xead38459, 0x68831388, 0x55e33a38, 0x124340e8,
+ 0x2f236958, 0x9d03b548, 0xa0639cf8, 0xe7c3e628, 0xdaa3cf98,
+ 0x3813cfcb, 0x0573e67b, 0x42d39cab, 0x7fb3b51b, 0xcd93690b,
+ 0xf0f340bb, 0xb7533a6b, 0x8a3313db, 0x0863840a, 0x3503adba,
+ 0x72a3d76a, 0x4fc3feda, 0xfde322ca, 0xc0830b7a, 0x872371aa,
+ 0xba43581a, 0x9932774d, 0xa4525efd, 0xe3f2242d, 0xde920d9d,
+ 0x6cb2d18d, 0x51d2f83d, 0x167282ed, 0x2b12ab5d, 0xa9423c8c,
+ 0x9422153c, 0xd3826fec, 0xeee2465c, 0x5cc29a4c, 0x61a2b3fc,
+ 0x2602c92c, 0x1b62e09c, 0xf9d2e0cf, 0xc4b2c97f, 0x8312b3af,
+ 0xbe729a1f, 0x0c52460f, 0x31326fbf, 0x7692156f, 0x4bf23cdf,
+ 0xc9a2ab0e, 0xf4c282be, 0xb362f86e, 0x8e02d1de, 0x3c220dce,
+ 0x0142247e, 0x46e25eae, 0x7b82771e, 0xb1e6b092, 0x8c869922,
+ 0xcb26e3f2, 0xf646ca42, 0x44661652, 0x79063fe2, 0x3ea64532,
+ 0x03c66c82, 0x8196fb53, 0xbcf6d2e3, 0xfb56a833, 0xc6368183,
+ 0x74165d93, 0x49767423, 0x0ed60ef3, 0x33b62743, 0xd1062710,
+ 0xec660ea0, 0xabc67470, 0x96a65dc0, 0x248681d0, 0x19e6a860,
+ 0x5e46d2b0, 0x6326fb00, 0xe1766cd1, 0xdc164561, 0x9bb63fb1,
+ 0xa6d61601, 0x14f6ca11, 0x2996e3a1, 0x6e369971, 0x5356b0c1,
+ 0x70279f96, 0x4d47b626, 0x0ae7ccf6, 0x3787e546, 0x85a73956,
+ 0xb8c710e6, 0xff676a36, 0xc2074386, 0x4057d457, 0x7d37fde7,
+ 0x3a978737, 0x07f7ae87, 0xb5d77297, 0x88b75b27, 0xcf1721f7,
+ 0xf2770847, 0x10c70814, 0x2da721a4, 0x6a075b74, 0x576772c4,
+ 0xe547aed4, 0xd8278764, 0x9f87fdb4, 0xa2e7d404, 0x20b743d5,
+ 0x1dd76a65, 0x5a7710b5, 0x67173905, 0xd537e515, 0xe857cca5,
+ 0xaff7b675, 0x92979fc5, 0xe915e8db, 0xd475c16b, 0x93d5bbbb,
+ 0xaeb5920b, 0x1c954e1b, 0x21f567ab, 0x66551d7b, 0x5b3534cb,
+ 0xd965a31a, 0xe4058aaa, 0xa3a5f07a, 0x9ec5d9ca, 0x2ce505da,
+ 0x11852c6a, 0x562556ba, 0x6b457f0a, 0x89f57f59, 0xb49556e9,
+ 0xf3352c39, 0xce550589, 0x7c75d999, 0x4115f029, 0x06b58af9,
+ 0x3bd5a349, 0xb9853498, 0x84e51d28, 0xc34567f8, 0xfe254e48,
+ 0x4c059258, 0x7165bbe8, 0x36c5c138, 0x0ba5e888, 0x28d4c7df,
+ 0x15b4ee6f, 0x521494bf, 0x6f74bd0f, 0xdd54611f, 0xe03448af,
+ 0xa794327f, 0x9af41bcf, 0x18a48c1e, 0x25c4a5ae, 0x6264df7e,
+ 0x5f04f6ce, 0xed242ade, 0xd044036e, 0x97e479be, 0xaa84500e,
+ 0x4834505d, 0x755479ed, 0x32f4033d, 0x0f942a8d, 0xbdb4f69d,
+ 0x80d4df2d, 0xc774a5fd, 0xfa148c4d, 0x78441b9c, 0x4524322c,
+ 0x028448fc, 0x3fe4614c, 0x8dc4bd5c, 0xb0a494ec, 0xf704ee3c,
+ 0xca64c78c}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x00000000, 0xb029603d, 0x6053c07a, 0xd07aa047, 0xc0a680f5,
+ 0x708fe0c8, 0xa0f5408f, 0x10dc20b2, 0xc14b7030, 0x7162100d,
+ 0xa118b04a, 0x1131d077, 0x01edf0c5, 0xb1c490f8, 0x61be30bf,
+ 0xd1975082, 0x8297e060, 0x32be805d, 0xe2c4201a, 0x52ed4027,
+ 0x42316095, 0xf21800a8, 0x2262a0ef, 0x924bc0d2, 0x43dc9050,
+ 0xf3f5f06d, 0x238f502a, 0x93a63017, 0x837a10a5, 0x33537098,
+ 0xe329d0df, 0x5300b0e2, 0x042fc1c1, 0xb406a1fc, 0x647c01bb,
+ 0xd4556186, 0xc4894134, 0x74a02109, 0xa4da814e, 0x14f3e173,
+ 0xc564b1f1, 0x754dd1cc, 0xa537718b, 0x151e11b6, 0x05c23104,
+ 0xb5eb5139, 0x6591f17e, 0xd5b89143, 0x86b821a1, 0x3691419c,
+ 0xe6ebe1db, 0x56c281e6, 0x461ea154, 0xf637c169, 0x264d612e,
+ 0x96640113, 0x47f35191, 0xf7da31ac, 0x27a091eb, 0x9789f1d6,
+ 0x8755d164, 0x377cb159, 0xe706111e, 0x572f7123, 0x4958f358,
+ 0xf9719365, 0x290b3322, 0x9922531f, 0x89fe73ad, 0x39d71390,
+ 0xe9adb3d7, 0x5984d3ea, 0x88138368, 0x383ae355, 0xe8404312,
+ 0x5869232f, 0x48b5039d, 0xf89c63a0, 0x28e6c3e7, 0x98cfa3da,
+ 0xcbcf1338, 0x7be67305, 0xab9cd342, 0x1bb5b37f, 0x0b6993cd,
+ 0xbb40f3f0, 0x6b3a53b7, 0xdb13338a, 0x0a846308, 0xbaad0335,
+ 0x6ad7a372, 0xdafec34f, 0xca22e3fd, 0x7a0b83c0, 0xaa712387,
+ 0x1a5843ba, 0x4d773299, 0xfd5e52a4, 0x2d24f2e3, 0x9d0d92de,
+ 0x8dd1b26c, 0x3df8d251, 0xed827216, 0x5dab122b, 0x8c3c42a9,
+ 0x3c152294, 0xec6f82d3, 0x5c46e2ee, 0x4c9ac25c, 0xfcb3a261,
+ 0x2cc90226, 0x9ce0621b, 0xcfe0d2f9, 0x7fc9b2c4, 0xafb31283,
+ 0x1f9a72be, 0x0f46520c, 0xbf6f3231, 0x6f159276, 0xdf3cf24b,
+ 0x0eaba2c9, 0xbe82c2f4, 0x6ef862b3, 0xded1028e, 0xce0d223c,
+ 0x7e244201, 0xae5ee246, 0x1e77827b, 0x92b0e6b1, 0x2299868c,
+ 0xf2e326cb, 0x42ca46f6, 0x52166644, 0xe23f0679, 0x3245a63e,
+ 0x826cc603, 0x53fb9681, 0xe3d2f6bc, 0x33a856fb, 0x838136c6,
+ 0x935d1674, 0x23747649, 0xf30ed60e, 0x4327b633, 0x102706d1,
+ 0xa00e66ec, 0x7074c6ab, 0xc05da696, 0xd0818624, 0x60a8e619,
+ 0xb0d2465e, 0x00fb2663, 0xd16c76e1, 0x614516dc, 0xb13fb69b,
+ 0x0116d6a6, 0x11caf614, 0xa1e39629, 0x7199366e, 0xc1b05653,
+ 0x969f2770, 0x26b6474d, 0xf6cce70a, 0x46e58737, 0x5639a785,
+ 0xe610c7b8, 0x366a67ff, 0x864307c2, 0x57d45740, 0xe7fd377d,
+ 0x3787973a, 0x87aef707, 0x9772d7b5, 0x275bb788, 0xf72117cf,
+ 0x470877f2, 0x1408c710, 0xa421a72d, 0x745b076a, 0xc4726757,
+ 0xd4ae47e5, 0x648727d8, 0xb4fd879f, 0x04d4e7a2, 0xd543b720,
+ 0x656ad71d, 0xb510775a, 0x05391767, 0x15e537d5, 0xa5cc57e8,
+ 0x75b6f7af, 0xc59f9792, 0xdbe815e9, 0x6bc175d4, 0xbbbbd593,
+ 0x0b92b5ae, 0x1b4e951c, 0xab67f521, 0x7b1d5566, 0xcb34355b,
+ 0x1aa365d9, 0xaa8a05e4, 0x7af0a5a3, 0xcad9c59e, 0xda05e52c,
+ 0x6a2c8511, 0xba562556, 0x0a7f456b, 0x597ff589, 0xe95695b4,
+ 0x392c35f3, 0x890555ce, 0x99d9757c, 0x29f01541, 0xf98ab506,
+ 0x49a3d53b, 0x983485b9, 0x281de584, 0xf86745c3, 0x484e25fe,
+ 0x5892054c, 0xe8bb6571, 0x38c1c536, 0x88e8a50b, 0xdfc7d428,
+ 0x6feeb415, 0xbf941452, 0x0fbd746f, 0x1f6154dd, 0xaf4834e0,
+ 0x7f3294a7, 0xcf1bf49a, 0x1e8ca418, 0xaea5c425, 0x7edf6462,
+ 0xcef6045f, 0xde2a24ed, 0x6e0344d0, 0xbe79e497, 0x0e5084aa,
+ 0x5d503448, 0xed795475, 0x3d03f432, 0x8d2a940f, 0x9df6b4bd,
+ 0x2ddfd480, 0xfda574c7, 0x4d8c14fa, 0x9c1b4478, 0x2c322445,
+ 0xfc488402, 0x4c61e43f, 0x5cbdc48d, 0xec94a4b0, 0x3cee04f7,
+ 0x8cc764ca},
+ {0x00000000, 0xa5d35ccb, 0x0ba1c84d, 0xae729486, 0x1642919b,
+ 0xb391cd50, 0x1de359d6, 0xb830051d, 0x6d8253ec, 0xc8510f27,
+ 0x66239ba1, 0xc3f0c76a, 0x7bc0c277, 0xde139ebc, 0x70610a3a,
+ 0xd5b256f1, 0x9b02d603, 0x3ed18ac8, 0x90a31e4e, 0x35704285,
+ 0x8d404798, 0x28931b53, 0x86e18fd5, 0x2332d31e, 0xf68085ef,
+ 0x5353d924, 0xfd214da2, 0x58f21169, 0xe0c21474, 0x451148bf,
+ 0xeb63dc39, 0x4eb080f2, 0x3605ac07, 0x93d6f0cc, 0x3da4644a,
+ 0x98773881, 0x20473d9c, 0x85946157, 0x2be6f5d1, 0x8e35a91a,
+ 0x5b87ffeb, 0xfe54a320, 0x502637a6, 0xf5f56b6d, 0x4dc56e70,
+ 0xe81632bb, 0x4664a63d, 0xe3b7faf6, 0xad077a04, 0x08d426cf,
+ 0xa6a6b249, 0x0375ee82, 0xbb45eb9f, 0x1e96b754, 0xb0e423d2,
+ 0x15377f19, 0xc08529e8, 0x65567523, 0xcb24e1a5, 0x6ef7bd6e,
+ 0xd6c7b873, 0x7314e4b8, 0xdd66703e, 0x78b52cf5, 0x6c0a580f,
+ 0xc9d904c4, 0x67ab9042, 0xc278cc89, 0x7a48c994, 0xdf9b955f,
+ 0x71e901d9, 0xd43a5d12, 0x01880be3, 0xa45b5728, 0x0a29c3ae,
+ 0xaffa9f65, 0x17ca9a78, 0xb219c6b3, 0x1c6b5235, 0xb9b80efe,
+ 0xf7088e0c, 0x52dbd2c7, 0xfca94641, 0x597a1a8a, 0xe14a1f97,
+ 0x4499435c, 0xeaebd7da, 0x4f388b11, 0x9a8adde0, 0x3f59812b,
+ 0x912b15ad, 0x34f84966, 0x8cc84c7b, 0x291b10b0, 0x87698436,
+ 0x22bad8fd, 0x5a0ff408, 0xffdca8c3, 0x51ae3c45, 0xf47d608e,
+ 0x4c4d6593, 0xe99e3958, 0x47ecadde, 0xe23ff115, 0x378da7e4,
+ 0x925efb2f, 0x3c2c6fa9, 0x99ff3362, 0x21cf367f, 0x841c6ab4,
+ 0x2a6efe32, 0x8fbda2f9, 0xc10d220b, 0x64de7ec0, 0xcaacea46,
+ 0x6f7fb68d, 0xd74fb390, 0x729cef5b, 0xdcee7bdd, 0x793d2716,
+ 0xac8f71e7, 0x095c2d2c, 0xa72eb9aa, 0x02fde561, 0xbacde07c,
+ 0x1f1ebcb7, 0xb16c2831, 0x14bf74fa, 0xd814b01e, 0x7dc7ecd5,
+ 0xd3b57853, 0x76662498, 0xce562185, 0x6b857d4e, 0xc5f7e9c8,
+ 0x6024b503, 0xb596e3f2, 0x1045bf39, 0xbe372bbf, 0x1be47774,
+ 0xa3d47269, 0x06072ea2, 0xa875ba24, 0x0da6e6ef, 0x4316661d,
+ 0xe6c53ad6, 0x48b7ae50, 0xed64f29b, 0x5554f786, 0xf087ab4d,
+ 0x5ef53fcb, 0xfb266300, 0x2e9435f1, 0x8b47693a, 0x2535fdbc,
+ 0x80e6a177, 0x38d6a46a, 0x9d05f8a1, 0x33776c27, 0x96a430ec,
+ 0xee111c19, 0x4bc240d2, 0xe5b0d454, 0x4063889f, 0xf8538d82,
+ 0x5d80d149, 0xf3f245cf, 0x56211904, 0x83934ff5, 0x2640133e,
+ 0x883287b8, 0x2de1db73, 0x95d1de6e, 0x300282a5, 0x9e701623,
+ 0x3ba34ae8, 0x7513ca1a, 0xd0c096d1, 0x7eb20257, 0xdb615e9c,
+ 0x63515b81, 0xc682074a, 0x68f093cc, 0xcd23cf07, 0x189199f6,
+ 0xbd42c53d, 0x133051bb, 0xb6e30d70, 0x0ed3086d, 0xab0054a6,
+ 0x0572c020, 0xa0a19ceb, 0xb41ee811, 0x11cdb4da, 0xbfbf205c,
+ 0x1a6c7c97, 0xa25c798a, 0x078f2541, 0xa9fdb1c7, 0x0c2eed0c,
+ 0xd99cbbfd, 0x7c4fe736, 0xd23d73b0, 0x77ee2f7b, 0xcfde2a66,
+ 0x6a0d76ad, 0xc47fe22b, 0x61acbee0, 0x2f1c3e12, 0x8acf62d9,
+ 0x24bdf65f, 0x816eaa94, 0x395eaf89, 0x9c8df342, 0x32ff67c4,
+ 0x972c3b0f, 0x429e6dfe, 0xe74d3135, 0x493fa5b3, 0xececf978,
+ 0x54dcfc65, 0xf10fa0ae, 0x5f7d3428, 0xfaae68e3, 0x821b4416,
+ 0x27c818dd, 0x89ba8c5b, 0x2c69d090, 0x9459d58d, 0x318a8946,
+ 0x9ff81dc0, 0x3a2b410b, 0xef9917fa, 0x4a4a4b31, 0xe438dfb7,
+ 0x41eb837c, 0xf9db8661, 0x5c08daaa, 0xf27a4e2c, 0x57a912e7,
+ 0x19199215, 0xbccacede, 0x12b85a58, 0xb76b0693, 0x0f5b038e,
+ 0xaa885f45, 0x04facbc3, 0xa1299708, 0x749bc1f9, 0xd1489d32,
+ 0x7f3a09b4, 0xdae9557f, 0x62d95062, 0xc70a0ca9, 0x6978982f,
+ 0xccabc4e4},
+ {0x00000000, 0xb40b77a6, 0x29119f97, 0x9d1ae831, 0x13244ff4,
+ 0xa72f3852, 0x3a35d063, 0x8e3ea7c5, 0x674eef33, 0xd3459895,
+ 0x4e5f70a4, 0xfa540702, 0x746aa0c7, 0xc061d761, 0x5d7b3f50,
+ 0xe97048f6, 0xce9cde67, 0x7a97a9c1, 0xe78d41f0, 0x53863656,
+ 0xddb89193, 0x69b3e635, 0xf4a90e04, 0x40a279a2, 0xa9d23154,
+ 0x1dd946f2, 0x80c3aec3, 0x34c8d965, 0xbaf67ea0, 0x0efd0906,
+ 0x93e7e137, 0x27ec9691, 0x9c39bdcf, 0x2832ca69, 0xb5282258,
+ 0x012355fe, 0x8f1df23b, 0x3b16859d, 0xa60c6dac, 0x12071a0a,
+ 0xfb7752fc, 0x4f7c255a, 0xd266cd6b, 0x666dbacd, 0xe8531d08,
+ 0x5c586aae, 0xc142829f, 0x7549f539, 0x52a563a8, 0xe6ae140e,
+ 0x7bb4fc3f, 0xcfbf8b99, 0x41812c5c, 0xf58a5bfa, 0x6890b3cb,
+ 0xdc9bc46d, 0x35eb8c9b, 0x81e0fb3d, 0x1cfa130c, 0xa8f164aa,
+ 0x26cfc36f, 0x92c4b4c9, 0x0fde5cf8, 0xbbd52b5e, 0x79750b44,
+ 0xcd7e7ce2, 0x506494d3, 0xe46fe375, 0x6a5144b0, 0xde5a3316,
+ 0x4340db27, 0xf74bac81, 0x1e3be477, 0xaa3093d1, 0x372a7be0,
+ 0x83210c46, 0x0d1fab83, 0xb914dc25, 0x240e3414, 0x900543b2,
+ 0xb7e9d523, 0x03e2a285, 0x9ef84ab4, 0x2af33d12, 0xa4cd9ad7,
+ 0x10c6ed71, 0x8ddc0540, 0x39d772e6, 0xd0a73a10, 0x64ac4db6,
+ 0xf9b6a587, 0x4dbdd221, 0xc38375e4, 0x77880242, 0xea92ea73,
+ 0x5e999dd5, 0xe54cb68b, 0x5147c12d, 0xcc5d291c, 0x78565eba,
+ 0xf668f97f, 0x42638ed9, 0xdf7966e8, 0x6b72114e, 0x820259b8,
+ 0x36092e1e, 0xab13c62f, 0x1f18b189, 0x9126164c, 0x252d61ea,
+ 0xb83789db, 0x0c3cfe7d, 0x2bd068ec, 0x9fdb1f4a, 0x02c1f77b,
+ 0xb6ca80dd, 0x38f42718, 0x8cff50be, 0x11e5b88f, 0xa5eecf29,
+ 0x4c9e87df, 0xf895f079, 0x658f1848, 0xd1846fee, 0x5fbac82b,
+ 0xebb1bf8d, 0x76ab57bc, 0xc2a0201a, 0xf2ea1688, 0x46e1612e,
+ 0xdbfb891f, 0x6ff0feb9, 0xe1ce597c, 0x55c52eda, 0xc8dfc6eb,
+ 0x7cd4b14d, 0x95a4f9bb, 0x21af8e1d, 0xbcb5662c, 0x08be118a,
+ 0x8680b64f, 0x328bc1e9, 0xaf9129d8, 0x1b9a5e7e, 0x3c76c8ef,
+ 0x887dbf49, 0x15675778, 0xa16c20de, 0x2f52871b, 0x9b59f0bd,
+ 0x0643188c, 0xb2486f2a, 0x5b3827dc, 0xef33507a, 0x7229b84b,
+ 0xc622cfed, 0x481c6828, 0xfc171f8e, 0x610df7bf, 0xd5068019,
+ 0x6ed3ab47, 0xdad8dce1, 0x47c234d0, 0xf3c94376, 0x7df7e4b3,
+ 0xc9fc9315, 0x54e67b24, 0xe0ed0c82, 0x099d4474, 0xbd9633d2,
+ 0x208cdbe3, 0x9487ac45, 0x1ab90b80, 0xaeb27c26, 0x33a89417,
+ 0x87a3e3b1, 0xa04f7520, 0x14440286, 0x895eeab7, 0x3d559d11,
+ 0xb36b3ad4, 0x07604d72, 0x9a7aa543, 0x2e71d2e5, 0xc7019a13,
+ 0x730aedb5, 0xee100584, 0x5a1b7222, 0xd425d5e7, 0x602ea241,
+ 0xfd344a70, 0x493f3dd6, 0x8b9f1dcc, 0x3f946a6a, 0xa28e825b,
+ 0x1685f5fd, 0x98bb5238, 0x2cb0259e, 0xb1aacdaf, 0x05a1ba09,
+ 0xecd1f2ff, 0x58da8559, 0xc5c06d68, 0x71cb1ace, 0xfff5bd0b,
+ 0x4bfecaad, 0xd6e4229c, 0x62ef553a, 0x4503c3ab, 0xf108b40d,
+ 0x6c125c3c, 0xd8192b9a, 0x56278c5f, 0xe22cfbf9, 0x7f3613c8,
+ 0xcb3d646e, 0x224d2c98, 0x96465b3e, 0x0b5cb30f, 0xbf57c4a9,
+ 0x3169636c, 0x856214ca, 0x1878fcfb, 0xac738b5d, 0x17a6a003,
+ 0xa3add7a5, 0x3eb73f94, 0x8abc4832, 0x0482eff7, 0xb0899851,
+ 0x2d937060, 0x999807c6, 0x70e84f30, 0xc4e33896, 0x59f9d0a7,
+ 0xedf2a701, 0x63cc00c4, 0xd7c77762, 0x4add9f53, 0xfed6e8f5,
+ 0xd93a7e64, 0x6d3109c2, 0xf02be1f3, 0x44209655, 0xca1e3190,
+ 0x7e154636, 0xe30fae07, 0x5704d9a1, 0xbe749157, 0x0a7fe6f1,
+ 0x97650ec0, 0x236e7966, 0xad50dea3, 0x195ba905, 0x84414134,
+ 0x304a3692},
+ {0x00000000, 0x9e00aacc, 0x7d072542, 0xe3078f8e, 0xfa0e4a84,
+ 0x640ee048, 0x87096fc6, 0x1909c50a, 0xb51be5d3, 0x2b1b4f1f,
+ 0xc81cc091, 0x561c6a5d, 0x4f15af57, 0xd115059b, 0x32128a15,
+ 0xac1220d9, 0x2b31bb7c, 0xb53111b0, 0x56369e3e, 0xc83634f2,
+ 0xd13ff1f8, 0x4f3f5b34, 0xac38d4ba, 0x32387e76, 0x9e2a5eaf,
+ 0x002af463, 0xe32d7bed, 0x7d2dd121, 0x6424142b, 0xfa24bee7,
+ 0x19233169, 0x87239ba5, 0x566276f9, 0xc862dc35, 0x2b6553bb,
+ 0xb565f977, 0xac6c3c7d, 0x326c96b1, 0xd16b193f, 0x4f6bb3f3,
+ 0xe379932a, 0x7d7939e6, 0x9e7eb668, 0x007e1ca4, 0x1977d9ae,
+ 0x87777362, 0x6470fcec, 0xfa705620, 0x7d53cd85, 0xe3536749,
+ 0x0054e8c7, 0x9e54420b, 0x875d8701, 0x195d2dcd, 0xfa5aa243,
+ 0x645a088f, 0xc8482856, 0x5648829a, 0xb54f0d14, 0x2b4fa7d8,
+ 0x324662d2, 0xac46c81e, 0x4f414790, 0xd141ed5c, 0xedc29d29,
+ 0x73c237e5, 0x90c5b86b, 0x0ec512a7, 0x17ccd7ad, 0x89cc7d61,
+ 0x6acbf2ef, 0xf4cb5823, 0x58d978fa, 0xc6d9d236, 0x25de5db8,
+ 0xbbdef774, 0xa2d7327e, 0x3cd798b2, 0xdfd0173c, 0x41d0bdf0,
+ 0xc6f32655, 0x58f38c99, 0xbbf40317, 0x25f4a9db, 0x3cfd6cd1,
+ 0xa2fdc61d, 0x41fa4993, 0xdffae35f, 0x73e8c386, 0xede8694a,
+ 0x0eefe6c4, 0x90ef4c08, 0x89e68902, 0x17e623ce, 0xf4e1ac40,
+ 0x6ae1068c, 0xbba0ebd0, 0x25a0411c, 0xc6a7ce92, 0x58a7645e,
+ 0x41aea154, 0xdfae0b98, 0x3ca98416, 0xa2a92eda, 0x0ebb0e03,
+ 0x90bba4cf, 0x73bc2b41, 0xedbc818d, 0xf4b54487, 0x6ab5ee4b,
+ 0x89b261c5, 0x17b2cb09, 0x909150ac, 0x0e91fa60, 0xed9675ee,
+ 0x7396df22, 0x6a9f1a28, 0xf49fb0e4, 0x17983f6a, 0x899895a6,
+ 0x258ab57f, 0xbb8a1fb3, 0x588d903d, 0xc68d3af1, 0xdf84fffb,
+ 0x41845537, 0xa283dab9, 0x3c837075, 0xda853b53, 0x4485919f,
+ 0xa7821e11, 0x3982b4dd, 0x208b71d7, 0xbe8bdb1b, 0x5d8c5495,
+ 0xc38cfe59, 0x6f9ede80, 0xf19e744c, 0x1299fbc2, 0x8c99510e,
+ 0x95909404, 0x0b903ec8, 0xe897b146, 0x76971b8a, 0xf1b4802f,
+ 0x6fb42ae3, 0x8cb3a56d, 0x12b30fa1, 0x0bbacaab, 0x95ba6067,
+ 0x76bdefe9, 0xe8bd4525, 0x44af65fc, 0xdaafcf30, 0x39a840be,
+ 0xa7a8ea72, 0xbea12f78, 0x20a185b4, 0xc3a60a3a, 0x5da6a0f6,
+ 0x8ce74daa, 0x12e7e766, 0xf1e068e8, 0x6fe0c224, 0x76e9072e,
+ 0xe8e9ade2, 0x0bee226c, 0x95ee88a0, 0x39fca879, 0xa7fc02b5,
+ 0x44fb8d3b, 0xdafb27f7, 0xc3f2e2fd, 0x5df24831, 0xbef5c7bf,
+ 0x20f56d73, 0xa7d6f6d6, 0x39d65c1a, 0xdad1d394, 0x44d17958,
+ 0x5dd8bc52, 0xc3d8169e, 0x20df9910, 0xbedf33dc, 0x12cd1305,
+ 0x8ccdb9c9, 0x6fca3647, 0xf1ca9c8b, 0xe8c35981, 0x76c3f34d,
+ 0x95c47cc3, 0x0bc4d60f, 0x3747a67a, 0xa9470cb6, 0x4a408338,
+ 0xd44029f4, 0xcd49ecfe, 0x53494632, 0xb04ec9bc, 0x2e4e6370,
+ 0x825c43a9, 0x1c5ce965, 0xff5b66eb, 0x615bcc27, 0x7852092d,
+ 0xe652a3e1, 0x05552c6f, 0x9b5586a3, 0x1c761d06, 0x8276b7ca,
+ 0x61713844, 0xff719288, 0xe6785782, 0x7878fd4e, 0x9b7f72c0,
+ 0x057fd80c, 0xa96df8d5, 0x376d5219, 0xd46add97, 0x4a6a775b,
+ 0x5363b251, 0xcd63189d, 0x2e649713, 0xb0643ddf, 0x6125d083,
+ 0xff257a4f, 0x1c22f5c1, 0x82225f0d, 0x9b2b9a07, 0x052b30cb,
+ 0xe62cbf45, 0x782c1589, 0xd43e3550, 0x4a3e9f9c, 0xa9391012,
+ 0x3739bade, 0x2e307fd4, 0xb030d518, 0x53375a96, 0xcd37f05a,
+ 0x4a146bff, 0xd414c133, 0x37134ebd, 0xa913e471, 0xb01a217b,
+ 0x2e1a8bb7, 0xcd1d0439, 0x531daef5, 0xff0f8e2c, 0x610f24e0,
+ 0x8208ab6e, 0x1c0801a2, 0x0501c4a8, 0x9b016e64, 0x7806e1ea,
+ 0xe6064b26}};
+
#endif
- }
-};
+
+#endif
+
+#if N == 3
+
+#if W == 8
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0x81256527, 0xd93bcc0f, 0x581ea928, 0x69069e5f,
+ 0xe823fb78, 0xb03d5250, 0x31183777, 0xd20d3cbe, 0x53285999,
+ 0x0b36f0b1, 0x8a139596, 0xbb0ba2e1, 0x3a2ec7c6, 0x62306eee,
+ 0xe3150bc9, 0x7f6b7f3d, 0xfe4e1a1a, 0xa650b332, 0x2775d615,
+ 0x166de162, 0x97488445, 0xcf562d6d, 0x4e73484a, 0xad664383,
+ 0x2c4326a4, 0x745d8f8c, 0xf578eaab, 0xc460dddc, 0x4545b8fb,
+ 0x1d5b11d3, 0x9c7e74f4, 0xfed6fe7a, 0x7ff39b5d, 0x27ed3275,
+ 0xa6c85752, 0x97d06025, 0x16f50502, 0x4eebac2a, 0xcfcec90d,
+ 0x2cdbc2c4, 0xadfea7e3, 0xf5e00ecb, 0x74c56bec, 0x45dd5c9b,
+ 0xc4f839bc, 0x9ce69094, 0x1dc3f5b3, 0x81bd8147, 0x0098e460,
+ 0x58864d48, 0xd9a3286f, 0xe8bb1f18, 0x699e7a3f, 0x3180d317,
+ 0xb0a5b630, 0x53b0bdf9, 0xd295d8de, 0x8a8b71f6, 0x0bae14d1,
+ 0x3ab623a6, 0xbb934681, 0xe38defa9, 0x62a88a8e, 0x26dcfab5,
+ 0xa7f99f92, 0xffe736ba, 0x7ec2539d, 0x4fda64ea, 0xceff01cd,
+ 0x96e1a8e5, 0x17c4cdc2, 0xf4d1c60b, 0x75f4a32c, 0x2dea0a04,
+ 0xaccf6f23, 0x9dd75854, 0x1cf23d73, 0x44ec945b, 0xc5c9f17c,
+ 0x59b78588, 0xd892e0af, 0x808c4987, 0x01a92ca0, 0x30b11bd7,
+ 0xb1947ef0, 0xe98ad7d8, 0x68afb2ff, 0x8bbab936, 0x0a9fdc11,
+ 0x52817539, 0xd3a4101e, 0xe2bc2769, 0x6399424e, 0x3b87eb66,
+ 0xbaa28e41, 0xd80a04cf, 0x592f61e8, 0x0131c8c0, 0x8014ade7,
+ 0xb10c9a90, 0x3029ffb7, 0x6837569f, 0xe91233b8, 0x0a073871,
+ 0x8b225d56, 0xd33cf47e, 0x52199159, 0x6301a62e, 0xe224c309,
+ 0xba3a6a21, 0x3b1f0f06, 0xa7617bf2, 0x26441ed5, 0x7e5ab7fd,
+ 0xff7fd2da, 0xce67e5ad, 0x4f42808a, 0x175c29a2, 0x96794c85,
+ 0x756c474c, 0xf449226b, 0xac578b43, 0x2d72ee64, 0x1c6ad913,
+ 0x9d4fbc34, 0xc551151c, 0x4474703b, 0x4db9f56a, 0xcc9c904d,
+ 0x94823965, 0x15a75c42, 0x24bf6b35, 0xa59a0e12, 0xfd84a73a,
+ 0x7ca1c21d, 0x9fb4c9d4, 0x1e91acf3, 0x468f05db, 0xc7aa60fc,
+ 0xf6b2578b, 0x779732ac, 0x2f899b84, 0xaeacfea3, 0x32d28a57,
+ 0xb3f7ef70, 0xebe94658, 0x6acc237f, 0x5bd41408, 0xdaf1712f,
+ 0x82efd807, 0x03cabd20, 0xe0dfb6e9, 0x61fad3ce, 0x39e47ae6,
+ 0xb8c11fc1, 0x89d928b6, 0x08fc4d91, 0x50e2e4b9, 0xd1c7819e,
+ 0xb36f0b10, 0x324a6e37, 0x6a54c71f, 0xeb71a238, 0xda69954f,
+ 0x5b4cf068, 0x03525940, 0x82773c67, 0x616237ae, 0xe0475289,
+ 0xb859fba1, 0x397c9e86, 0x0864a9f1, 0x8941ccd6, 0xd15f65fe,
+ 0x507a00d9, 0xcc04742d, 0x4d21110a, 0x153fb822, 0x941add05,
+ 0xa502ea72, 0x24278f55, 0x7c39267d, 0xfd1c435a, 0x1e094893,
+ 0x9f2c2db4, 0xc732849c, 0x4617e1bb, 0x770fd6cc, 0xf62ab3eb,
+ 0xae341ac3, 0x2f117fe4, 0x6b650fdf, 0xea406af8, 0xb25ec3d0,
+ 0x337ba6f7, 0x02639180, 0x8346f4a7, 0xdb585d8f, 0x5a7d38a8,
+ 0xb9683361, 0x384d5646, 0x6053ff6e, 0xe1769a49, 0xd06ead3e,
+ 0x514bc819, 0x09556131, 0x88700416, 0x140e70e2, 0x952b15c5,
+ 0xcd35bced, 0x4c10d9ca, 0x7d08eebd, 0xfc2d8b9a, 0xa43322b2,
+ 0x25164795, 0xc6034c5c, 0x4726297b, 0x1f388053, 0x9e1de574,
+ 0xaf05d203, 0x2e20b724, 0x763e1e0c, 0xf71b7b2b, 0x95b3f1a5,
+ 0x14969482, 0x4c883daa, 0xcdad588d, 0xfcb56ffa, 0x7d900add,
+ 0x258ea3f5, 0xa4abc6d2, 0x47becd1b, 0xc69ba83c, 0x9e850114,
+ 0x1fa06433, 0x2eb85344, 0xaf9d3663, 0xf7839f4b, 0x76a6fa6c,
+ 0xead88e98, 0x6bfdebbf, 0x33e34297, 0xb2c627b0, 0x83de10c7,
+ 0x02fb75e0, 0x5ae5dcc8, 0xdbc0b9ef, 0x38d5b226, 0xb9f0d701,
+ 0xe1ee7e29, 0x60cb1b0e, 0x51d32c79, 0xd0f6495e, 0x88e8e076,
+ 0x09cd8551},
+ {0x00000000, 0x9b73ead4, 0xed96d3e9, 0x76e5393d, 0x005ca193,
+ 0x9b2f4b47, 0xedca727a, 0x76b998ae, 0x00b94326, 0x9bcaa9f2,
+ 0xed2f90cf, 0x765c7a1b, 0x00e5e2b5, 0x9b960861, 0xed73315c,
+ 0x7600db88, 0x0172864c, 0x9a016c98, 0xece455a5, 0x7797bf71,
+ 0x012e27df, 0x9a5dcd0b, 0xecb8f436, 0x77cb1ee2, 0x01cbc56a,
+ 0x9ab82fbe, 0xec5d1683, 0x772efc57, 0x019764f9, 0x9ae48e2d,
+ 0xec01b710, 0x77725dc4, 0x02e50c98, 0x9996e64c, 0xef73df71,
+ 0x740035a5, 0x02b9ad0b, 0x99ca47df, 0xef2f7ee2, 0x745c9436,
+ 0x025c4fbe, 0x992fa56a, 0xefca9c57, 0x74b97683, 0x0200ee2d,
+ 0x997304f9, 0xef963dc4, 0x74e5d710, 0x03978ad4, 0x98e46000,
+ 0xee01593d, 0x7572b3e9, 0x03cb2b47, 0x98b8c193, 0xee5df8ae,
+ 0x752e127a, 0x032ec9f2, 0x985d2326, 0xeeb81a1b, 0x75cbf0cf,
+ 0x03726861, 0x980182b5, 0xeee4bb88, 0x7597515c, 0x05ca1930,
+ 0x9eb9f3e4, 0xe85ccad9, 0x732f200d, 0x0596b8a3, 0x9ee55277,
+ 0xe8006b4a, 0x7373819e, 0x05735a16, 0x9e00b0c2, 0xe8e589ff,
+ 0x7396632b, 0x052ffb85, 0x9e5c1151, 0xe8b9286c, 0x73cac2b8,
+ 0x04b89f7c, 0x9fcb75a8, 0xe92e4c95, 0x725da641, 0x04e43eef,
+ 0x9f97d43b, 0xe972ed06, 0x720107d2, 0x0401dc5a, 0x9f72368e,
+ 0xe9970fb3, 0x72e4e567, 0x045d7dc9, 0x9f2e971d, 0xe9cbae20,
+ 0x72b844f4, 0x072f15a8, 0x9c5cff7c, 0xeab9c641, 0x71ca2c95,
+ 0x0773b43b, 0x9c005eef, 0xeae567d2, 0x71968d06, 0x0796568e,
+ 0x9ce5bc5a, 0xea008567, 0x71736fb3, 0x07caf71d, 0x9cb91dc9,
+ 0xea5c24f4, 0x712fce20, 0x065d93e4, 0x9d2e7930, 0xebcb400d,
+ 0x70b8aad9, 0x06013277, 0x9d72d8a3, 0xeb97e19e, 0x70e40b4a,
+ 0x06e4d0c2, 0x9d973a16, 0xeb72032b, 0x7001e9ff, 0x06b87151,
+ 0x9dcb9b85, 0xeb2ea2b8, 0x705d486c, 0x0b943260, 0x90e7d8b4,
+ 0xe602e189, 0x7d710b5d, 0x0bc893f3, 0x90bb7927, 0xe65e401a,
+ 0x7d2daace, 0x0b2d7146, 0x905e9b92, 0xe6bba2af, 0x7dc8487b,
+ 0x0b71d0d5, 0x90023a01, 0xe6e7033c, 0x7d94e9e8, 0x0ae6b42c,
+ 0x91955ef8, 0xe77067c5, 0x7c038d11, 0x0aba15bf, 0x91c9ff6b,
+ 0xe72cc656, 0x7c5f2c82, 0x0a5ff70a, 0x912c1dde, 0xe7c924e3,
+ 0x7cbace37, 0x0a035699, 0x9170bc4d, 0xe7958570, 0x7ce66fa4,
+ 0x09713ef8, 0x9202d42c, 0xe4e7ed11, 0x7f9407c5, 0x092d9f6b,
+ 0x925e75bf, 0xe4bb4c82, 0x7fc8a656, 0x09c87dde, 0x92bb970a,
+ 0xe45eae37, 0x7f2d44e3, 0x0994dc4d, 0x92e73699, 0xe4020fa4,
+ 0x7f71e570, 0x0803b8b4, 0x93705260, 0xe5956b5d, 0x7ee68189,
+ 0x085f1927, 0x932cf3f3, 0xe5c9cace, 0x7eba201a, 0x08bafb92,
+ 0x93c91146, 0xe52c287b, 0x7e5fc2af, 0x08e65a01, 0x9395b0d5,
+ 0xe57089e8, 0x7e03633c, 0x0e5e2b50, 0x952dc184, 0xe3c8f8b9,
+ 0x78bb126d, 0x0e028ac3, 0x95716017, 0xe394592a, 0x78e7b3fe,
+ 0x0ee76876, 0x959482a2, 0xe371bb9f, 0x7802514b, 0x0ebbc9e5,
+ 0x95c82331, 0xe32d1a0c, 0x785ef0d8, 0x0f2cad1c, 0x945f47c8,
+ 0xe2ba7ef5, 0x79c99421, 0x0f700c8f, 0x9403e65b, 0xe2e6df66,
+ 0x799535b2, 0x0f95ee3a, 0x94e604ee, 0xe2033dd3, 0x7970d707,
+ 0x0fc94fa9, 0x94baa57d, 0xe25f9c40, 0x792c7694, 0x0cbb27c8,
+ 0x97c8cd1c, 0xe12df421, 0x7a5e1ef5, 0x0ce7865b, 0x97946c8f,
+ 0xe17155b2, 0x7a02bf66, 0x0c0264ee, 0x97718e3a, 0xe194b707,
+ 0x7ae75dd3, 0x0c5ec57d, 0x972d2fa9, 0xe1c81694, 0x7abbfc40,
+ 0x0dc9a184, 0x96ba4b50, 0xe05f726d, 0x7b2c98b9, 0x0d950017,
+ 0x96e6eac3, 0xe003d3fe, 0x7b70392a, 0x0d70e2a2, 0x96030876,
+ 0xe0e6314b, 0x7b95db9f, 0x0d2c4331, 0x965fa9e5, 0xe0ba90d8,
+ 0x7bc97a0c},
+ {0x00000000, 0x172864c0, 0x2e50c980, 0x3978ad40, 0x5ca19300,
+ 0x4b89f7c0, 0x72f15a80, 0x65d93e40, 0xb9432600, 0xae6b42c0,
+ 0x9713ef80, 0x803b8b40, 0xe5e2b500, 0xf2cad1c0, 0xcbb27c80,
+ 0xdc9a1840, 0xa9f74a41, 0xbedf2e81, 0x87a783c1, 0x908fe701,
+ 0xf556d941, 0xe27ebd81, 0xdb0610c1, 0xcc2e7401, 0x10b46c41,
+ 0x079c0881, 0x3ee4a5c1, 0x29ccc101, 0x4c15ff41, 0x5b3d9b81,
+ 0x624536c1, 0x756d5201, 0x889f92c3, 0x9fb7f603, 0xa6cf5b43,
+ 0xb1e73f83, 0xd43e01c3, 0xc3166503, 0xfa6ec843, 0xed46ac83,
+ 0x31dcb4c3, 0x26f4d003, 0x1f8c7d43, 0x08a41983, 0x6d7d27c3,
+ 0x7a554303, 0x432dee43, 0x54058a83, 0x2168d882, 0x3640bc42,
+ 0x0f381102, 0x181075c2, 0x7dc94b82, 0x6ae12f42, 0x53998202,
+ 0x44b1e6c2, 0x982bfe82, 0x8f039a42, 0xb67b3702, 0xa15353c2,
+ 0xc48a6d82, 0xd3a20942, 0xeadaa402, 0xfdf2c0c2, 0xca4e23c7,
+ 0xdd664707, 0xe41eea47, 0xf3368e87, 0x96efb0c7, 0x81c7d407,
+ 0xb8bf7947, 0xaf971d87, 0x730d05c7, 0x64256107, 0x5d5dcc47,
+ 0x4a75a887, 0x2fac96c7, 0x3884f207, 0x01fc5f47, 0x16d43b87,
+ 0x63b96986, 0x74910d46, 0x4de9a006, 0x5ac1c4c6, 0x3f18fa86,
+ 0x28309e46, 0x11483306, 0x066057c6, 0xdafa4f86, 0xcdd22b46,
+ 0xf4aa8606, 0xe382e2c6, 0x865bdc86, 0x9173b846, 0xa80b1506,
+ 0xbf2371c6, 0x42d1b104, 0x55f9d5c4, 0x6c817884, 0x7ba91c44,
+ 0x1e702204, 0x095846c4, 0x3020eb84, 0x27088f44, 0xfb929704,
+ 0xecbaf3c4, 0xd5c25e84, 0xc2ea3a44, 0xa7330404, 0xb01b60c4,
+ 0x8963cd84, 0x9e4ba944, 0xeb26fb45, 0xfc0e9f85, 0xc57632c5,
+ 0xd25e5605, 0xb7876845, 0xa0af0c85, 0x99d7a1c5, 0x8effc505,
+ 0x5265dd45, 0x454db985, 0x7c3514c5, 0x6b1d7005, 0x0ec44e45,
+ 0x19ec2a85, 0x209487c5, 0x37bce305, 0x4fed41cf, 0x58c5250f,
+ 0x61bd884f, 0x7695ec8f, 0x134cd2cf, 0x0464b60f, 0x3d1c1b4f,
+ 0x2a347f8f, 0xf6ae67cf, 0xe186030f, 0xd8feae4f, 0xcfd6ca8f,
+ 0xaa0ff4cf, 0xbd27900f, 0x845f3d4f, 0x9377598f, 0xe61a0b8e,
+ 0xf1326f4e, 0xc84ac20e, 0xdf62a6ce, 0xbabb988e, 0xad93fc4e,
+ 0x94eb510e, 0x83c335ce, 0x5f592d8e, 0x4871494e, 0x7109e40e,
+ 0x662180ce, 0x03f8be8e, 0x14d0da4e, 0x2da8770e, 0x3a8013ce,
+ 0xc772d30c, 0xd05ab7cc, 0xe9221a8c, 0xfe0a7e4c, 0x9bd3400c,
+ 0x8cfb24cc, 0xb583898c, 0xa2abed4c, 0x7e31f50c, 0x691991cc,
+ 0x50613c8c, 0x4749584c, 0x2290660c, 0x35b802cc, 0x0cc0af8c,
+ 0x1be8cb4c, 0x6e85994d, 0x79adfd8d, 0x40d550cd, 0x57fd340d,
+ 0x32240a4d, 0x250c6e8d, 0x1c74c3cd, 0x0b5ca70d, 0xd7c6bf4d,
+ 0xc0eedb8d, 0xf99676cd, 0xeebe120d, 0x8b672c4d, 0x9c4f488d,
+ 0xa537e5cd, 0xb21f810d, 0x85a36208, 0x928b06c8, 0xabf3ab88,
+ 0xbcdbcf48, 0xd902f108, 0xce2a95c8, 0xf7523888, 0xe07a5c48,
+ 0x3ce04408, 0x2bc820c8, 0x12b08d88, 0x0598e948, 0x6041d708,
+ 0x7769b3c8, 0x4e111e88, 0x59397a48, 0x2c542849, 0x3b7c4c89,
+ 0x0204e1c9, 0x152c8509, 0x70f5bb49, 0x67dddf89, 0x5ea572c9,
+ 0x498d1609, 0x95170e49, 0x823f6a89, 0xbb47c7c9, 0xac6fa309,
+ 0xc9b69d49, 0xde9ef989, 0xe7e654c9, 0xf0ce3009, 0x0d3cf0cb,
+ 0x1a14940b, 0x236c394b, 0x34445d8b, 0x519d63cb, 0x46b5070b,
+ 0x7fcdaa4b, 0x68e5ce8b, 0xb47fd6cb, 0xa357b20b, 0x9a2f1f4b,
+ 0x8d077b8b, 0xe8de45cb, 0xfff6210b, 0xc68e8c4b, 0xd1a6e88b,
+ 0xa4cbba8a, 0xb3e3de4a, 0x8a9b730a, 0x9db317ca, 0xf86a298a,
+ 0xef424d4a, 0xd63ae00a, 0xc11284ca, 0x1d889c8a, 0x0aa0f84a,
+ 0x33d8550a, 0x24f031ca, 0x41290f8a, 0x56016b4a, 0x6f79c60a,
+ 0x7851a2ca},
+ {0x00000000, 0x9fda839e, 0xe4c4017d, 0x7b1e82e3, 0x12f904bb,
+ 0x8d238725, 0xf63d05c6, 0x69e78658, 0x25f20976, 0xba288ae8,
+ 0xc136080b, 0x5eec8b95, 0x370b0dcd, 0xa8d18e53, 0xd3cf0cb0,
+ 0x4c158f2e, 0x4be412ec, 0xd43e9172, 0xaf201391, 0x30fa900f,
+ 0x591d1657, 0xc6c795c9, 0xbdd9172a, 0x220394b4, 0x6e161b9a,
+ 0xf1cc9804, 0x8ad21ae7, 0x15089979, 0x7cef1f21, 0xe3359cbf,
+ 0x982b1e5c, 0x07f19dc2, 0x97c825d8, 0x0812a646, 0x730c24a5,
+ 0xecd6a73b, 0x85312163, 0x1aeba2fd, 0x61f5201e, 0xfe2fa380,
+ 0xb23a2cae, 0x2de0af30, 0x56fe2dd3, 0xc924ae4d, 0xa0c32815,
+ 0x3f19ab8b, 0x44072968, 0xdbddaaf6, 0xdc2c3734, 0x43f6b4aa,
+ 0x38e83649, 0xa732b5d7, 0xced5338f, 0x510fb011, 0x2a1132f2,
+ 0xb5cbb16c, 0xf9de3e42, 0x6604bddc, 0x1d1a3f3f, 0x82c0bca1,
+ 0xeb273af9, 0x74fdb967, 0x0fe33b84, 0x9039b81a, 0xf4e14df1,
+ 0x6b3bce6f, 0x10254c8c, 0x8fffcf12, 0xe618494a, 0x79c2cad4,
+ 0x02dc4837, 0x9d06cba9, 0xd1134487, 0x4ec9c719, 0x35d745fa,
+ 0xaa0dc664, 0xc3ea403c, 0x5c30c3a2, 0x272e4141, 0xb8f4c2df,
+ 0xbf055f1d, 0x20dfdc83, 0x5bc15e60, 0xc41bddfe, 0xadfc5ba6,
+ 0x3226d838, 0x49385adb, 0xd6e2d945, 0x9af7566b, 0x052dd5f5,
+ 0x7e335716, 0xe1e9d488, 0x880e52d0, 0x17d4d14e, 0x6cca53ad,
+ 0xf310d033, 0x63296829, 0xfcf3ebb7, 0x87ed6954, 0x1837eaca,
+ 0x71d06c92, 0xee0aef0c, 0x95146def, 0x0aceee71, 0x46db615f,
+ 0xd901e2c1, 0xa21f6022, 0x3dc5e3bc, 0x542265e4, 0xcbf8e67a,
+ 0xb0e66499, 0x2f3ce707, 0x28cd7ac5, 0xb717f95b, 0xcc097bb8,
+ 0x53d3f826, 0x3a347e7e, 0xa5eefde0, 0xdef07f03, 0x412afc9d,
+ 0x0d3f73b3, 0x92e5f02d, 0xe9fb72ce, 0x7621f150, 0x1fc67708,
+ 0x801cf496, 0xfb027675, 0x64d8f5eb, 0x32b39da3, 0xad691e3d,
+ 0xd6779cde, 0x49ad1f40, 0x204a9918, 0xbf901a86, 0xc48e9865,
+ 0x5b541bfb, 0x174194d5, 0x889b174b, 0xf38595a8, 0x6c5f1636,
+ 0x05b8906e, 0x9a6213f0, 0xe17c9113, 0x7ea6128d, 0x79578f4f,
+ 0xe68d0cd1, 0x9d938e32, 0x02490dac, 0x6bae8bf4, 0xf474086a,
+ 0x8f6a8a89, 0x10b00917, 0x5ca58639, 0xc37f05a7, 0xb8618744,
+ 0x27bb04da, 0x4e5c8282, 0xd186011c, 0xaa9883ff, 0x35420061,
+ 0xa57bb87b, 0x3aa13be5, 0x41bfb906, 0xde653a98, 0xb782bcc0,
+ 0x28583f5e, 0x5346bdbd, 0xcc9c3e23, 0x8089b10d, 0x1f533293,
+ 0x644db070, 0xfb9733ee, 0x9270b5b6, 0x0daa3628, 0x76b4b4cb,
+ 0xe96e3755, 0xee9faa97, 0x71452909, 0x0a5babea, 0x95812874,
+ 0xfc66ae2c, 0x63bc2db2, 0x18a2af51, 0x87782ccf, 0xcb6da3e1,
+ 0x54b7207f, 0x2fa9a29c, 0xb0732102, 0xd994a75a, 0x464e24c4,
+ 0x3d50a627, 0xa28a25b9, 0xc652d052, 0x598853cc, 0x2296d12f,
+ 0xbd4c52b1, 0xd4abd4e9, 0x4b715777, 0x306fd594, 0xafb5560a,
+ 0xe3a0d924, 0x7c7a5aba, 0x0764d859, 0x98be5bc7, 0xf159dd9f,
+ 0x6e835e01, 0x159ddce2, 0x8a475f7c, 0x8db6c2be, 0x126c4120,
+ 0x6972c3c3, 0xf6a8405d, 0x9f4fc605, 0x0095459b, 0x7b8bc778,
+ 0xe45144e6, 0xa844cbc8, 0x379e4856, 0x4c80cab5, 0xd35a492b,
+ 0xbabdcf73, 0x25674ced, 0x5e79ce0e, 0xc1a34d90, 0x519af58a,
+ 0xce407614, 0xb55ef4f7, 0x2a847769, 0x4363f131, 0xdcb972af,
+ 0xa7a7f04c, 0x387d73d2, 0x7468fcfc, 0xebb27f62, 0x90acfd81,
+ 0x0f767e1f, 0x6691f847, 0xf94b7bd9, 0x8255f93a, 0x1d8f7aa4,
+ 0x1a7ee766, 0x85a464f8, 0xfebae61b, 0x61606585, 0x0887e3dd,
+ 0x975d6043, 0xec43e2a0, 0x7399613e, 0x3f8cee10, 0xa0566d8e,
+ 0xdb48ef6d, 0x44926cf3, 0x2d75eaab, 0xb2af6935, 0xc9b1ebd6,
+ 0x566b6848},
+ {0x00000000, 0x65673b46, 0xcace768c, 0xafa94dca, 0x4eedeb59,
+ 0x2b8ad01f, 0x84239dd5, 0xe144a693, 0x9ddbd6b2, 0xf8bcedf4,
+ 0x5715a03e, 0x32729b78, 0xd3363deb, 0xb65106ad, 0x19f84b67,
+ 0x7c9f7021, 0xe0c6ab25, 0x85a19063, 0x2a08dda9, 0x4f6fe6ef,
+ 0xae2b407c, 0xcb4c7b3a, 0x64e536f0, 0x01820db6, 0x7d1d7d97,
+ 0x187a46d1, 0xb7d30b1b, 0xd2b4305d, 0x33f096ce, 0x5697ad88,
+ 0xf93ee042, 0x9c59db04, 0x1afc500b, 0x7f9b6b4d, 0xd0322687,
+ 0xb5551dc1, 0x5411bb52, 0x31768014, 0x9edfcdde, 0xfbb8f698,
+ 0x872786b9, 0xe240bdff, 0x4de9f035, 0x288ecb73, 0xc9ca6de0,
+ 0xacad56a6, 0x03041b6c, 0x6663202a, 0xfa3afb2e, 0x9f5dc068,
+ 0x30f48da2, 0x5593b6e4, 0xb4d71077, 0xd1b02b31, 0x7e1966fb,
+ 0x1b7e5dbd, 0x67e12d9c, 0x028616da, 0xad2f5b10, 0xc8486056,
+ 0x290cc6c5, 0x4c6bfd83, 0xe3c2b049, 0x86a58b0f, 0x35f8a016,
+ 0x509f9b50, 0xff36d69a, 0x9a51eddc, 0x7b154b4f, 0x1e727009,
+ 0xb1db3dc3, 0xd4bc0685, 0xa82376a4, 0xcd444de2, 0x62ed0028,
+ 0x078a3b6e, 0xe6ce9dfd, 0x83a9a6bb, 0x2c00eb71, 0x4967d037,
+ 0xd53e0b33, 0xb0593075, 0x1ff07dbf, 0x7a9746f9, 0x9bd3e06a,
+ 0xfeb4db2c, 0x511d96e6, 0x347aada0, 0x48e5dd81, 0x2d82e6c7,
+ 0x822bab0d, 0xe74c904b, 0x060836d8, 0x636f0d9e, 0xccc64054,
+ 0xa9a17b12, 0x2f04f01d, 0x4a63cb5b, 0xe5ca8691, 0x80adbdd7,
+ 0x61e91b44, 0x048e2002, 0xab276dc8, 0xce40568e, 0xb2df26af,
+ 0xd7b81de9, 0x78115023, 0x1d766b65, 0xfc32cdf6, 0x9955f6b0,
+ 0x36fcbb7a, 0x539b803c, 0xcfc25b38, 0xaaa5607e, 0x050c2db4,
+ 0x606b16f2, 0x812fb061, 0xe4488b27, 0x4be1c6ed, 0x2e86fdab,
+ 0x52198d8a, 0x377eb6cc, 0x98d7fb06, 0xfdb0c040, 0x1cf466d3,
+ 0x79935d95, 0xd63a105f, 0xb35d2b19, 0x6bf1402c, 0x0e967b6a,
+ 0xa13f36a0, 0xc4580de6, 0x251cab75, 0x407b9033, 0xefd2ddf9,
+ 0x8ab5e6bf, 0xf62a969e, 0x934dadd8, 0x3ce4e012, 0x5983db54,
+ 0xb8c77dc7, 0xdda04681, 0x72090b4b, 0x176e300d, 0x8b37eb09,
+ 0xee50d04f, 0x41f99d85, 0x249ea6c3, 0xc5da0050, 0xa0bd3b16,
+ 0x0f1476dc, 0x6a734d9a, 0x16ec3dbb, 0x738b06fd, 0xdc224b37,
+ 0xb9457071, 0x5801d6e2, 0x3d66eda4, 0x92cfa06e, 0xf7a89b28,
+ 0x710d1027, 0x146a2b61, 0xbbc366ab, 0xdea45ded, 0x3fe0fb7e,
+ 0x5a87c038, 0xf52e8df2, 0x9049b6b4, 0xecd6c695, 0x89b1fdd3,
+ 0x2618b019, 0x437f8b5f, 0xa23b2dcc, 0xc75c168a, 0x68f55b40,
+ 0x0d926006, 0x91cbbb02, 0xf4ac8044, 0x5b05cd8e, 0x3e62f6c8,
+ 0xdf26505b, 0xba416b1d, 0x15e826d7, 0x708f1d91, 0x0c106db0,
+ 0x697756f6, 0xc6de1b3c, 0xa3b9207a, 0x42fd86e9, 0x279abdaf,
+ 0x8833f065, 0xed54cb23, 0x5e09e03a, 0x3b6edb7c, 0x94c796b6,
+ 0xf1a0adf0, 0x10e40b63, 0x75833025, 0xda2a7def, 0xbf4d46a9,
+ 0xc3d23688, 0xa6b50dce, 0x091c4004, 0x6c7b7b42, 0x8d3fddd1,
+ 0xe858e697, 0x47f1ab5d, 0x2296901b, 0xbecf4b1f, 0xdba87059,
+ 0x74013d93, 0x116606d5, 0xf022a046, 0x95459b00, 0x3aecd6ca,
+ 0x5f8bed8c, 0x23149dad, 0x4673a6eb, 0xe9daeb21, 0x8cbdd067,
+ 0x6df976f4, 0x089e4db2, 0xa7370078, 0xc2503b3e, 0x44f5b031,
+ 0x21928b77, 0x8e3bc6bd, 0xeb5cfdfb, 0x0a185b68, 0x6f7f602e,
+ 0xc0d62de4, 0xa5b116a2, 0xd92e6683, 0xbc495dc5, 0x13e0100f,
+ 0x76872b49, 0x97c38dda, 0xf2a4b69c, 0x5d0dfb56, 0x386ac010,
+ 0xa4331b14, 0xc1542052, 0x6efd6d98, 0x0b9a56de, 0xeadef04d,
+ 0x8fb9cb0b, 0x201086c1, 0x4577bd87, 0x39e8cda6, 0x5c8ff6e0,
+ 0xf326bb2a, 0x9641806c, 0x770526ff, 0x12621db9, 0xbdcb5073,
+ 0xd8ac6b35},
+ {0x00000000, 0xd7e28058, 0x74b406f1, 0xa35686a9, 0xe9680de2,
+ 0x3e8a8dba, 0x9ddc0b13, 0x4a3e8b4b, 0x09a11d85, 0xde439ddd,
+ 0x7d151b74, 0xaaf79b2c, 0xe0c91067, 0x372b903f, 0x947d1696,
+ 0x439f96ce, 0x13423b0a, 0xc4a0bb52, 0x67f63dfb, 0xb014bda3,
+ 0xfa2a36e8, 0x2dc8b6b0, 0x8e9e3019, 0x597cb041, 0x1ae3268f,
+ 0xcd01a6d7, 0x6e57207e, 0xb9b5a026, 0xf38b2b6d, 0x2469ab35,
+ 0x873f2d9c, 0x50ddadc4, 0x26847614, 0xf166f64c, 0x523070e5,
+ 0x85d2f0bd, 0xcfec7bf6, 0x180efbae, 0xbb587d07, 0x6cbafd5f,
+ 0x2f256b91, 0xf8c7ebc9, 0x5b916d60, 0x8c73ed38, 0xc64d6673,
+ 0x11afe62b, 0xb2f96082, 0x651be0da, 0x35c64d1e, 0xe224cd46,
+ 0x41724bef, 0x9690cbb7, 0xdcae40fc, 0x0b4cc0a4, 0xa81a460d,
+ 0x7ff8c655, 0x3c67509b, 0xeb85d0c3, 0x48d3566a, 0x9f31d632,
+ 0xd50f5d79, 0x02eddd21, 0xa1bb5b88, 0x7659dbd0, 0x4d08ec28,
+ 0x9aea6c70, 0x39bcead9, 0xee5e6a81, 0xa460e1ca, 0x73826192,
+ 0xd0d4e73b, 0x07366763, 0x44a9f1ad, 0x934b71f5, 0x301df75c,
+ 0xe7ff7704, 0xadc1fc4f, 0x7a237c17, 0xd975fabe, 0x0e977ae6,
+ 0x5e4ad722, 0x89a8577a, 0x2afed1d3, 0xfd1c518b, 0xb722dac0,
+ 0x60c05a98, 0xc396dc31, 0x14745c69, 0x57ebcaa7, 0x80094aff,
+ 0x235fcc56, 0xf4bd4c0e, 0xbe83c745, 0x6961471d, 0xca37c1b4,
+ 0x1dd541ec, 0x6b8c9a3c, 0xbc6e1a64, 0x1f389ccd, 0xc8da1c95,
+ 0x82e497de, 0x55061786, 0xf650912f, 0x21b21177, 0x622d87b9,
+ 0xb5cf07e1, 0x16998148, 0xc17b0110, 0x8b458a5b, 0x5ca70a03,
+ 0xfff18caa, 0x28130cf2, 0x78cea136, 0xaf2c216e, 0x0c7aa7c7,
+ 0xdb98279f, 0x91a6acd4, 0x46442c8c, 0xe512aa25, 0x32f02a7d,
+ 0x716fbcb3, 0xa68d3ceb, 0x05dbba42, 0xd2393a1a, 0x9807b151,
+ 0x4fe53109, 0xecb3b7a0, 0x3b5137f8, 0x9a11d850, 0x4df35808,
+ 0xeea5dea1, 0x39475ef9, 0x7379d5b2, 0xa49b55ea, 0x07cdd343,
+ 0xd02f531b, 0x93b0c5d5, 0x4452458d, 0xe704c324, 0x30e6437c,
+ 0x7ad8c837, 0xad3a486f, 0x0e6ccec6, 0xd98e4e9e, 0x8953e35a,
+ 0x5eb16302, 0xfde7e5ab, 0x2a0565f3, 0x603beeb8, 0xb7d96ee0,
+ 0x148fe849, 0xc36d6811, 0x80f2fedf, 0x57107e87, 0xf446f82e,
+ 0x23a47876, 0x699af33d, 0xbe787365, 0x1d2ef5cc, 0xcacc7594,
+ 0xbc95ae44, 0x6b772e1c, 0xc821a8b5, 0x1fc328ed, 0x55fda3a6,
+ 0x821f23fe, 0x2149a557, 0xf6ab250f, 0xb534b3c1, 0x62d63399,
+ 0xc180b530, 0x16623568, 0x5c5cbe23, 0x8bbe3e7b, 0x28e8b8d2,
+ 0xff0a388a, 0xafd7954e, 0x78351516, 0xdb6393bf, 0x0c8113e7,
+ 0x46bf98ac, 0x915d18f4, 0x320b9e5d, 0xe5e91e05, 0xa67688cb,
+ 0x71940893, 0xd2c28e3a, 0x05200e62, 0x4f1e8529, 0x98fc0571,
+ 0x3baa83d8, 0xec480380, 0xd7193478, 0x00fbb420, 0xa3ad3289,
+ 0x744fb2d1, 0x3e71399a, 0xe993b9c2, 0x4ac53f6b, 0x9d27bf33,
+ 0xdeb829fd, 0x095aa9a5, 0xaa0c2f0c, 0x7deeaf54, 0x37d0241f,
+ 0xe032a447, 0x436422ee, 0x9486a2b6, 0xc45b0f72, 0x13b98f2a,
+ 0xb0ef0983, 0x670d89db, 0x2d330290, 0xfad182c8, 0x59870461,
+ 0x8e658439, 0xcdfa12f7, 0x1a1892af, 0xb94e1406, 0x6eac945e,
+ 0x24921f15, 0xf3709f4d, 0x502619e4, 0x87c499bc, 0xf19d426c,
+ 0x267fc234, 0x8529449d, 0x52cbc4c5, 0x18f54f8e, 0xcf17cfd6,
+ 0x6c41497f, 0xbba3c927, 0xf83c5fe9, 0x2fdedfb1, 0x8c885918,
+ 0x5b6ad940, 0x1154520b, 0xc6b6d253, 0x65e054fa, 0xb202d4a2,
+ 0xe2df7966, 0x353df93e, 0x966b7f97, 0x4189ffcf, 0x0bb77484,
+ 0xdc55f4dc, 0x7f037275, 0xa8e1f22d, 0xeb7e64e3, 0x3c9ce4bb,
+ 0x9fca6212, 0x4828e24a, 0x02166901, 0xd5f4e959, 0x76a26ff0,
+ 0xa140efa8},
+ {0x00000000, 0xef52b6e1, 0x05d46b83, 0xea86dd62, 0x0ba8d706,
+ 0xe4fa61e7, 0x0e7cbc85, 0xe12e0a64, 0x1751ae0c, 0xf80318ed,
+ 0x1285c58f, 0xfdd7736e, 0x1cf9790a, 0xf3abcfeb, 0x192d1289,
+ 0xf67fa468, 0x2ea35c18, 0xc1f1eaf9, 0x2b77379b, 0xc425817a,
+ 0x250b8b1e, 0xca593dff, 0x20dfe09d, 0xcf8d567c, 0x39f2f214,
+ 0xd6a044f5, 0x3c269997, 0xd3742f76, 0x325a2512, 0xdd0893f3,
+ 0x378e4e91, 0xd8dcf870, 0x5d46b830, 0xb2140ed1, 0x5892d3b3,
+ 0xb7c06552, 0x56ee6f36, 0xb9bcd9d7, 0x533a04b5, 0xbc68b254,
+ 0x4a17163c, 0xa545a0dd, 0x4fc37dbf, 0xa091cb5e, 0x41bfc13a,
+ 0xaeed77db, 0x446baab9, 0xab391c58, 0x73e5e428, 0x9cb752c9,
+ 0x76318fab, 0x9963394a, 0x784d332e, 0x971f85cf, 0x7d9958ad,
+ 0x92cbee4c, 0x64b44a24, 0x8be6fcc5, 0x616021a7, 0x8e329746,
+ 0x6f1c9d22, 0x804e2bc3, 0x6ac8f6a1, 0x859a4040, 0xba8d7060,
+ 0x55dfc681, 0xbf591be3, 0x500bad02, 0xb125a766, 0x5e771187,
+ 0xb4f1cce5, 0x5ba37a04, 0xaddcde6c, 0x428e688d, 0xa808b5ef,
+ 0x475a030e, 0xa674096a, 0x4926bf8b, 0xa3a062e9, 0x4cf2d408,
+ 0x942e2c78, 0x7b7c9a99, 0x91fa47fb, 0x7ea8f11a, 0x9f86fb7e,
+ 0x70d44d9f, 0x9a5290fd, 0x7500261c, 0x837f8274, 0x6c2d3495,
+ 0x86abe9f7, 0x69f95f16, 0x88d75572, 0x6785e393, 0x8d033ef1,
+ 0x62518810, 0xe7cbc850, 0x08997eb1, 0xe21fa3d3, 0x0d4d1532,
+ 0xec631f56, 0x0331a9b7, 0xe9b774d5, 0x06e5c234, 0xf09a665c,
+ 0x1fc8d0bd, 0xf54e0ddf, 0x1a1cbb3e, 0xfb32b15a, 0x146007bb,
+ 0xfee6dad9, 0x11b46c38, 0xc9689448, 0x263a22a9, 0xccbcffcb,
+ 0x23ee492a, 0xc2c0434e, 0x2d92f5af, 0xc71428cd, 0x28469e2c,
+ 0xde393a44, 0x316b8ca5, 0xdbed51c7, 0x34bfe726, 0xd591ed42,
+ 0x3ac35ba3, 0xd04586c1, 0x3f173020, 0xae6be681, 0x41395060,
+ 0xabbf8d02, 0x44ed3be3, 0xa5c33187, 0x4a918766, 0xa0175a04,
+ 0x4f45ece5, 0xb93a488d, 0x5668fe6c, 0xbcee230e, 0x53bc95ef,
+ 0xb2929f8b, 0x5dc0296a, 0xb746f408, 0x581442e9, 0x80c8ba99,
+ 0x6f9a0c78, 0x851cd11a, 0x6a4e67fb, 0x8b606d9f, 0x6432db7e,
+ 0x8eb4061c, 0x61e6b0fd, 0x97991495, 0x78cba274, 0x924d7f16,
+ 0x7d1fc9f7, 0x9c31c393, 0x73637572, 0x99e5a810, 0x76b71ef1,
+ 0xf32d5eb1, 0x1c7fe850, 0xf6f93532, 0x19ab83d3, 0xf88589b7,
+ 0x17d73f56, 0xfd51e234, 0x120354d5, 0xe47cf0bd, 0x0b2e465c,
+ 0xe1a89b3e, 0x0efa2ddf, 0xefd427bb, 0x0086915a, 0xea004c38,
+ 0x0552fad9, 0xdd8e02a9, 0x32dcb448, 0xd85a692a, 0x3708dfcb,
+ 0xd626d5af, 0x3974634e, 0xd3f2be2c, 0x3ca008cd, 0xcadfaca5,
+ 0x258d1a44, 0xcf0bc726, 0x205971c7, 0xc1777ba3, 0x2e25cd42,
+ 0xc4a31020, 0x2bf1a6c1, 0x14e696e1, 0xfbb42000, 0x1132fd62,
+ 0xfe604b83, 0x1f4e41e7, 0xf01cf706, 0x1a9a2a64, 0xf5c89c85,
+ 0x03b738ed, 0xece58e0c, 0x0663536e, 0xe931e58f, 0x081fefeb,
+ 0xe74d590a, 0x0dcb8468, 0xe2993289, 0x3a45caf9, 0xd5177c18,
+ 0x3f91a17a, 0xd0c3179b, 0x31ed1dff, 0xdebfab1e, 0x3439767c,
+ 0xdb6bc09d, 0x2d1464f5, 0xc246d214, 0x28c00f76, 0xc792b997,
+ 0x26bcb3f3, 0xc9ee0512, 0x2368d870, 0xcc3a6e91, 0x49a02ed1,
+ 0xa6f29830, 0x4c744552, 0xa326f3b3, 0x4208f9d7, 0xad5a4f36,
+ 0x47dc9254, 0xa88e24b5, 0x5ef180dd, 0xb1a3363c, 0x5b25eb5e,
+ 0xb4775dbf, 0x555957db, 0xba0be13a, 0x508d3c58, 0xbfdf8ab9,
+ 0x670372c9, 0x8851c428, 0x62d7194a, 0x8d85afab, 0x6caba5cf,
+ 0x83f9132e, 0x697fce4c, 0x862d78ad, 0x7052dcc5, 0x9f006a24,
+ 0x7586b746, 0x9ad401a7, 0x7bfa0bc3, 0x94a8bd22, 0x7e2e6040,
+ 0x917cd6a1},
+ {0x00000000, 0x87a6cb43, 0xd43c90c7, 0x539a5b84, 0x730827cf,
+ 0xf4aeec8c, 0xa734b708, 0x20927c4b, 0xe6104f9e, 0x61b684dd,
+ 0x322cdf59, 0xb58a141a, 0x95186851, 0x12bea312, 0x4124f896,
+ 0xc68233d5, 0x1751997d, 0x90f7523e, 0xc36d09ba, 0x44cbc2f9,
+ 0x6459beb2, 0xe3ff75f1, 0xb0652e75, 0x37c3e536, 0xf141d6e3,
+ 0x76e71da0, 0x257d4624, 0xa2db8d67, 0x8249f12c, 0x05ef3a6f,
+ 0x567561eb, 0xd1d3aaa8, 0x2ea332fa, 0xa905f9b9, 0xfa9fa23d,
+ 0x7d39697e, 0x5dab1535, 0xda0dde76, 0x899785f2, 0x0e314eb1,
+ 0xc8b37d64, 0x4f15b627, 0x1c8feda3, 0x9b2926e0, 0xbbbb5aab,
+ 0x3c1d91e8, 0x6f87ca6c, 0xe821012f, 0x39f2ab87, 0xbe5460c4,
+ 0xedce3b40, 0x6a68f003, 0x4afa8c48, 0xcd5c470b, 0x9ec61c8f,
+ 0x1960d7cc, 0xdfe2e419, 0x58442f5a, 0x0bde74de, 0x8c78bf9d,
+ 0xaceac3d6, 0x2b4c0895, 0x78d65311, 0xff709852, 0x5d4665f4,
+ 0xdae0aeb7, 0x897af533, 0x0edc3e70, 0x2e4e423b, 0xa9e88978,
+ 0xfa72d2fc, 0x7dd419bf, 0xbb562a6a, 0x3cf0e129, 0x6f6abaad,
+ 0xe8cc71ee, 0xc85e0da5, 0x4ff8c6e6, 0x1c629d62, 0x9bc45621,
+ 0x4a17fc89, 0xcdb137ca, 0x9e2b6c4e, 0x198da70d, 0x391fdb46,
+ 0xbeb91005, 0xed234b81, 0x6a8580c2, 0xac07b317, 0x2ba17854,
+ 0x783b23d0, 0xff9de893, 0xdf0f94d8, 0x58a95f9b, 0x0b33041f,
+ 0x8c95cf5c, 0x73e5570e, 0xf4439c4d, 0xa7d9c7c9, 0x207f0c8a,
+ 0x00ed70c1, 0x874bbb82, 0xd4d1e006, 0x53772b45, 0x95f51890,
+ 0x1253d3d3, 0x41c98857, 0xc66f4314, 0xe6fd3f5f, 0x615bf41c,
+ 0x32c1af98, 0xb56764db, 0x64b4ce73, 0xe3120530, 0xb0885eb4,
+ 0x372e95f7, 0x17bce9bc, 0x901a22ff, 0xc380797b, 0x4426b238,
+ 0x82a481ed, 0x05024aae, 0x5698112a, 0xd13eda69, 0xf1aca622,
+ 0x760a6d61, 0x259036e5, 0xa236fda6, 0xba8ccbe8, 0x3d2a00ab,
+ 0x6eb05b2f, 0xe916906c, 0xc984ec27, 0x4e222764, 0x1db87ce0,
+ 0x9a1eb7a3, 0x5c9c8476, 0xdb3a4f35, 0x88a014b1, 0x0f06dff2,
+ 0x2f94a3b9, 0xa83268fa, 0xfba8337e, 0x7c0ef83d, 0xaddd5295,
+ 0x2a7b99d6, 0x79e1c252, 0xfe470911, 0xded5755a, 0x5973be19,
+ 0x0ae9e59d, 0x8d4f2ede, 0x4bcd1d0b, 0xcc6bd648, 0x9ff18dcc,
+ 0x1857468f, 0x38c53ac4, 0xbf63f187, 0xecf9aa03, 0x6b5f6140,
+ 0x942ff912, 0x13893251, 0x401369d5, 0xc7b5a296, 0xe727dedd,
+ 0x6081159e, 0x331b4e1a, 0xb4bd8559, 0x723fb68c, 0xf5997dcf,
+ 0xa603264b, 0x21a5ed08, 0x01379143, 0x86915a00, 0xd50b0184,
+ 0x52adcac7, 0x837e606f, 0x04d8ab2c, 0x5742f0a8, 0xd0e43beb,
+ 0xf07647a0, 0x77d08ce3, 0x244ad767, 0xa3ec1c24, 0x656e2ff1,
+ 0xe2c8e4b2, 0xb152bf36, 0x36f47475, 0x1666083e, 0x91c0c37d,
+ 0xc25a98f9, 0x45fc53ba, 0xe7caae1c, 0x606c655f, 0x33f63edb,
+ 0xb450f598, 0x94c289d3, 0x13644290, 0x40fe1914, 0xc758d257,
+ 0x01dae182, 0x867c2ac1, 0xd5e67145, 0x5240ba06, 0x72d2c64d,
+ 0xf5740d0e, 0xa6ee568a, 0x21489dc9, 0xf09b3761, 0x773dfc22,
+ 0x24a7a7a6, 0xa3016ce5, 0x839310ae, 0x0435dbed, 0x57af8069,
+ 0xd0094b2a, 0x168b78ff, 0x912db3bc, 0xc2b7e838, 0x4511237b,
+ 0x65835f30, 0xe2259473, 0xb1bfcff7, 0x361904b4, 0xc9699ce6,
+ 0x4ecf57a5, 0x1d550c21, 0x9af3c762, 0xba61bb29, 0x3dc7706a,
+ 0x6e5d2bee, 0xe9fbe0ad, 0x2f79d378, 0xa8df183b, 0xfb4543bf,
+ 0x7ce388fc, 0x5c71f4b7, 0xdbd73ff4, 0x884d6470, 0x0febaf33,
+ 0xde38059b, 0x599eced8, 0x0a04955c, 0x8da25e1f, 0xad302254,
+ 0x2a96e917, 0x790cb293, 0xfeaa79d0, 0x38284a05, 0xbf8e8146,
+ 0xec14dac2, 0x6bb21181, 0x4b206dca, 0xcc86a689, 0x9f1cfd0d,
+ 0x18ba364e}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x0000000000000000, 0x43cba68700000000, 0xc7903cd400000000,
+ 0x845b9a5300000000, 0xcf27087300000000, 0x8cecaef400000000,
+ 0x08b734a700000000, 0x4b7c922000000000, 0x9e4f10e600000000,
+ 0xdd84b66100000000, 0x59df2c3200000000, 0x1a148ab500000000,
+ 0x5168189500000000, 0x12a3be1200000000, 0x96f8244100000000,
+ 0xd53382c600000000, 0x7d99511700000000, 0x3e52f79000000000,
+ 0xba096dc300000000, 0xf9c2cb4400000000, 0xb2be596400000000,
+ 0xf175ffe300000000, 0x752e65b000000000, 0x36e5c33700000000,
+ 0xe3d641f100000000, 0xa01de77600000000, 0x24467d2500000000,
+ 0x678ddba200000000, 0x2cf1498200000000, 0x6f3aef0500000000,
+ 0xeb61755600000000, 0xa8aad3d100000000, 0xfa32a32e00000000,
+ 0xb9f905a900000000, 0x3da29ffa00000000, 0x7e69397d00000000,
+ 0x3515ab5d00000000, 0x76de0dda00000000, 0xf285978900000000,
+ 0xb14e310e00000000, 0x647db3c800000000, 0x27b6154f00000000,
+ 0xa3ed8f1c00000000, 0xe026299b00000000, 0xab5abbbb00000000,
+ 0xe8911d3c00000000, 0x6cca876f00000000, 0x2f0121e800000000,
+ 0x87abf23900000000, 0xc46054be00000000, 0x403bceed00000000,
+ 0x03f0686a00000000, 0x488cfa4a00000000, 0x0b475ccd00000000,
+ 0x8f1cc69e00000000, 0xccd7601900000000, 0x19e4e2df00000000,
+ 0x5a2f445800000000, 0xde74de0b00000000, 0x9dbf788c00000000,
+ 0xd6c3eaac00000000, 0x95084c2b00000000, 0x1153d67800000000,
+ 0x529870ff00000000, 0xf465465d00000000, 0xb7aee0da00000000,
+ 0x33f57a8900000000, 0x703edc0e00000000, 0x3b424e2e00000000,
+ 0x7889e8a900000000, 0xfcd272fa00000000, 0xbf19d47d00000000,
+ 0x6a2a56bb00000000, 0x29e1f03c00000000, 0xadba6a6f00000000,
+ 0xee71cce800000000, 0xa50d5ec800000000, 0xe6c6f84f00000000,
+ 0x629d621c00000000, 0x2156c49b00000000, 0x89fc174a00000000,
+ 0xca37b1cd00000000, 0x4e6c2b9e00000000, 0x0da78d1900000000,
+ 0x46db1f3900000000, 0x0510b9be00000000, 0x814b23ed00000000,
+ 0xc280856a00000000, 0x17b307ac00000000, 0x5478a12b00000000,
+ 0xd0233b7800000000, 0x93e89dff00000000, 0xd8940fdf00000000,
+ 0x9b5fa95800000000, 0x1f04330b00000000, 0x5ccf958c00000000,
+ 0x0e57e57300000000, 0x4d9c43f400000000, 0xc9c7d9a700000000,
+ 0x8a0c7f2000000000, 0xc170ed0000000000, 0x82bb4b8700000000,
+ 0x06e0d1d400000000, 0x452b775300000000, 0x9018f59500000000,
+ 0xd3d3531200000000, 0x5788c94100000000, 0x14436fc600000000,
+ 0x5f3ffde600000000, 0x1cf45b6100000000, 0x98afc13200000000,
+ 0xdb6467b500000000, 0x73ceb46400000000, 0x300512e300000000,
+ 0xb45e88b000000000, 0xf7952e3700000000, 0xbce9bc1700000000,
+ 0xff221a9000000000, 0x7b7980c300000000, 0x38b2264400000000,
+ 0xed81a48200000000, 0xae4a020500000000, 0x2a11985600000000,
+ 0x69da3ed100000000, 0x22a6acf100000000, 0x616d0a7600000000,
+ 0xe536902500000000, 0xa6fd36a200000000, 0xe8cb8cba00000000,
+ 0xab002a3d00000000, 0x2f5bb06e00000000, 0x6c9016e900000000,
+ 0x27ec84c900000000, 0x6427224e00000000, 0xe07cb81d00000000,
+ 0xa3b71e9a00000000, 0x76849c5c00000000, 0x354f3adb00000000,
+ 0xb114a08800000000, 0xf2df060f00000000, 0xb9a3942f00000000,
+ 0xfa6832a800000000, 0x7e33a8fb00000000, 0x3df80e7c00000000,
+ 0x9552ddad00000000, 0xd6997b2a00000000, 0x52c2e17900000000,
+ 0x110947fe00000000, 0x5a75d5de00000000, 0x19be735900000000,
+ 0x9de5e90a00000000, 0xde2e4f8d00000000, 0x0b1dcd4b00000000,
+ 0x48d66bcc00000000, 0xcc8df19f00000000, 0x8f46571800000000,
+ 0xc43ac53800000000, 0x87f163bf00000000, 0x03aaf9ec00000000,
+ 0x40615f6b00000000, 0x12f92f9400000000, 0x5132891300000000,
+ 0xd569134000000000, 0x96a2b5c700000000, 0xddde27e700000000,
+ 0x9e15816000000000, 0x1a4e1b3300000000, 0x5985bdb400000000,
+ 0x8cb63f7200000000, 0xcf7d99f500000000, 0x4b2603a600000000,
+ 0x08eda52100000000, 0x4391370100000000, 0x005a918600000000,
+ 0x84010bd500000000, 0xc7caad5200000000, 0x6f607e8300000000,
+ 0x2cabd80400000000, 0xa8f0425700000000, 0xeb3be4d000000000,
+ 0xa04776f000000000, 0xe38cd07700000000, 0x67d74a2400000000,
+ 0x241ceca300000000, 0xf12f6e6500000000, 0xb2e4c8e200000000,
+ 0x36bf52b100000000, 0x7574f43600000000, 0x3e08661600000000,
+ 0x7dc3c09100000000, 0xf9985ac200000000, 0xba53fc4500000000,
+ 0x1caecae700000000, 0x5f656c6000000000, 0xdb3ef63300000000,
+ 0x98f550b400000000, 0xd389c29400000000, 0x9042641300000000,
+ 0x1419fe4000000000, 0x57d258c700000000, 0x82e1da0100000000,
+ 0xc12a7c8600000000, 0x4571e6d500000000, 0x06ba405200000000,
+ 0x4dc6d27200000000, 0x0e0d74f500000000, 0x8a56eea600000000,
+ 0xc99d482100000000, 0x61379bf000000000, 0x22fc3d7700000000,
+ 0xa6a7a72400000000, 0xe56c01a300000000, 0xae10938300000000,
+ 0xeddb350400000000, 0x6980af5700000000, 0x2a4b09d000000000,
+ 0xff788b1600000000, 0xbcb32d9100000000, 0x38e8b7c200000000,
+ 0x7b23114500000000, 0x305f836500000000, 0x739425e200000000,
+ 0xf7cfbfb100000000, 0xb404193600000000, 0xe69c69c900000000,
+ 0xa557cf4e00000000, 0x210c551d00000000, 0x62c7f39a00000000,
+ 0x29bb61ba00000000, 0x6a70c73d00000000, 0xee2b5d6e00000000,
+ 0xade0fbe900000000, 0x78d3792f00000000, 0x3b18dfa800000000,
+ 0xbf4345fb00000000, 0xfc88e37c00000000, 0xb7f4715c00000000,
+ 0xf43fd7db00000000, 0x70644d8800000000, 0x33afeb0f00000000,
+ 0x9b0538de00000000, 0xd8ce9e5900000000, 0x5c95040a00000000,
+ 0x1f5ea28d00000000, 0x542230ad00000000, 0x17e9962a00000000,
+ 0x93b20c7900000000, 0xd079aafe00000000, 0x054a283800000000,
+ 0x46818ebf00000000, 0xc2da14ec00000000, 0x8111b26b00000000,
+ 0xca6d204b00000000, 0x89a686cc00000000, 0x0dfd1c9f00000000,
+ 0x4e36ba1800000000},
+ {0x0000000000000000, 0xe1b652ef00000000, 0x836bd40500000000,
+ 0x62dd86ea00000000, 0x06d7a80b00000000, 0xe761fae400000000,
+ 0x85bc7c0e00000000, 0x640a2ee100000000, 0x0cae511700000000,
+ 0xed1803f800000000, 0x8fc5851200000000, 0x6e73d7fd00000000,
+ 0x0a79f91c00000000, 0xebcfabf300000000, 0x89122d1900000000,
+ 0x68a47ff600000000, 0x185ca32e00000000, 0xf9eaf1c100000000,
+ 0x9b37772b00000000, 0x7a8125c400000000, 0x1e8b0b2500000000,
+ 0xff3d59ca00000000, 0x9de0df2000000000, 0x7c568dcf00000000,
+ 0x14f2f23900000000, 0xf544a0d600000000, 0x9799263c00000000,
+ 0x762f74d300000000, 0x12255a3200000000, 0xf39308dd00000000,
+ 0x914e8e3700000000, 0x70f8dcd800000000, 0x30b8465d00000000,
+ 0xd10e14b200000000, 0xb3d3925800000000, 0x5265c0b700000000,
+ 0x366fee5600000000, 0xd7d9bcb900000000, 0xb5043a5300000000,
+ 0x54b268bc00000000, 0x3c16174a00000000, 0xdda045a500000000,
+ 0xbf7dc34f00000000, 0x5ecb91a000000000, 0x3ac1bf4100000000,
+ 0xdb77edae00000000, 0xb9aa6b4400000000, 0x581c39ab00000000,
+ 0x28e4e57300000000, 0xc952b79c00000000, 0xab8f317600000000,
+ 0x4a39639900000000, 0x2e334d7800000000, 0xcf851f9700000000,
+ 0xad58997d00000000, 0x4ceecb9200000000, 0x244ab46400000000,
+ 0xc5fce68b00000000, 0xa721606100000000, 0x4697328e00000000,
+ 0x229d1c6f00000000, 0xc32b4e8000000000, 0xa1f6c86a00000000,
+ 0x40409a8500000000, 0x60708dba00000000, 0x81c6df5500000000,
+ 0xe31b59bf00000000, 0x02ad0b5000000000, 0x66a725b100000000,
+ 0x8711775e00000000, 0xe5ccf1b400000000, 0x047aa35b00000000,
+ 0x6cdedcad00000000, 0x8d688e4200000000, 0xefb508a800000000,
+ 0x0e035a4700000000, 0x6a0974a600000000, 0x8bbf264900000000,
+ 0xe962a0a300000000, 0x08d4f24c00000000, 0x782c2e9400000000,
+ 0x999a7c7b00000000, 0xfb47fa9100000000, 0x1af1a87e00000000,
+ 0x7efb869f00000000, 0x9f4dd47000000000, 0xfd90529a00000000,
+ 0x1c26007500000000, 0x74827f8300000000, 0x95342d6c00000000,
+ 0xf7e9ab8600000000, 0x165ff96900000000, 0x7255d78800000000,
+ 0x93e3856700000000, 0xf13e038d00000000, 0x1088516200000000,
+ 0x50c8cbe700000000, 0xb17e990800000000, 0xd3a31fe200000000,
+ 0x32154d0d00000000, 0x561f63ec00000000, 0xb7a9310300000000,
+ 0xd574b7e900000000, 0x34c2e50600000000, 0x5c669af000000000,
+ 0xbdd0c81f00000000, 0xdf0d4ef500000000, 0x3ebb1c1a00000000,
+ 0x5ab132fb00000000, 0xbb07601400000000, 0xd9dae6fe00000000,
+ 0x386cb41100000000, 0x489468c900000000, 0xa9223a2600000000,
+ 0xcbffbccc00000000, 0x2a49ee2300000000, 0x4e43c0c200000000,
+ 0xaff5922d00000000, 0xcd2814c700000000, 0x2c9e462800000000,
+ 0x443a39de00000000, 0xa58c6b3100000000, 0xc751eddb00000000,
+ 0x26e7bf3400000000, 0x42ed91d500000000, 0xa35bc33a00000000,
+ 0xc18645d000000000, 0x2030173f00000000, 0x81e66bae00000000,
+ 0x6050394100000000, 0x028dbfab00000000, 0xe33bed4400000000,
+ 0x8731c3a500000000, 0x6687914a00000000, 0x045a17a000000000,
+ 0xe5ec454f00000000, 0x8d483ab900000000, 0x6cfe685600000000,
+ 0x0e23eebc00000000, 0xef95bc5300000000, 0x8b9f92b200000000,
+ 0x6a29c05d00000000, 0x08f446b700000000, 0xe942145800000000,
+ 0x99bac88000000000, 0x780c9a6f00000000, 0x1ad11c8500000000,
+ 0xfb674e6a00000000, 0x9f6d608b00000000, 0x7edb326400000000,
+ 0x1c06b48e00000000, 0xfdb0e66100000000, 0x9514999700000000,
+ 0x74a2cb7800000000, 0x167f4d9200000000, 0xf7c91f7d00000000,
+ 0x93c3319c00000000, 0x7275637300000000, 0x10a8e59900000000,
+ 0xf11eb77600000000, 0xb15e2df300000000, 0x50e87f1c00000000,
+ 0x3235f9f600000000, 0xd383ab1900000000, 0xb78985f800000000,
+ 0x563fd71700000000, 0x34e251fd00000000, 0xd554031200000000,
+ 0xbdf07ce400000000, 0x5c462e0b00000000, 0x3e9ba8e100000000,
+ 0xdf2dfa0e00000000, 0xbb27d4ef00000000, 0x5a91860000000000,
+ 0x384c00ea00000000, 0xd9fa520500000000, 0xa9028edd00000000,
+ 0x48b4dc3200000000, 0x2a695ad800000000, 0xcbdf083700000000,
+ 0xafd526d600000000, 0x4e63743900000000, 0x2cbef2d300000000,
+ 0xcd08a03c00000000, 0xa5acdfca00000000, 0x441a8d2500000000,
+ 0x26c70bcf00000000, 0xc771592000000000, 0xa37b77c100000000,
+ 0x42cd252e00000000, 0x2010a3c400000000, 0xc1a6f12b00000000,
+ 0xe196e61400000000, 0x0020b4fb00000000, 0x62fd321100000000,
+ 0x834b60fe00000000, 0xe7414e1f00000000, 0x06f71cf000000000,
+ 0x642a9a1a00000000, 0x859cc8f500000000, 0xed38b70300000000,
+ 0x0c8ee5ec00000000, 0x6e53630600000000, 0x8fe531e900000000,
+ 0xebef1f0800000000, 0x0a594de700000000, 0x6884cb0d00000000,
+ 0x893299e200000000, 0xf9ca453a00000000, 0x187c17d500000000,
+ 0x7aa1913f00000000, 0x9b17c3d000000000, 0xff1ded3100000000,
+ 0x1eabbfde00000000, 0x7c76393400000000, 0x9dc06bdb00000000,
+ 0xf564142d00000000, 0x14d246c200000000, 0x760fc02800000000,
+ 0x97b992c700000000, 0xf3b3bc2600000000, 0x1205eec900000000,
+ 0x70d8682300000000, 0x916e3acc00000000, 0xd12ea04900000000,
+ 0x3098f2a600000000, 0x5245744c00000000, 0xb3f326a300000000,
+ 0xd7f9084200000000, 0x364f5aad00000000, 0x5492dc4700000000,
+ 0xb5248ea800000000, 0xdd80f15e00000000, 0x3c36a3b100000000,
+ 0x5eeb255b00000000, 0xbf5d77b400000000, 0xdb57595500000000,
+ 0x3ae10bba00000000, 0x583c8d5000000000, 0xb98adfbf00000000,
+ 0xc972036700000000, 0x28c4518800000000, 0x4a19d76200000000,
+ 0xabaf858d00000000, 0xcfa5ab6c00000000, 0x2e13f98300000000,
+ 0x4cce7f6900000000, 0xad782d8600000000, 0xc5dc527000000000,
+ 0x246a009f00000000, 0x46b7867500000000, 0xa701d49a00000000,
+ 0xc30bfa7b00000000, 0x22bda89400000000, 0x40602e7e00000000,
+ 0xa1d67c9100000000},
+ {0x0000000000000000, 0x5880e2d700000000, 0xf106b47400000000,
+ 0xa98656a300000000, 0xe20d68e900000000, 0xba8d8a3e00000000,
+ 0x130bdc9d00000000, 0x4b8b3e4a00000000, 0x851da10900000000,
+ 0xdd9d43de00000000, 0x741b157d00000000, 0x2c9bf7aa00000000,
+ 0x6710c9e000000000, 0x3f902b3700000000, 0x96167d9400000000,
+ 0xce969f4300000000, 0x0a3b421300000000, 0x52bba0c400000000,
+ 0xfb3df66700000000, 0xa3bd14b000000000, 0xe8362afa00000000,
+ 0xb0b6c82d00000000, 0x19309e8e00000000, 0x41b07c5900000000,
+ 0x8f26e31a00000000, 0xd7a601cd00000000, 0x7e20576e00000000,
+ 0x26a0b5b900000000, 0x6d2b8bf300000000, 0x35ab692400000000,
+ 0x9c2d3f8700000000, 0xc4addd5000000000, 0x1476842600000000,
+ 0x4cf666f100000000, 0xe570305200000000, 0xbdf0d28500000000,
+ 0xf67beccf00000000, 0xaefb0e1800000000, 0x077d58bb00000000,
+ 0x5ffdba6c00000000, 0x916b252f00000000, 0xc9ebc7f800000000,
+ 0x606d915b00000000, 0x38ed738c00000000, 0x73664dc600000000,
+ 0x2be6af1100000000, 0x8260f9b200000000, 0xdae01b6500000000,
+ 0x1e4dc63500000000, 0x46cd24e200000000, 0xef4b724100000000,
+ 0xb7cb909600000000, 0xfc40aedc00000000, 0xa4c04c0b00000000,
+ 0x0d461aa800000000, 0x55c6f87f00000000, 0x9b50673c00000000,
+ 0xc3d085eb00000000, 0x6a56d34800000000, 0x32d6319f00000000,
+ 0x795d0fd500000000, 0x21dded0200000000, 0x885bbba100000000,
+ 0xd0db597600000000, 0x28ec084d00000000, 0x706cea9a00000000,
+ 0xd9eabc3900000000, 0x816a5eee00000000, 0xcae160a400000000,
+ 0x9261827300000000, 0x3be7d4d000000000, 0x6367360700000000,
+ 0xadf1a94400000000, 0xf5714b9300000000, 0x5cf71d3000000000,
+ 0x0477ffe700000000, 0x4ffcc1ad00000000, 0x177c237a00000000,
+ 0xbefa75d900000000, 0xe67a970e00000000, 0x22d74a5e00000000,
+ 0x7a57a88900000000, 0xd3d1fe2a00000000, 0x8b511cfd00000000,
+ 0xc0da22b700000000, 0x985ac06000000000, 0x31dc96c300000000,
+ 0x695c741400000000, 0xa7caeb5700000000, 0xff4a098000000000,
+ 0x56cc5f2300000000, 0x0e4cbdf400000000, 0x45c783be00000000,
+ 0x1d47616900000000, 0xb4c137ca00000000, 0xec41d51d00000000,
+ 0x3c9a8c6b00000000, 0x641a6ebc00000000, 0xcd9c381f00000000,
+ 0x951cdac800000000, 0xde97e48200000000, 0x8617065500000000,
+ 0x2f9150f600000000, 0x7711b22100000000, 0xb9872d6200000000,
+ 0xe107cfb500000000, 0x4881991600000000, 0x10017bc100000000,
+ 0x5b8a458b00000000, 0x030aa75c00000000, 0xaa8cf1ff00000000,
+ 0xf20c132800000000, 0x36a1ce7800000000, 0x6e212caf00000000,
+ 0xc7a77a0c00000000, 0x9f2798db00000000, 0xd4aca69100000000,
+ 0x8c2c444600000000, 0x25aa12e500000000, 0x7d2af03200000000,
+ 0xb3bc6f7100000000, 0xeb3c8da600000000, 0x42badb0500000000,
+ 0x1a3a39d200000000, 0x51b1079800000000, 0x0931e54f00000000,
+ 0xa0b7b3ec00000000, 0xf837513b00000000, 0x50d8119a00000000,
+ 0x0858f34d00000000, 0xa1dea5ee00000000, 0xf95e473900000000,
+ 0xb2d5797300000000, 0xea559ba400000000, 0x43d3cd0700000000,
+ 0x1b532fd000000000, 0xd5c5b09300000000, 0x8d45524400000000,
+ 0x24c304e700000000, 0x7c43e63000000000, 0x37c8d87a00000000,
+ 0x6f483aad00000000, 0xc6ce6c0e00000000, 0x9e4e8ed900000000,
+ 0x5ae3538900000000, 0x0263b15e00000000, 0xabe5e7fd00000000,
+ 0xf365052a00000000, 0xb8ee3b6000000000, 0xe06ed9b700000000,
+ 0x49e88f1400000000, 0x11686dc300000000, 0xdffef28000000000,
+ 0x877e105700000000, 0x2ef846f400000000, 0x7678a42300000000,
+ 0x3df39a6900000000, 0x657378be00000000, 0xccf52e1d00000000,
+ 0x9475ccca00000000, 0x44ae95bc00000000, 0x1c2e776b00000000,
+ 0xb5a821c800000000, 0xed28c31f00000000, 0xa6a3fd5500000000,
+ 0xfe231f8200000000, 0x57a5492100000000, 0x0f25abf600000000,
+ 0xc1b334b500000000, 0x9933d66200000000, 0x30b580c100000000,
+ 0x6835621600000000, 0x23be5c5c00000000, 0x7b3ebe8b00000000,
+ 0xd2b8e82800000000, 0x8a380aff00000000, 0x4e95d7af00000000,
+ 0x1615357800000000, 0xbf9363db00000000, 0xe713810c00000000,
+ 0xac98bf4600000000, 0xf4185d9100000000, 0x5d9e0b3200000000,
+ 0x051ee9e500000000, 0xcb8876a600000000, 0x9308947100000000,
+ 0x3a8ec2d200000000, 0x620e200500000000, 0x29851e4f00000000,
+ 0x7105fc9800000000, 0xd883aa3b00000000, 0x800348ec00000000,
+ 0x783419d700000000, 0x20b4fb0000000000, 0x8932ada300000000,
+ 0xd1b24f7400000000, 0x9a39713e00000000, 0xc2b993e900000000,
+ 0x6b3fc54a00000000, 0x33bf279d00000000, 0xfd29b8de00000000,
+ 0xa5a95a0900000000, 0x0c2f0caa00000000, 0x54afee7d00000000,
+ 0x1f24d03700000000, 0x47a432e000000000, 0xee22644300000000,
+ 0xb6a2869400000000, 0x720f5bc400000000, 0x2a8fb91300000000,
+ 0x8309efb000000000, 0xdb890d6700000000, 0x9002332d00000000,
+ 0xc882d1fa00000000, 0x6104875900000000, 0x3984658e00000000,
+ 0xf712facd00000000, 0xaf92181a00000000, 0x06144eb900000000,
+ 0x5e94ac6e00000000, 0x151f922400000000, 0x4d9f70f300000000,
+ 0xe419265000000000, 0xbc99c48700000000, 0x6c429df100000000,
+ 0x34c27f2600000000, 0x9d44298500000000, 0xc5c4cb5200000000,
+ 0x8e4ff51800000000, 0xd6cf17cf00000000, 0x7f49416c00000000,
+ 0x27c9a3bb00000000, 0xe95f3cf800000000, 0xb1dfde2f00000000,
+ 0x1859888c00000000, 0x40d96a5b00000000, 0x0b52541100000000,
+ 0x53d2b6c600000000, 0xfa54e06500000000, 0xa2d402b200000000,
+ 0x6679dfe200000000, 0x3ef93d3500000000, 0x977f6b9600000000,
+ 0xcfff894100000000, 0x8474b70b00000000, 0xdcf455dc00000000,
+ 0x7572037f00000000, 0x2df2e1a800000000, 0xe3647eeb00000000,
+ 0xbbe49c3c00000000, 0x1262ca9f00000000, 0x4ae2284800000000,
+ 0x0169160200000000, 0x59e9f4d500000000, 0xf06fa27600000000,
+ 0xa8ef40a100000000},
+ {0x0000000000000000, 0x463b676500000000, 0x8c76ceca00000000,
+ 0xca4da9af00000000, 0x59ebed4e00000000, 0x1fd08a2b00000000,
+ 0xd59d238400000000, 0x93a644e100000000, 0xb2d6db9d00000000,
+ 0xf4edbcf800000000, 0x3ea0155700000000, 0x789b723200000000,
+ 0xeb3d36d300000000, 0xad0651b600000000, 0x674bf81900000000,
+ 0x21709f7c00000000, 0x25abc6e000000000, 0x6390a18500000000,
+ 0xa9dd082a00000000, 0xefe66f4f00000000, 0x7c402bae00000000,
+ 0x3a7b4ccb00000000, 0xf036e56400000000, 0xb60d820100000000,
+ 0x977d1d7d00000000, 0xd1467a1800000000, 0x1b0bd3b700000000,
+ 0x5d30b4d200000000, 0xce96f03300000000, 0x88ad975600000000,
+ 0x42e03ef900000000, 0x04db599c00000000, 0x0b50fc1a00000000,
+ 0x4d6b9b7f00000000, 0x872632d000000000, 0xc11d55b500000000,
+ 0x52bb115400000000, 0x1480763100000000, 0xdecddf9e00000000,
+ 0x98f6b8fb00000000, 0xb986278700000000, 0xffbd40e200000000,
+ 0x35f0e94d00000000, 0x73cb8e2800000000, 0xe06dcac900000000,
+ 0xa656adac00000000, 0x6c1b040300000000, 0x2a20636600000000,
+ 0x2efb3afa00000000, 0x68c05d9f00000000, 0xa28df43000000000,
+ 0xe4b6935500000000, 0x7710d7b400000000, 0x312bb0d100000000,
+ 0xfb66197e00000000, 0xbd5d7e1b00000000, 0x9c2de16700000000,
+ 0xda16860200000000, 0x105b2fad00000000, 0x566048c800000000,
+ 0xc5c60c2900000000, 0x83fd6b4c00000000, 0x49b0c2e300000000,
+ 0x0f8ba58600000000, 0x16a0f83500000000, 0x509b9f5000000000,
+ 0x9ad636ff00000000, 0xdced519a00000000, 0x4f4b157b00000000,
+ 0x0970721e00000000, 0xc33ddbb100000000, 0x8506bcd400000000,
+ 0xa47623a800000000, 0xe24d44cd00000000, 0x2800ed6200000000,
+ 0x6e3b8a0700000000, 0xfd9dcee600000000, 0xbba6a98300000000,
+ 0x71eb002c00000000, 0x37d0674900000000, 0x330b3ed500000000,
+ 0x753059b000000000, 0xbf7df01f00000000, 0xf946977a00000000,
+ 0x6ae0d39b00000000, 0x2cdbb4fe00000000, 0xe6961d5100000000,
+ 0xa0ad7a3400000000, 0x81dde54800000000, 0xc7e6822d00000000,
+ 0x0dab2b8200000000, 0x4b904ce700000000, 0xd836080600000000,
+ 0x9e0d6f6300000000, 0x5440c6cc00000000, 0x127ba1a900000000,
+ 0x1df0042f00000000, 0x5bcb634a00000000, 0x9186cae500000000,
+ 0xd7bdad8000000000, 0x441be96100000000, 0x02208e0400000000,
+ 0xc86d27ab00000000, 0x8e5640ce00000000, 0xaf26dfb200000000,
+ 0xe91db8d700000000, 0x2350117800000000, 0x656b761d00000000,
+ 0xf6cd32fc00000000, 0xb0f6559900000000, 0x7abbfc3600000000,
+ 0x3c809b5300000000, 0x385bc2cf00000000, 0x7e60a5aa00000000,
+ 0xb42d0c0500000000, 0xf2166b6000000000, 0x61b02f8100000000,
+ 0x278b48e400000000, 0xedc6e14b00000000, 0xabfd862e00000000,
+ 0x8a8d195200000000, 0xccb67e3700000000, 0x06fbd79800000000,
+ 0x40c0b0fd00000000, 0xd366f41c00000000, 0x955d937900000000,
+ 0x5f103ad600000000, 0x192b5db300000000, 0x2c40f16b00000000,
+ 0x6a7b960e00000000, 0xa0363fa100000000, 0xe60d58c400000000,
+ 0x75ab1c2500000000, 0x33907b4000000000, 0xf9ddd2ef00000000,
+ 0xbfe6b58a00000000, 0x9e962af600000000, 0xd8ad4d9300000000,
+ 0x12e0e43c00000000, 0x54db835900000000, 0xc77dc7b800000000,
+ 0x8146a0dd00000000, 0x4b0b097200000000, 0x0d306e1700000000,
+ 0x09eb378b00000000, 0x4fd050ee00000000, 0x859df94100000000,
+ 0xc3a69e2400000000, 0x5000dac500000000, 0x163bbda000000000,
+ 0xdc76140f00000000, 0x9a4d736a00000000, 0xbb3dec1600000000,
+ 0xfd068b7300000000, 0x374b22dc00000000, 0x717045b900000000,
+ 0xe2d6015800000000, 0xa4ed663d00000000, 0x6ea0cf9200000000,
+ 0x289ba8f700000000, 0x27100d7100000000, 0x612b6a1400000000,
+ 0xab66c3bb00000000, 0xed5da4de00000000, 0x7efbe03f00000000,
+ 0x38c0875a00000000, 0xf28d2ef500000000, 0xb4b6499000000000,
+ 0x95c6d6ec00000000, 0xd3fdb18900000000, 0x19b0182600000000,
+ 0x5f8b7f4300000000, 0xcc2d3ba200000000, 0x8a165cc700000000,
+ 0x405bf56800000000, 0x0660920d00000000, 0x02bbcb9100000000,
+ 0x4480acf400000000, 0x8ecd055b00000000, 0xc8f6623e00000000,
+ 0x5b5026df00000000, 0x1d6b41ba00000000, 0xd726e81500000000,
+ 0x911d8f7000000000, 0xb06d100c00000000, 0xf656776900000000,
+ 0x3c1bdec600000000, 0x7a20b9a300000000, 0xe986fd4200000000,
+ 0xafbd9a2700000000, 0x65f0338800000000, 0x23cb54ed00000000,
+ 0x3ae0095e00000000, 0x7cdb6e3b00000000, 0xb696c79400000000,
+ 0xf0ada0f100000000, 0x630be41000000000, 0x2530837500000000,
+ 0xef7d2ada00000000, 0xa9464dbf00000000, 0x8836d2c300000000,
+ 0xce0db5a600000000, 0x04401c0900000000, 0x427b7b6c00000000,
+ 0xd1dd3f8d00000000, 0x97e658e800000000, 0x5dabf14700000000,
+ 0x1b90962200000000, 0x1f4bcfbe00000000, 0x5970a8db00000000,
+ 0x933d017400000000, 0xd506661100000000, 0x46a022f000000000,
+ 0x009b459500000000, 0xcad6ec3a00000000, 0x8ced8b5f00000000,
+ 0xad9d142300000000, 0xeba6734600000000, 0x21ebdae900000000,
+ 0x67d0bd8c00000000, 0xf476f96d00000000, 0xb24d9e0800000000,
+ 0x780037a700000000, 0x3e3b50c200000000, 0x31b0f54400000000,
+ 0x778b922100000000, 0xbdc63b8e00000000, 0xfbfd5ceb00000000,
+ 0x685b180a00000000, 0x2e607f6f00000000, 0xe42dd6c000000000,
+ 0xa216b1a500000000, 0x83662ed900000000, 0xc55d49bc00000000,
+ 0x0f10e01300000000, 0x492b877600000000, 0xda8dc39700000000,
+ 0x9cb6a4f200000000, 0x56fb0d5d00000000, 0x10c06a3800000000,
+ 0x141b33a400000000, 0x522054c100000000, 0x986dfd6e00000000,
+ 0xde569a0b00000000, 0x4df0deea00000000, 0x0bcbb98f00000000,
+ 0xc186102000000000, 0x87bd774500000000, 0xa6cde83900000000,
+ 0xe0f68f5c00000000, 0x2abb26f300000000, 0x6c80419600000000,
+ 0xff26057700000000, 0xb91d621200000000, 0x7350cbbd00000000,
+ 0x356bacd800000000},
+ {0x0000000000000000, 0x9e83da9f00000000, 0x7d01c4e400000000,
+ 0xe3821e7b00000000, 0xbb04f91200000000, 0x2587238d00000000,
+ 0xc6053df600000000, 0x5886e76900000000, 0x7609f22500000000,
+ 0xe88a28ba00000000, 0x0b0836c100000000, 0x958bec5e00000000,
+ 0xcd0d0b3700000000, 0x538ed1a800000000, 0xb00ccfd300000000,
+ 0x2e8f154c00000000, 0xec12e44b00000000, 0x72913ed400000000,
+ 0x911320af00000000, 0x0f90fa3000000000, 0x57161d5900000000,
+ 0xc995c7c600000000, 0x2a17d9bd00000000, 0xb494032200000000,
+ 0x9a1b166e00000000, 0x0498ccf100000000, 0xe71ad28a00000000,
+ 0x7999081500000000, 0x211fef7c00000000, 0xbf9c35e300000000,
+ 0x5c1e2b9800000000, 0xc29df10700000000, 0xd825c89700000000,
+ 0x46a6120800000000, 0xa5240c7300000000, 0x3ba7d6ec00000000,
+ 0x6321318500000000, 0xfda2eb1a00000000, 0x1e20f56100000000,
+ 0x80a32ffe00000000, 0xae2c3ab200000000, 0x30afe02d00000000,
+ 0xd32dfe5600000000, 0x4dae24c900000000, 0x1528c3a000000000,
+ 0x8bab193f00000000, 0x6829074400000000, 0xf6aadddb00000000,
+ 0x34372cdc00000000, 0xaab4f64300000000, 0x4936e83800000000,
+ 0xd7b532a700000000, 0x8f33d5ce00000000, 0x11b00f5100000000,
+ 0xf232112a00000000, 0x6cb1cbb500000000, 0x423edef900000000,
+ 0xdcbd046600000000, 0x3f3f1a1d00000000, 0xa1bcc08200000000,
+ 0xf93a27eb00000000, 0x67b9fd7400000000, 0x843be30f00000000,
+ 0x1ab8399000000000, 0xf14de1f400000000, 0x6fce3b6b00000000,
+ 0x8c4c251000000000, 0x12cfff8f00000000, 0x4a4918e600000000,
+ 0xd4cac27900000000, 0x3748dc0200000000, 0xa9cb069d00000000,
+ 0x874413d100000000, 0x19c7c94e00000000, 0xfa45d73500000000,
+ 0x64c60daa00000000, 0x3c40eac300000000, 0xa2c3305c00000000,
+ 0x41412e2700000000, 0xdfc2f4b800000000, 0x1d5f05bf00000000,
+ 0x83dcdf2000000000, 0x605ec15b00000000, 0xfedd1bc400000000,
+ 0xa65bfcad00000000, 0x38d8263200000000, 0xdb5a384900000000,
+ 0x45d9e2d600000000, 0x6b56f79a00000000, 0xf5d52d0500000000,
+ 0x1657337e00000000, 0x88d4e9e100000000, 0xd0520e8800000000,
+ 0x4ed1d41700000000, 0xad53ca6c00000000, 0x33d010f300000000,
+ 0x2968296300000000, 0xb7ebf3fc00000000, 0x5469ed8700000000,
+ 0xcaea371800000000, 0x926cd07100000000, 0x0cef0aee00000000,
+ 0xef6d149500000000, 0x71eece0a00000000, 0x5f61db4600000000,
+ 0xc1e201d900000000, 0x22601fa200000000, 0xbce3c53d00000000,
+ 0xe465225400000000, 0x7ae6f8cb00000000, 0x9964e6b000000000,
+ 0x07e73c2f00000000, 0xc57acd2800000000, 0x5bf917b700000000,
+ 0xb87b09cc00000000, 0x26f8d35300000000, 0x7e7e343a00000000,
+ 0xe0fdeea500000000, 0x037ff0de00000000, 0x9dfc2a4100000000,
+ 0xb3733f0d00000000, 0x2df0e59200000000, 0xce72fbe900000000,
+ 0x50f1217600000000, 0x0877c61f00000000, 0x96f41c8000000000,
+ 0x757602fb00000000, 0xebf5d86400000000, 0xa39db33200000000,
+ 0x3d1e69ad00000000, 0xde9c77d600000000, 0x401fad4900000000,
+ 0x18994a2000000000, 0x861a90bf00000000, 0x65988ec400000000,
+ 0xfb1b545b00000000, 0xd594411700000000, 0x4b179b8800000000,
+ 0xa89585f300000000, 0x36165f6c00000000, 0x6e90b80500000000,
+ 0xf013629a00000000, 0x13917ce100000000, 0x8d12a67e00000000,
+ 0x4f8f577900000000, 0xd10c8de600000000, 0x328e939d00000000,
+ 0xac0d490200000000, 0xf48bae6b00000000, 0x6a0874f400000000,
+ 0x898a6a8f00000000, 0x1709b01000000000, 0x3986a55c00000000,
+ 0xa7057fc300000000, 0x448761b800000000, 0xda04bb2700000000,
+ 0x82825c4e00000000, 0x1c0186d100000000, 0xff8398aa00000000,
+ 0x6100423500000000, 0x7bb87ba500000000, 0xe53ba13a00000000,
+ 0x06b9bf4100000000, 0x983a65de00000000, 0xc0bc82b700000000,
+ 0x5e3f582800000000, 0xbdbd465300000000, 0x233e9ccc00000000,
+ 0x0db1898000000000, 0x9332531f00000000, 0x70b04d6400000000,
+ 0xee3397fb00000000, 0xb6b5709200000000, 0x2836aa0d00000000,
+ 0xcbb4b47600000000, 0x55376ee900000000, 0x97aa9fee00000000,
+ 0x0929457100000000, 0xeaab5b0a00000000, 0x7428819500000000,
+ 0x2cae66fc00000000, 0xb22dbc6300000000, 0x51afa21800000000,
+ 0xcf2c788700000000, 0xe1a36dcb00000000, 0x7f20b75400000000,
+ 0x9ca2a92f00000000, 0x022173b000000000, 0x5aa794d900000000,
+ 0xc4244e4600000000, 0x27a6503d00000000, 0xb9258aa200000000,
+ 0x52d052c600000000, 0xcc53885900000000, 0x2fd1962200000000,
+ 0xb1524cbd00000000, 0xe9d4abd400000000, 0x7757714b00000000,
+ 0x94d56f3000000000, 0x0a56b5af00000000, 0x24d9a0e300000000,
+ 0xba5a7a7c00000000, 0x59d8640700000000, 0xc75bbe9800000000,
+ 0x9fdd59f100000000, 0x015e836e00000000, 0xe2dc9d1500000000,
+ 0x7c5f478a00000000, 0xbec2b68d00000000, 0x20416c1200000000,
+ 0xc3c3726900000000, 0x5d40a8f600000000, 0x05c64f9f00000000,
+ 0x9b45950000000000, 0x78c78b7b00000000, 0xe64451e400000000,
+ 0xc8cb44a800000000, 0x56489e3700000000, 0xb5ca804c00000000,
+ 0x2b495ad300000000, 0x73cfbdba00000000, 0xed4c672500000000,
+ 0x0ece795e00000000, 0x904da3c100000000, 0x8af59a5100000000,
+ 0x147640ce00000000, 0xf7f45eb500000000, 0x6977842a00000000,
+ 0x31f1634300000000, 0xaf72b9dc00000000, 0x4cf0a7a700000000,
+ 0xd2737d3800000000, 0xfcfc687400000000, 0x627fb2eb00000000,
+ 0x81fdac9000000000, 0x1f7e760f00000000, 0x47f8916600000000,
+ 0xd97b4bf900000000, 0x3af9558200000000, 0xa47a8f1d00000000,
+ 0x66e77e1a00000000, 0xf864a48500000000, 0x1be6bafe00000000,
+ 0x8565606100000000, 0xdde3870800000000, 0x43605d9700000000,
+ 0xa0e243ec00000000, 0x3e61997300000000, 0x10ee8c3f00000000,
+ 0x8e6d56a000000000, 0x6def48db00000000, 0xf36c924400000000,
+ 0xabea752d00000000, 0x3569afb200000000, 0xd6ebb1c900000000,
+ 0x48686b5600000000},
+ {0x0000000000000000, 0xc064281700000000, 0x80c9502e00000000,
+ 0x40ad783900000000, 0x0093a15c00000000, 0xc0f7894b00000000,
+ 0x805af17200000000, 0x403ed96500000000, 0x002643b900000000,
+ 0xc0426bae00000000, 0x80ef139700000000, 0x408b3b8000000000,
+ 0x00b5e2e500000000, 0xc0d1caf200000000, 0x807cb2cb00000000,
+ 0x40189adc00000000, 0x414af7a900000000, 0x812edfbe00000000,
+ 0xc183a78700000000, 0x01e78f9000000000, 0x41d956f500000000,
+ 0x81bd7ee200000000, 0xc11006db00000000, 0x01742ecc00000000,
+ 0x416cb41000000000, 0x81089c0700000000, 0xc1a5e43e00000000,
+ 0x01c1cc2900000000, 0x41ff154c00000000, 0x819b3d5b00000000,
+ 0xc136456200000000, 0x01526d7500000000, 0xc3929f8800000000,
+ 0x03f6b79f00000000, 0x435bcfa600000000, 0x833fe7b100000000,
+ 0xc3013ed400000000, 0x036516c300000000, 0x43c86efa00000000,
+ 0x83ac46ed00000000, 0xc3b4dc3100000000, 0x03d0f42600000000,
+ 0x437d8c1f00000000, 0x8319a40800000000, 0xc3277d6d00000000,
+ 0x0343557a00000000, 0x43ee2d4300000000, 0x838a055400000000,
+ 0x82d8682100000000, 0x42bc403600000000, 0x0211380f00000000,
+ 0xc275101800000000, 0x824bc97d00000000, 0x422fe16a00000000,
+ 0x0282995300000000, 0xc2e6b14400000000, 0x82fe2b9800000000,
+ 0x429a038f00000000, 0x02377bb600000000, 0xc25353a100000000,
+ 0x826d8ac400000000, 0x4209a2d300000000, 0x02a4daea00000000,
+ 0xc2c0f2fd00000000, 0xc7234eca00000000, 0x074766dd00000000,
+ 0x47ea1ee400000000, 0x878e36f300000000, 0xc7b0ef9600000000,
+ 0x07d4c78100000000, 0x4779bfb800000000, 0x871d97af00000000,
+ 0xc7050d7300000000, 0x0761256400000000, 0x47cc5d5d00000000,
+ 0x87a8754a00000000, 0xc796ac2f00000000, 0x07f2843800000000,
+ 0x475ffc0100000000, 0x873bd41600000000, 0x8669b96300000000,
+ 0x460d917400000000, 0x06a0e94d00000000, 0xc6c4c15a00000000,
+ 0x86fa183f00000000, 0x469e302800000000, 0x0633481100000000,
+ 0xc657600600000000, 0x864ffada00000000, 0x462bd2cd00000000,
+ 0x0686aaf400000000, 0xc6e282e300000000, 0x86dc5b8600000000,
+ 0x46b8739100000000, 0x06150ba800000000, 0xc67123bf00000000,
+ 0x04b1d14200000000, 0xc4d5f95500000000, 0x8478816c00000000,
+ 0x441ca97b00000000, 0x0422701e00000000, 0xc446580900000000,
+ 0x84eb203000000000, 0x448f082700000000, 0x049792fb00000000,
+ 0xc4f3baec00000000, 0x845ec2d500000000, 0x443aeac200000000,
+ 0x040433a700000000, 0xc4601bb000000000, 0x84cd638900000000,
+ 0x44a94b9e00000000, 0x45fb26eb00000000, 0x859f0efc00000000,
+ 0xc53276c500000000, 0x05565ed200000000, 0x456887b700000000,
+ 0x850cafa000000000, 0xc5a1d79900000000, 0x05c5ff8e00000000,
+ 0x45dd655200000000, 0x85b94d4500000000, 0xc514357c00000000,
+ 0x05701d6b00000000, 0x454ec40e00000000, 0x852aec1900000000,
+ 0xc587942000000000, 0x05e3bc3700000000, 0xcf41ed4f00000000,
+ 0x0f25c55800000000, 0x4f88bd6100000000, 0x8fec957600000000,
+ 0xcfd24c1300000000, 0x0fb6640400000000, 0x4f1b1c3d00000000,
+ 0x8f7f342a00000000, 0xcf67aef600000000, 0x0f0386e100000000,
+ 0x4faefed800000000, 0x8fcad6cf00000000, 0xcff40faa00000000,
+ 0x0f9027bd00000000, 0x4f3d5f8400000000, 0x8f59779300000000,
+ 0x8e0b1ae600000000, 0x4e6f32f100000000, 0x0ec24ac800000000,
+ 0xcea662df00000000, 0x8e98bbba00000000, 0x4efc93ad00000000,
+ 0x0e51eb9400000000, 0xce35c38300000000, 0x8e2d595f00000000,
+ 0x4e49714800000000, 0x0ee4097100000000, 0xce80216600000000,
+ 0x8ebef80300000000, 0x4edad01400000000, 0x0e77a82d00000000,
+ 0xce13803a00000000, 0x0cd372c700000000, 0xccb75ad000000000,
+ 0x8c1a22e900000000, 0x4c7e0afe00000000, 0x0c40d39b00000000,
+ 0xcc24fb8c00000000, 0x8c8983b500000000, 0x4cedaba200000000,
+ 0x0cf5317e00000000, 0xcc91196900000000, 0x8c3c615000000000,
+ 0x4c58494700000000, 0x0c66902200000000, 0xcc02b83500000000,
+ 0x8cafc00c00000000, 0x4ccbe81b00000000, 0x4d99856e00000000,
+ 0x8dfdad7900000000, 0xcd50d54000000000, 0x0d34fd5700000000,
+ 0x4d0a243200000000, 0x8d6e0c2500000000, 0xcdc3741c00000000,
+ 0x0da75c0b00000000, 0x4dbfc6d700000000, 0x8ddbeec000000000,
+ 0xcd7696f900000000, 0x0d12beee00000000, 0x4d2c678b00000000,
+ 0x8d484f9c00000000, 0xcde537a500000000, 0x0d811fb200000000,
+ 0x0862a38500000000, 0xc8068b9200000000, 0x88abf3ab00000000,
+ 0x48cfdbbc00000000, 0x08f102d900000000, 0xc8952ace00000000,
+ 0x883852f700000000, 0x485c7ae000000000, 0x0844e03c00000000,
+ 0xc820c82b00000000, 0x888db01200000000, 0x48e9980500000000,
+ 0x08d7416000000000, 0xc8b3697700000000, 0x881e114e00000000,
+ 0x487a395900000000, 0x4928542c00000000, 0x894c7c3b00000000,
+ 0xc9e1040200000000, 0x09852c1500000000, 0x49bbf57000000000,
+ 0x89dfdd6700000000, 0xc972a55e00000000, 0x09168d4900000000,
+ 0x490e179500000000, 0x896a3f8200000000, 0xc9c747bb00000000,
+ 0x09a36fac00000000, 0x499db6c900000000, 0x89f99ede00000000,
+ 0xc954e6e700000000, 0x0930cef000000000, 0xcbf03c0d00000000,
+ 0x0b94141a00000000, 0x4b396c2300000000, 0x8b5d443400000000,
+ 0xcb639d5100000000, 0x0b07b54600000000, 0x4baacd7f00000000,
+ 0x8bcee56800000000, 0xcbd67fb400000000, 0x0bb257a300000000,
+ 0x4b1f2f9a00000000, 0x8b7b078d00000000, 0xcb45dee800000000,
+ 0x0b21f6ff00000000, 0x4b8c8ec600000000, 0x8be8a6d100000000,
+ 0x8abacba400000000, 0x4adee3b300000000, 0x0a739b8a00000000,
+ 0xca17b39d00000000, 0x8a296af800000000, 0x4a4d42ef00000000,
+ 0x0ae03ad600000000, 0xca8412c100000000, 0x8a9c881d00000000,
+ 0x4af8a00a00000000, 0x0a55d83300000000, 0xca31f02400000000,
+ 0x8a0f294100000000, 0x4a6b015600000000, 0x0ac6796f00000000,
+ 0xcaa2517800000000},
+ {0x0000000000000000, 0xd4ea739b00000000, 0xe9d396ed00000000,
+ 0x3d39e57600000000, 0x93a15c0000000000, 0x474b2f9b00000000,
+ 0x7a72caed00000000, 0xae98b97600000000, 0x2643b90000000000,
+ 0xf2a9ca9b00000000, 0xcf902fed00000000, 0x1b7a5c7600000000,
+ 0xb5e2e50000000000, 0x6108969b00000000, 0x5c3173ed00000000,
+ 0x88db007600000000, 0x4c86720100000000, 0x986c019a00000000,
+ 0xa555e4ec00000000, 0x71bf977700000000, 0xdf272e0100000000,
+ 0x0bcd5d9a00000000, 0x36f4b8ec00000000, 0xe21ecb7700000000,
+ 0x6ac5cb0100000000, 0xbe2fb89a00000000, 0x83165dec00000000,
+ 0x57fc2e7700000000, 0xf964970100000000, 0x2d8ee49a00000000,
+ 0x10b701ec00000000, 0xc45d727700000000, 0x980ce50200000000,
+ 0x4ce6969900000000, 0x71df73ef00000000, 0xa535007400000000,
+ 0x0badb90200000000, 0xdf47ca9900000000, 0xe27e2fef00000000,
+ 0x36945c7400000000, 0xbe4f5c0200000000, 0x6aa52f9900000000,
+ 0x579ccaef00000000, 0x8376b97400000000, 0x2dee000200000000,
+ 0xf904739900000000, 0xc43d96ef00000000, 0x10d7e57400000000,
+ 0xd48a970300000000, 0x0060e49800000000, 0x3d5901ee00000000,
+ 0xe9b3727500000000, 0x472bcb0300000000, 0x93c1b89800000000,
+ 0xaef85dee00000000, 0x7a122e7500000000, 0xf2c92e0300000000,
+ 0x26235d9800000000, 0x1b1ab8ee00000000, 0xcff0cb7500000000,
+ 0x6168720300000000, 0xb582019800000000, 0x88bbe4ee00000000,
+ 0x5c51977500000000, 0x3019ca0500000000, 0xe4f3b99e00000000,
+ 0xd9ca5ce800000000, 0x0d202f7300000000, 0xa3b8960500000000,
+ 0x7752e59e00000000, 0x4a6b00e800000000, 0x9e81737300000000,
+ 0x165a730500000000, 0xc2b0009e00000000, 0xff89e5e800000000,
+ 0x2b63967300000000, 0x85fb2f0500000000, 0x51115c9e00000000,
+ 0x6c28b9e800000000, 0xb8c2ca7300000000, 0x7c9fb80400000000,
+ 0xa875cb9f00000000, 0x954c2ee900000000, 0x41a65d7200000000,
+ 0xef3ee40400000000, 0x3bd4979f00000000, 0x06ed72e900000000,
+ 0xd207017200000000, 0x5adc010400000000, 0x8e36729f00000000,
+ 0xb30f97e900000000, 0x67e5e47200000000, 0xc97d5d0400000000,
+ 0x1d972e9f00000000, 0x20aecbe900000000, 0xf444b87200000000,
+ 0xa8152f0700000000, 0x7cff5c9c00000000, 0x41c6b9ea00000000,
+ 0x952cca7100000000, 0x3bb4730700000000, 0xef5e009c00000000,
+ 0xd267e5ea00000000, 0x068d967100000000, 0x8e56960700000000,
+ 0x5abce59c00000000, 0x678500ea00000000, 0xb36f737100000000,
+ 0x1df7ca0700000000, 0xc91db99c00000000, 0xf4245cea00000000,
+ 0x20ce2f7100000000, 0xe4935d0600000000, 0x30792e9d00000000,
+ 0x0d40cbeb00000000, 0xd9aab87000000000, 0x7732010600000000,
+ 0xa3d8729d00000000, 0x9ee197eb00000000, 0x4a0be47000000000,
+ 0xc2d0e40600000000, 0x163a979d00000000, 0x2b0372eb00000000,
+ 0xffe9017000000000, 0x5171b80600000000, 0x859bcb9d00000000,
+ 0xb8a22eeb00000000, 0x6c485d7000000000, 0x6032940b00000000,
+ 0xb4d8e79000000000, 0x89e102e600000000, 0x5d0b717d00000000,
+ 0xf393c80b00000000, 0x2779bb9000000000, 0x1a405ee600000000,
+ 0xceaa2d7d00000000, 0x46712d0b00000000, 0x929b5e9000000000,
+ 0xafa2bbe600000000, 0x7b48c87d00000000, 0xd5d0710b00000000,
+ 0x013a029000000000, 0x3c03e7e600000000, 0xe8e9947d00000000,
+ 0x2cb4e60a00000000, 0xf85e959100000000, 0xc56770e700000000,
+ 0x118d037c00000000, 0xbf15ba0a00000000, 0x6bffc99100000000,
+ 0x56c62ce700000000, 0x822c5f7c00000000, 0x0af75f0a00000000,
+ 0xde1d2c9100000000, 0xe324c9e700000000, 0x37ceba7c00000000,
+ 0x9956030a00000000, 0x4dbc709100000000, 0x708595e700000000,
+ 0xa46fe67c00000000, 0xf83e710900000000, 0x2cd4029200000000,
+ 0x11ede7e400000000, 0xc507947f00000000, 0x6b9f2d0900000000,
+ 0xbf755e9200000000, 0x824cbbe400000000, 0x56a6c87f00000000,
+ 0xde7dc80900000000, 0x0a97bb9200000000, 0x37ae5ee400000000,
+ 0xe3442d7f00000000, 0x4ddc940900000000, 0x9936e79200000000,
+ 0xa40f02e400000000, 0x70e5717f00000000, 0xb4b8030800000000,
+ 0x6052709300000000, 0x5d6b95e500000000, 0x8981e67e00000000,
+ 0x27195f0800000000, 0xf3f32c9300000000, 0xcecac9e500000000,
+ 0x1a20ba7e00000000, 0x92fbba0800000000, 0x4611c99300000000,
+ 0x7b282ce500000000, 0xafc25f7e00000000, 0x015ae60800000000,
+ 0xd5b0959300000000, 0xe88970e500000000, 0x3c63037e00000000,
+ 0x502b5e0e00000000, 0x84c12d9500000000, 0xb9f8c8e300000000,
+ 0x6d12bb7800000000, 0xc38a020e00000000, 0x1760719500000000,
+ 0x2a5994e300000000, 0xfeb3e77800000000, 0x7668e70e00000000,
+ 0xa282949500000000, 0x9fbb71e300000000, 0x4b51027800000000,
+ 0xe5c9bb0e00000000, 0x3123c89500000000, 0x0c1a2de300000000,
+ 0xd8f05e7800000000, 0x1cad2c0f00000000, 0xc8475f9400000000,
+ 0xf57ebae200000000, 0x2194c97900000000, 0x8f0c700f00000000,
+ 0x5be6039400000000, 0x66dfe6e200000000, 0xb235957900000000,
+ 0x3aee950f00000000, 0xee04e69400000000, 0xd33d03e200000000,
+ 0x07d7707900000000, 0xa94fc90f00000000, 0x7da5ba9400000000,
+ 0x409c5fe200000000, 0x94762c7900000000, 0xc827bb0c00000000,
+ 0x1ccdc89700000000, 0x21f42de100000000, 0xf51e5e7a00000000,
+ 0x5b86e70c00000000, 0x8f6c949700000000, 0xb25571e100000000,
+ 0x66bf027a00000000, 0xee64020c00000000, 0x3a8e719700000000,
+ 0x07b794e100000000, 0xd35de77a00000000, 0x7dc55e0c00000000,
+ 0xa92f2d9700000000, 0x9416c8e100000000, 0x40fcbb7a00000000,
+ 0x84a1c90d00000000, 0x504bba9600000000, 0x6d725fe000000000,
+ 0xb9982c7b00000000, 0x1700950d00000000, 0xc3eae69600000000,
+ 0xfed303e000000000, 0x2a39707b00000000, 0xa2e2700d00000000,
+ 0x7608039600000000, 0x4b31e6e000000000, 0x9fdb957b00000000,
+ 0x31432c0d00000000, 0xe5a95f9600000000, 0xd890bae000000000,
+ 0x0c7ac97b00000000},
+ {0x0000000000000000, 0x2765258100000000, 0x0fcc3bd900000000,
+ 0x28a91e5800000000, 0x5f9e066900000000, 0x78fb23e800000000,
+ 0x50523db000000000, 0x7737183100000000, 0xbe3c0dd200000000,
+ 0x9959285300000000, 0xb1f0360b00000000, 0x9695138a00000000,
+ 0xe1a20bbb00000000, 0xc6c72e3a00000000, 0xee6e306200000000,
+ 0xc90b15e300000000, 0x3d7f6b7f00000000, 0x1a1a4efe00000000,
+ 0x32b350a600000000, 0x15d6752700000000, 0x62e16d1600000000,
+ 0x4584489700000000, 0x6d2d56cf00000000, 0x4a48734e00000000,
+ 0x834366ad00000000, 0xa426432c00000000, 0x8c8f5d7400000000,
+ 0xabea78f500000000, 0xdcdd60c400000000, 0xfbb8454500000000,
+ 0xd3115b1d00000000, 0xf4747e9c00000000, 0x7afed6fe00000000,
+ 0x5d9bf37f00000000, 0x7532ed2700000000, 0x5257c8a600000000,
+ 0x2560d09700000000, 0x0205f51600000000, 0x2aaceb4e00000000,
+ 0x0dc9cecf00000000, 0xc4c2db2c00000000, 0xe3a7fead00000000,
+ 0xcb0ee0f500000000, 0xec6bc57400000000, 0x9b5cdd4500000000,
+ 0xbc39f8c400000000, 0x9490e69c00000000, 0xb3f5c31d00000000,
+ 0x4781bd8100000000, 0x60e4980000000000, 0x484d865800000000,
+ 0x6f28a3d900000000, 0x181fbbe800000000, 0x3f7a9e6900000000,
+ 0x17d3803100000000, 0x30b6a5b000000000, 0xf9bdb05300000000,
+ 0xded895d200000000, 0xf6718b8a00000000, 0xd114ae0b00000000,
+ 0xa623b63a00000000, 0x814693bb00000000, 0xa9ef8de300000000,
+ 0x8e8aa86200000000, 0xb5fadc2600000000, 0x929ff9a700000000,
+ 0xba36e7ff00000000, 0x9d53c27e00000000, 0xea64da4f00000000,
+ 0xcd01ffce00000000, 0xe5a8e19600000000, 0xc2cdc41700000000,
+ 0x0bc6d1f400000000, 0x2ca3f47500000000, 0x040aea2d00000000,
+ 0x236fcfac00000000, 0x5458d79d00000000, 0x733df21c00000000,
+ 0x5b94ec4400000000, 0x7cf1c9c500000000, 0x8885b75900000000,
+ 0xafe092d800000000, 0x87498c8000000000, 0xa02ca90100000000,
+ 0xd71bb13000000000, 0xf07e94b100000000, 0xd8d78ae900000000,
+ 0xffb2af6800000000, 0x36b9ba8b00000000, 0x11dc9f0a00000000,
+ 0x3975815200000000, 0x1e10a4d300000000, 0x6927bce200000000,
+ 0x4e42996300000000, 0x66eb873b00000000, 0x418ea2ba00000000,
+ 0xcf040ad800000000, 0xe8612f5900000000, 0xc0c8310100000000,
+ 0xe7ad148000000000, 0x909a0cb100000000, 0xb7ff293000000000,
+ 0x9f56376800000000, 0xb83312e900000000, 0x7138070a00000000,
+ 0x565d228b00000000, 0x7ef43cd300000000, 0x5991195200000000,
+ 0x2ea6016300000000, 0x09c324e200000000, 0x216a3aba00000000,
+ 0x060f1f3b00000000, 0xf27b61a700000000, 0xd51e442600000000,
+ 0xfdb75a7e00000000, 0xdad27fff00000000, 0xade567ce00000000,
+ 0x8a80424f00000000, 0xa2295c1700000000, 0x854c799600000000,
+ 0x4c476c7500000000, 0x6b2249f400000000, 0x438b57ac00000000,
+ 0x64ee722d00000000, 0x13d96a1c00000000, 0x34bc4f9d00000000,
+ 0x1c1551c500000000, 0x3b70744400000000, 0x6af5b94d00000000,
+ 0x4d909ccc00000000, 0x6539829400000000, 0x425ca71500000000,
+ 0x356bbf2400000000, 0x120e9aa500000000, 0x3aa784fd00000000,
+ 0x1dc2a17c00000000, 0xd4c9b49f00000000, 0xf3ac911e00000000,
+ 0xdb058f4600000000, 0xfc60aac700000000, 0x8b57b2f600000000,
+ 0xac32977700000000, 0x849b892f00000000, 0xa3feacae00000000,
+ 0x578ad23200000000, 0x70eff7b300000000, 0x5846e9eb00000000,
+ 0x7f23cc6a00000000, 0x0814d45b00000000, 0x2f71f1da00000000,
+ 0x07d8ef8200000000, 0x20bdca0300000000, 0xe9b6dfe000000000,
+ 0xced3fa6100000000, 0xe67ae43900000000, 0xc11fc1b800000000,
+ 0xb628d98900000000, 0x914dfc0800000000, 0xb9e4e25000000000,
+ 0x9e81c7d100000000, 0x100b6fb300000000, 0x376e4a3200000000,
+ 0x1fc7546a00000000, 0x38a271eb00000000, 0x4f9569da00000000,
+ 0x68f04c5b00000000, 0x4059520300000000, 0x673c778200000000,
+ 0xae37626100000000, 0x895247e000000000, 0xa1fb59b800000000,
+ 0x869e7c3900000000, 0xf1a9640800000000, 0xd6cc418900000000,
+ 0xfe655fd100000000, 0xd9007a5000000000, 0x2d7404cc00000000,
+ 0x0a11214d00000000, 0x22b83f1500000000, 0x05dd1a9400000000,
+ 0x72ea02a500000000, 0x558f272400000000, 0x7d26397c00000000,
+ 0x5a431cfd00000000, 0x9348091e00000000, 0xb42d2c9f00000000,
+ 0x9c8432c700000000, 0xbbe1174600000000, 0xccd60f7700000000,
+ 0xebb32af600000000, 0xc31a34ae00000000, 0xe47f112f00000000,
+ 0xdf0f656b00000000, 0xf86a40ea00000000, 0xd0c35eb200000000,
+ 0xf7a67b3300000000, 0x8091630200000000, 0xa7f4468300000000,
+ 0x8f5d58db00000000, 0xa8387d5a00000000, 0x613368b900000000,
+ 0x46564d3800000000, 0x6eff536000000000, 0x499a76e100000000,
+ 0x3ead6ed000000000, 0x19c84b5100000000, 0x3161550900000000,
+ 0x1604708800000000, 0xe2700e1400000000, 0xc5152b9500000000,
+ 0xedbc35cd00000000, 0xcad9104c00000000, 0xbdee087d00000000,
+ 0x9a8b2dfc00000000, 0xb22233a400000000, 0x9547162500000000,
+ 0x5c4c03c600000000, 0x7b29264700000000, 0x5380381f00000000,
+ 0x74e51d9e00000000, 0x03d205af00000000, 0x24b7202e00000000,
+ 0x0c1e3e7600000000, 0x2b7b1bf700000000, 0xa5f1b39500000000,
+ 0x8294961400000000, 0xaa3d884c00000000, 0x8d58adcd00000000,
+ 0xfa6fb5fc00000000, 0xdd0a907d00000000, 0xf5a38e2500000000,
+ 0xd2c6aba400000000, 0x1bcdbe4700000000, 0x3ca89bc600000000,
+ 0x1401859e00000000, 0x3364a01f00000000, 0x4453b82e00000000,
+ 0x63369daf00000000, 0x4b9f83f700000000, 0x6cfaa67600000000,
+ 0x988ed8ea00000000, 0xbfebfd6b00000000, 0x9742e33300000000,
+ 0xb027c6b200000000, 0xc710de8300000000, 0xe075fb0200000000,
+ 0xc8dce55a00000000, 0xefb9c0db00000000, 0x26b2d53800000000,
+ 0x01d7f0b900000000, 0x297eeee100000000, 0x0e1bcb6000000000,
+ 0x792cd35100000000, 0x5e49f6d000000000, 0x76e0e88800000000,
+ 0x5185cd0900000000}};
+
+#else /* W == 4 */
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0x9ba54c6f, 0xec3b9e9f, 0x779ed2f0, 0x03063b7f,
+ 0x98a37710, 0xef3da5e0, 0x7498e98f, 0x060c76fe, 0x9da93a91,
+ 0xea37e861, 0x7192a40e, 0x050a4d81, 0x9eaf01ee, 0xe931d31e,
+ 0x72949f71, 0x0c18edfc, 0x97bda193, 0xe0237363, 0x7b863f0c,
+ 0x0f1ed683, 0x94bb9aec, 0xe325481c, 0x78800473, 0x0a149b02,
+ 0x91b1d76d, 0xe62f059d, 0x7d8a49f2, 0x0912a07d, 0x92b7ec12,
+ 0xe5293ee2, 0x7e8c728d, 0x1831dbf8, 0x83949797, 0xf40a4567,
+ 0x6faf0908, 0x1b37e087, 0x8092ace8, 0xf70c7e18, 0x6ca93277,
+ 0x1e3dad06, 0x8598e169, 0xf2063399, 0x69a37ff6, 0x1d3b9679,
+ 0x869eda16, 0xf10008e6, 0x6aa54489, 0x14293604, 0x8f8c7a6b,
+ 0xf812a89b, 0x63b7e4f4, 0x172f0d7b, 0x8c8a4114, 0xfb1493e4,
+ 0x60b1df8b, 0x122540fa, 0x89800c95, 0xfe1ede65, 0x65bb920a,
+ 0x11237b85, 0x8a8637ea, 0xfd18e51a, 0x66bda975, 0x3063b7f0,
+ 0xabc6fb9f, 0xdc58296f, 0x47fd6500, 0x33658c8f, 0xa8c0c0e0,
+ 0xdf5e1210, 0x44fb5e7f, 0x366fc10e, 0xadca8d61, 0xda545f91,
+ 0x41f113fe, 0x3569fa71, 0xaeccb61e, 0xd95264ee, 0x42f72881,
+ 0x3c7b5a0c, 0xa7de1663, 0xd040c493, 0x4be588fc, 0x3f7d6173,
+ 0xa4d82d1c, 0xd346ffec, 0x48e3b383, 0x3a772cf2, 0xa1d2609d,
+ 0xd64cb26d, 0x4de9fe02, 0x3971178d, 0xa2d45be2, 0xd54a8912,
+ 0x4eefc57d, 0x28526c08, 0xb3f72067, 0xc469f297, 0x5fccbef8,
+ 0x2b545777, 0xb0f11b18, 0xc76fc9e8, 0x5cca8587, 0x2e5e1af6,
+ 0xb5fb5699, 0xc2658469, 0x59c0c806, 0x2d582189, 0xb6fd6de6,
+ 0xc163bf16, 0x5ac6f379, 0x244a81f4, 0xbfefcd9b, 0xc8711f6b,
+ 0x53d45304, 0x274cba8b, 0xbce9f6e4, 0xcb772414, 0x50d2687b,
+ 0x2246f70a, 0xb9e3bb65, 0xce7d6995, 0x55d825fa, 0x2140cc75,
+ 0xbae5801a, 0xcd7b52ea, 0x56de1e85, 0x60c76fe0, 0xfb62238f,
+ 0x8cfcf17f, 0x1759bd10, 0x63c1549f, 0xf86418f0, 0x8ffaca00,
+ 0x145f866f, 0x66cb191e, 0xfd6e5571, 0x8af08781, 0x1155cbee,
+ 0x65cd2261, 0xfe686e0e, 0x89f6bcfe, 0x1253f091, 0x6cdf821c,
+ 0xf77ace73, 0x80e41c83, 0x1b4150ec, 0x6fd9b963, 0xf47cf50c,
+ 0x83e227fc, 0x18476b93, 0x6ad3f4e2, 0xf176b88d, 0x86e86a7d,
+ 0x1d4d2612, 0x69d5cf9d, 0xf27083f2, 0x85ee5102, 0x1e4b1d6d,
+ 0x78f6b418, 0xe353f877, 0x94cd2a87, 0x0f6866e8, 0x7bf08f67,
+ 0xe055c308, 0x97cb11f8, 0x0c6e5d97, 0x7efac2e6, 0xe55f8e89,
+ 0x92c15c79, 0x09641016, 0x7dfcf999, 0xe659b5f6, 0x91c76706,
+ 0x0a622b69, 0x74ee59e4, 0xef4b158b, 0x98d5c77b, 0x03708b14,
+ 0x77e8629b, 0xec4d2ef4, 0x9bd3fc04, 0x0076b06b, 0x72e22f1a,
+ 0xe9476375, 0x9ed9b185, 0x057cfdea, 0x71e41465, 0xea41580a,
+ 0x9ddf8afa, 0x067ac695, 0x50a4d810, 0xcb01947f, 0xbc9f468f,
+ 0x273a0ae0, 0x53a2e36f, 0xc807af00, 0xbf997df0, 0x243c319f,
+ 0x56a8aeee, 0xcd0de281, 0xba933071, 0x21367c1e, 0x55ae9591,
+ 0xce0bd9fe, 0xb9950b0e, 0x22304761, 0x5cbc35ec, 0xc7197983,
+ 0xb087ab73, 0x2b22e71c, 0x5fba0e93, 0xc41f42fc, 0xb381900c,
+ 0x2824dc63, 0x5ab04312, 0xc1150f7d, 0xb68bdd8d, 0x2d2e91e2,
+ 0x59b6786d, 0xc2133402, 0xb58de6f2, 0x2e28aa9d, 0x489503e8,
+ 0xd3304f87, 0xa4ae9d77, 0x3f0bd118, 0x4b933897, 0xd03674f8,
+ 0xa7a8a608, 0x3c0dea67, 0x4e997516, 0xd53c3979, 0xa2a2eb89,
+ 0x3907a7e6, 0x4d9f4e69, 0xd63a0206, 0xa1a4d0f6, 0x3a019c99,
+ 0x448dee14, 0xdf28a27b, 0xa8b6708b, 0x33133ce4, 0x478bd56b,
+ 0xdc2e9904, 0xabb04bf4, 0x3015079b, 0x428198ea, 0xd924d485,
+ 0xaeba0675, 0x351f4a1a, 0x4187a395, 0xda22effa, 0xadbc3d0a,
+ 0x36197165},
+ {0x00000000, 0xc18edfc0, 0x586cb9c1, 0x99e26601, 0xb0d97382,
+ 0x7157ac42, 0xe8b5ca43, 0x293b1583, 0xbac3e145, 0x7b4d3e85,
+ 0xe2af5884, 0x23218744, 0x0a1a92c7, 0xcb944d07, 0x52762b06,
+ 0x93f8f4c6, 0xaef6c4cb, 0x6f781b0b, 0xf69a7d0a, 0x3714a2ca,
+ 0x1e2fb749, 0xdfa16889, 0x46430e88, 0x87cdd148, 0x1435258e,
+ 0xd5bbfa4e, 0x4c599c4f, 0x8dd7438f, 0xa4ec560c, 0x656289cc,
+ 0xfc80efcd, 0x3d0e300d, 0x869c8fd7, 0x47125017, 0xdef03616,
+ 0x1f7ee9d6, 0x3645fc55, 0xf7cb2395, 0x6e294594, 0xafa79a54,
+ 0x3c5f6e92, 0xfdd1b152, 0x6433d753, 0xa5bd0893, 0x8c861d10,
+ 0x4d08c2d0, 0xd4eaa4d1, 0x15647b11, 0x286a4b1c, 0xe9e494dc,
+ 0x7006f2dd, 0xb1882d1d, 0x98b3389e, 0x593de75e, 0xc0df815f,
+ 0x01515e9f, 0x92a9aa59, 0x53277599, 0xcac51398, 0x0b4bcc58,
+ 0x2270d9db, 0xe3fe061b, 0x7a1c601a, 0xbb92bfda, 0xd64819ef,
+ 0x17c6c62f, 0x8e24a02e, 0x4faa7fee, 0x66916a6d, 0xa71fb5ad,
+ 0x3efdd3ac, 0xff730c6c, 0x6c8bf8aa, 0xad05276a, 0x34e7416b,
+ 0xf5699eab, 0xdc528b28, 0x1ddc54e8, 0x843e32e9, 0x45b0ed29,
+ 0x78bedd24, 0xb93002e4, 0x20d264e5, 0xe15cbb25, 0xc867aea6,
+ 0x09e97166, 0x900b1767, 0x5185c8a7, 0xc27d3c61, 0x03f3e3a1,
+ 0x9a1185a0, 0x5b9f5a60, 0x72a44fe3, 0xb32a9023, 0x2ac8f622,
+ 0xeb4629e2, 0x50d49638, 0x915a49f8, 0x08b82ff9, 0xc936f039,
+ 0xe00de5ba, 0x21833a7a, 0xb8615c7b, 0x79ef83bb, 0xea17777d,
+ 0x2b99a8bd, 0xb27bcebc, 0x73f5117c, 0x5ace04ff, 0x9b40db3f,
+ 0x02a2bd3e, 0xc32c62fe, 0xfe2252f3, 0x3fac8d33, 0xa64eeb32,
+ 0x67c034f2, 0x4efb2171, 0x8f75feb1, 0x169798b0, 0xd7194770,
+ 0x44e1b3b6, 0x856f6c76, 0x1c8d0a77, 0xdd03d5b7, 0xf438c034,
+ 0x35b61ff4, 0xac5479f5, 0x6ddaa635, 0x77e1359f, 0xb66fea5f,
+ 0x2f8d8c5e, 0xee03539e, 0xc738461d, 0x06b699dd, 0x9f54ffdc,
+ 0x5eda201c, 0xcd22d4da, 0x0cac0b1a, 0x954e6d1b, 0x54c0b2db,
+ 0x7dfba758, 0xbc757898, 0x25971e99, 0xe419c159, 0xd917f154,
+ 0x18992e94, 0x817b4895, 0x40f59755, 0x69ce82d6, 0xa8405d16,
+ 0x31a23b17, 0xf02ce4d7, 0x63d41011, 0xa25acfd1, 0x3bb8a9d0,
+ 0xfa367610, 0xd30d6393, 0x1283bc53, 0x8b61da52, 0x4aef0592,
+ 0xf17dba48, 0x30f36588, 0xa9110389, 0x689fdc49, 0x41a4c9ca,
+ 0x802a160a, 0x19c8700b, 0xd846afcb, 0x4bbe5b0d, 0x8a3084cd,
+ 0x13d2e2cc, 0xd25c3d0c, 0xfb67288f, 0x3ae9f74f, 0xa30b914e,
+ 0x62854e8e, 0x5f8b7e83, 0x9e05a143, 0x07e7c742, 0xc6691882,
+ 0xef520d01, 0x2edcd2c1, 0xb73eb4c0, 0x76b06b00, 0xe5489fc6,
+ 0x24c64006, 0xbd242607, 0x7caaf9c7, 0x5591ec44, 0x941f3384,
+ 0x0dfd5585, 0xcc738a45, 0xa1a92c70, 0x6027f3b0, 0xf9c595b1,
+ 0x384b4a71, 0x11705ff2, 0xd0fe8032, 0x491ce633, 0x889239f3,
+ 0x1b6acd35, 0xdae412f5, 0x430674f4, 0x8288ab34, 0xabb3beb7,
+ 0x6a3d6177, 0xf3df0776, 0x3251d8b6, 0x0f5fe8bb, 0xced1377b,
+ 0x5733517a, 0x96bd8eba, 0xbf869b39, 0x7e0844f9, 0xe7ea22f8,
+ 0x2664fd38, 0xb59c09fe, 0x7412d63e, 0xedf0b03f, 0x2c7e6fff,
+ 0x05457a7c, 0xc4cba5bc, 0x5d29c3bd, 0x9ca71c7d, 0x2735a3a7,
+ 0xe6bb7c67, 0x7f591a66, 0xbed7c5a6, 0x97ecd025, 0x56620fe5,
+ 0xcf8069e4, 0x0e0eb624, 0x9df642e2, 0x5c789d22, 0xc59afb23,
+ 0x041424e3, 0x2d2f3160, 0xeca1eea0, 0x754388a1, 0xb4cd5761,
+ 0x89c3676c, 0x484db8ac, 0xd1afdead, 0x1021016d, 0x391a14ee,
+ 0xf894cb2e, 0x6176ad2f, 0xa0f872ef, 0x33008629, 0xf28e59e9,
+ 0x6b6c3fe8, 0xaae2e028, 0x83d9f5ab, 0x42572a6b, 0xdbb54c6a,
+ 0x1a3b93aa},
+ {0x00000000, 0xefc26b3e, 0x04f5d03d, 0xeb37bb03, 0x09eba07a,
+ 0xe629cb44, 0x0d1e7047, 0xe2dc1b79, 0x13d740f4, 0xfc152bca,
+ 0x172290c9, 0xf8e0fbf7, 0x1a3ce08e, 0xf5fe8bb0, 0x1ec930b3,
+ 0xf10b5b8d, 0x27ae81e8, 0xc86cead6, 0x235b51d5, 0xcc993aeb,
+ 0x2e452192, 0xc1874aac, 0x2ab0f1af, 0xc5729a91, 0x3479c11c,
+ 0xdbbbaa22, 0x308c1121, 0xdf4e7a1f, 0x3d926166, 0xd2500a58,
+ 0x3967b15b, 0xd6a5da65, 0x4f5d03d0, 0xa09f68ee, 0x4ba8d3ed,
+ 0xa46ab8d3, 0x46b6a3aa, 0xa974c894, 0x42437397, 0xad8118a9,
+ 0x5c8a4324, 0xb348281a, 0x587f9319, 0xb7bdf827, 0x5561e35e,
+ 0xbaa38860, 0x51943363, 0xbe56585d, 0x68f38238, 0x8731e906,
+ 0x6c065205, 0x83c4393b, 0x61182242, 0x8eda497c, 0x65edf27f,
+ 0x8a2f9941, 0x7b24c2cc, 0x94e6a9f2, 0x7fd112f1, 0x901379cf,
+ 0x72cf62b6, 0x9d0d0988, 0x763ab28b, 0x99f8d9b5, 0x9eba07a0,
+ 0x71786c9e, 0x9a4fd79d, 0x758dbca3, 0x9751a7da, 0x7893cce4,
+ 0x93a477e7, 0x7c661cd9, 0x8d6d4754, 0x62af2c6a, 0x89989769,
+ 0x665afc57, 0x8486e72e, 0x6b448c10, 0x80733713, 0x6fb15c2d,
+ 0xb9148648, 0x56d6ed76, 0xbde15675, 0x52233d4b, 0xb0ff2632,
+ 0x5f3d4d0c, 0xb40af60f, 0x5bc89d31, 0xaac3c6bc, 0x4501ad82,
+ 0xae361681, 0x41f47dbf, 0xa32866c6, 0x4cea0df8, 0xa7ddb6fb,
+ 0x481fddc5, 0xd1e70470, 0x3e256f4e, 0xd512d44d, 0x3ad0bf73,
+ 0xd80ca40a, 0x37cecf34, 0xdcf97437, 0x333b1f09, 0xc2304484,
+ 0x2df22fba, 0xc6c594b9, 0x2907ff87, 0xcbdbe4fe, 0x24198fc0,
+ 0xcf2e34c3, 0x20ec5ffd, 0xf6498598, 0x198beea6, 0xf2bc55a5,
+ 0x1d7e3e9b, 0xffa225e2, 0x10604edc, 0xfb57f5df, 0x14959ee1,
+ 0xe59ec56c, 0x0a5cae52, 0xe16b1551, 0x0ea97e6f, 0xec756516,
+ 0x03b70e28, 0xe880b52b, 0x0742de15, 0xe6050901, 0x09c7623f,
+ 0xe2f0d93c, 0x0d32b202, 0xefeea97b, 0x002cc245, 0xeb1b7946,
+ 0x04d91278, 0xf5d249f5, 0x1a1022cb, 0xf12799c8, 0x1ee5f2f6,
+ 0xfc39e98f, 0x13fb82b1, 0xf8cc39b2, 0x170e528c, 0xc1ab88e9,
+ 0x2e69e3d7, 0xc55e58d4, 0x2a9c33ea, 0xc8402893, 0x278243ad,
+ 0xccb5f8ae, 0x23779390, 0xd27cc81d, 0x3dbea323, 0xd6891820,
+ 0x394b731e, 0xdb976867, 0x34550359, 0xdf62b85a, 0x30a0d364,
+ 0xa9580ad1, 0x469a61ef, 0xadaddaec, 0x426fb1d2, 0xa0b3aaab,
+ 0x4f71c195, 0xa4467a96, 0x4b8411a8, 0xba8f4a25, 0x554d211b,
+ 0xbe7a9a18, 0x51b8f126, 0xb364ea5f, 0x5ca68161, 0xb7913a62,
+ 0x5853515c, 0x8ef68b39, 0x6134e007, 0x8a035b04, 0x65c1303a,
+ 0x871d2b43, 0x68df407d, 0x83e8fb7e, 0x6c2a9040, 0x9d21cbcd,
+ 0x72e3a0f3, 0x99d41bf0, 0x761670ce, 0x94ca6bb7, 0x7b080089,
+ 0x903fbb8a, 0x7ffdd0b4, 0x78bf0ea1, 0x977d659f, 0x7c4ade9c,
+ 0x9388b5a2, 0x7154aedb, 0x9e96c5e5, 0x75a17ee6, 0x9a6315d8,
+ 0x6b684e55, 0x84aa256b, 0x6f9d9e68, 0x805ff556, 0x6283ee2f,
+ 0x8d418511, 0x66763e12, 0x89b4552c, 0x5f118f49, 0xb0d3e477,
+ 0x5be45f74, 0xb426344a, 0x56fa2f33, 0xb938440d, 0x520fff0e,
+ 0xbdcd9430, 0x4cc6cfbd, 0xa304a483, 0x48331f80, 0xa7f174be,
+ 0x452d6fc7, 0xaaef04f9, 0x41d8bffa, 0xae1ad4c4, 0x37e20d71,
+ 0xd820664f, 0x3317dd4c, 0xdcd5b672, 0x3e09ad0b, 0xd1cbc635,
+ 0x3afc7d36, 0xd53e1608, 0x24354d85, 0xcbf726bb, 0x20c09db8,
+ 0xcf02f686, 0x2ddeedff, 0xc21c86c1, 0x292b3dc2, 0xc6e956fc,
+ 0x104c8c99, 0xff8ee7a7, 0x14b95ca4, 0xfb7b379a, 0x19a72ce3,
+ 0xf66547dd, 0x1d52fcde, 0xf29097e0, 0x039bcc6d, 0xec59a753,
+ 0x076e1c50, 0xe8ac776e, 0x0a706c17, 0xe5b20729, 0x0e85bc2a,
+ 0xe147d714},
+ {0x00000000, 0x177b1443, 0x2ef62886, 0x398d3cc5, 0x5dec510c,
+ 0x4a97454f, 0x731a798a, 0x64616dc9, 0xbbd8a218, 0xaca3b65b,
+ 0x952e8a9e, 0x82559edd, 0xe634f314, 0xf14fe757, 0xc8c2db92,
+ 0xdfb9cfd1, 0xacc04271, 0xbbbb5632, 0x82366af7, 0x954d7eb4,
+ 0xf12c137d, 0xe657073e, 0xdfda3bfb, 0xc8a12fb8, 0x1718e069,
+ 0x0063f42a, 0x39eec8ef, 0x2e95dcac, 0x4af4b165, 0x5d8fa526,
+ 0x640299e3, 0x73798da0, 0x82f182a3, 0x958a96e0, 0xac07aa25,
+ 0xbb7cbe66, 0xdf1dd3af, 0xc866c7ec, 0xf1ebfb29, 0xe690ef6a,
+ 0x392920bb, 0x2e5234f8, 0x17df083d, 0x00a41c7e, 0x64c571b7,
+ 0x73be65f4, 0x4a335931, 0x5d484d72, 0x2e31c0d2, 0x394ad491,
+ 0x00c7e854, 0x17bcfc17, 0x73dd91de, 0x64a6859d, 0x5d2bb958,
+ 0x4a50ad1b, 0x95e962ca, 0x82927689, 0xbb1f4a4c, 0xac645e0f,
+ 0xc80533c6, 0xdf7e2785, 0xe6f31b40, 0xf1880f03, 0xde920307,
+ 0xc9e91744, 0xf0642b81, 0xe71f3fc2, 0x837e520b, 0x94054648,
+ 0xad887a8d, 0xbaf36ece, 0x654aa11f, 0x7231b55c, 0x4bbc8999,
+ 0x5cc79dda, 0x38a6f013, 0x2fdde450, 0x1650d895, 0x012bccd6,
+ 0x72524176, 0x65295535, 0x5ca469f0, 0x4bdf7db3, 0x2fbe107a,
+ 0x38c50439, 0x014838fc, 0x16332cbf, 0xc98ae36e, 0xdef1f72d,
+ 0xe77ccbe8, 0xf007dfab, 0x9466b262, 0x831da621, 0xba909ae4,
+ 0xadeb8ea7, 0x5c6381a4, 0x4b1895e7, 0x7295a922, 0x65eebd61,
+ 0x018fd0a8, 0x16f4c4eb, 0x2f79f82e, 0x3802ec6d, 0xe7bb23bc,
+ 0xf0c037ff, 0xc94d0b3a, 0xde361f79, 0xba5772b0, 0xad2c66f3,
+ 0x94a15a36, 0x83da4e75, 0xf0a3c3d5, 0xe7d8d796, 0xde55eb53,
+ 0xc92eff10, 0xad4f92d9, 0xba34869a, 0x83b9ba5f, 0x94c2ae1c,
+ 0x4b7b61cd, 0x5c00758e, 0x658d494b, 0x72f65d08, 0x169730c1,
+ 0x01ec2482, 0x38611847, 0x2f1a0c04, 0x6655004f, 0x712e140c,
+ 0x48a328c9, 0x5fd83c8a, 0x3bb95143, 0x2cc24500, 0x154f79c5,
+ 0x02346d86, 0xdd8da257, 0xcaf6b614, 0xf37b8ad1, 0xe4009e92,
+ 0x8061f35b, 0x971ae718, 0xae97dbdd, 0xb9eccf9e, 0xca95423e,
+ 0xddee567d, 0xe4636ab8, 0xf3187efb, 0x97791332, 0x80020771,
+ 0xb98f3bb4, 0xaef42ff7, 0x714de026, 0x6636f465, 0x5fbbc8a0,
+ 0x48c0dce3, 0x2ca1b12a, 0x3bdaa569, 0x025799ac, 0x152c8def,
+ 0xe4a482ec, 0xf3df96af, 0xca52aa6a, 0xdd29be29, 0xb948d3e0,
+ 0xae33c7a3, 0x97befb66, 0x80c5ef25, 0x5f7c20f4, 0x480734b7,
+ 0x718a0872, 0x66f11c31, 0x029071f8, 0x15eb65bb, 0x2c66597e,
+ 0x3b1d4d3d, 0x4864c09d, 0x5f1fd4de, 0x6692e81b, 0x71e9fc58,
+ 0x15889191, 0x02f385d2, 0x3b7eb917, 0x2c05ad54, 0xf3bc6285,
+ 0xe4c776c6, 0xdd4a4a03, 0xca315e40, 0xae503389, 0xb92b27ca,
+ 0x80a61b0f, 0x97dd0f4c, 0xb8c70348, 0xafbc170b, 0x96312bce,
+ 0x814a3f8d, 0xe52b5244, 0xf2504607, 0xcbdd7ac2, 0xdca66e81,
+ 0x031fa150, 0x1464b513, 0x2de989d6, 0x3a929d95, 0x5ef3f05c,
+ 0x4988e41f, 0x7005d8da, 0x677ecc99, 0x14074139, 0x037c557a,
+ 0x3af169bf, 0x2d8a7dfc, 0x49eb1035, 0x5e900476, 0x671d38b3,
+ 0x70662cf0, 0xafdfe321, 0xb8a4f762, 0x8129cba7, 0x9652dfe4,
+ 0xf233b22d, 0xe548a66e, 0xdcc59aab, 0xcbbe8ee8, 0x3a3681eb,
+ 0x2d4d95a8, 0x14c0a96d, 0x03bbbd2e, 0x67dad0e7, 0x70a1c4a4,
+ 0x492cf861, 0x5e57ec22, 0x81ee23f3, 0x969537b0, 0xaf180b75,
+ 0xb8631f36, 0xdc0272ff, 0xcb7966bc, 0xf2f45a79, 0xe58f4e3a,
+ 0x96f6c39a, 0x818dd7d9, 0xb800eb1c, 0xaf7bff5f, 0xcb1a9296,
+ 0xdc6186d5, 0xe5ecba10, 0xf297ae53, 0x2d2e6182, 0x3a5575c1,
+ 0x03d84904, 0x14a35d47, 0x70c2308e, 0x67b924cd, 0x5e341808,
+ 0x494f0c4b}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x00000000, 0x43147b17, 0x8628f62e, 0xc53c8d39, 0x0c51ec5d,
+ 0x4f45974a, 0x8a791a73, 0xc96d6164, 0x18a2d8bb, 0x5bb6a3ac,
+ 0x9e8a2e95, 0xdd9e5582, 0x14f334e6, 0x57e74ff1, 0x92dbc2c8,
+ 0xd1cfb9df, 0x7142c0ac, 0x3256bbbb, 0xf76a3682, 0xb47e4d95,
+ 0x7d132cf1, 0x3e0757e6, 0xfb3bdadf, 0xb82fa1c8, 0x69e01817,
+ 0x2af46300, 0xefc8ee39, 0xacdc952e, 0x65b1f44a, 0x26a58f5d,
+ 0xe3990264, 0xa08d7973, 0xa382f182, 0xe0968a95, 0x25aa07ac,
+ 0x66be7cbb, 0xafd31ddf, 0xecc766c8, 0x29fbebf1, 0x6aef90e6,
+ 0xbb202939, 0xf834522e, 0x3d08df17, 0x7e1ca400, 0xb771c564,
+ 0xf465be73, 0x3159334a, 0x724d485d, 0xd2c0312e, 0x91d44a39,
+ 0x54e8c700, 0x17fcbc17, 0xde91dd73, 0x9d85a664, 0x58b92b5d,
+ 0x1bad504a, 0xca62e995, 0x89769282, 0x4c4a1fbb, 0x0f5e64ac,
+ 0xc63305c8, 0x85277edf, 0x401bf3e6, 0x030f88f1, 0x070392de,
+ 0x4417e9c9, 0x812b64f0, 0xc23f1fe7, 0x0b527e83, 0x48460594,
+ 0x8d7a88ad, 0xce6ef3ba, 0x1fa14a65, 0x5cb53172, 0x9989bc4b,
+ 0xda9dc75c, 0x13f0a638, 0x50e4dd2f, 0x95d85016, 0xd6cc2b01,
+ 0x76415272, 0x35552965, 0xf069a45c, 0xb37ddf4b, 0x7a10be2f,
+ 0x3904c538, 0xfc384801, 0xbf2c3316, 0x6ee38ac9, 0x2df7f1de,
+ 0xe8cb7ce7, 0xabdf07f0, 0x62b26694, 0x21a61d83, 0xe49a90ba,
+ 0xa78eebad, 0xa481635c, 0xe795184b, 0x22a99572, 0x61bdee65,
+ 0xa8d08f01, 0xebc4f416, 0x2ef8792f, 0x6dec0238, 0xbc23bbe7,
+ 0xff37c0f0, 0x3a0b4dc9, 0x791f36de, 0xb07257ba, 0xf3662cad,
+ 0x365aa194, 0x754eda83, 0xd5c3a3f0, 0x96d7d8e7, 0x53eb55de,
+ 0x10ff2ec9, 0xd9924fad, 0x9a8634ba, 0x5fbab983, 0x1caec294,
+ 0xcd617b4b, 0x8e75005c, 0x4b498d65, 0x085df672, 0xc1309716,
+ 0x8224ec01, 0x47186138, 0x040c1a2f, 0x4f005566, 0x0c142e71,
+ 0xc928a348, 0x8a3cd85f, 0x4351b93b, 0x0045c22c, 0xc5794f15,
+ 0x866d3402, 0x57a28ddd, 0x14b6f6ca, 0xd18a7bf3, 0x929e00e4,
+ 0x5bf36180, 0x18e71a97, 0xdddb97ae, 0x9ecfecb9, 0x3e4295ca,
+ 0x7d56eedd, 0xb86a63e4, 0xfb7e18f3, 0x32137997, 0x71070280,
+ 0xb43b8fb9, 0xf72ff4ae, 0x26e04d71, 0x65f43666, 0xa0c8bb5f,
+ 0xe3dcc048, 0x2ab1a12c, 0x69a5da3b, 0xac995702, 0xef8d2c15,
+ 0xec82a4e4, 0xaf96dff3, 0x6aaa52ca, 0x29be29dd, 0xe0d348b9,
+ 0xa3c733ae, 0x66fbbe97, 0x25efc580, 0xf4207c5f, 0xb7340748,
+ 0x72088a71, 0x311cf166, 0xf8719002, 0xbb65eb15, 0x7e59662c,
+ 0x3d4d1d3b, 0x9dc06448, 0xded41f5f, 0x1be89266, 0x58fce971,
+ 0x91918815, 0xd285f302, 0x17b97e3b, 0x54ad052c, 0x8562bcf3,
+ 0xc676c7e4, 0x034a4add, 0x405e31ca, 0x893350ae, 0xca272bb9,
+ 0x0f1ba680, 0x4c0fdd97, 0x4803c7b8, 0x0b17bcaf, 0xce2b3196,
+ 0x8d3f4a81, 0x44522be5, 0x074650f2, 0xc27addcb, 0x816ea6dc,
+ 0x50a11f03, 0x13b56414, 0xd689e92d, 0x959d923a, 0x5cf0f35e,
+ 0x1fe48849, 0xdad80570, 0x99cc7e67, 0x39410714, 0x7a557c03,
+ 0xbf69f13a, 0xfc7d8a2d, 0x3510eb49, 0x7604905e, 0xb3381d67,
+ 0xf02c6670, 0x21e3dfaf, 0x62f7a4b8, 0xa7cb2981, 0xe4df5296,
+ 0x2db233f2, 0x6ea648e5, 0xab9ac5dc, 0xe88ebecb, 0xeb81363a,
+ 0xa8954d2d, 0x6da9c014, 0x2ebdbb03, 0xe7d0da67, 0xa4c4a170,
+ 0x61f82c49, 0x22ec575e, 0xf323ee81, 0xb0379596, 0x750b18af,
+ 0x361f63b8, 0xff7202dc, 0xbc6679cb, 0x795af4f2, 0x3a4e8fe5,
+ 0x9ac3f696, 0xd9d78d81, 0x1ceb00b8, 0x5fff7baf, 0x96921acb,
+ 0xd58661dc, 0x10baece5, 0x53ae97f2, 0x82612e2d, 0xc175553a,
+ 0x0449d803, 0x475da314, 0x8e30c270, 0xcd24b967, 0x0818345e,
+ 0x4b0c4f49},
+ {0x00000000, 0x3e6bc2ef, 0x3dd0f504, 0x03bb37eb, 0x7aa0eb09,
+ 0x44cb29e6, 0x47701e0d, 0x791bdce2, 0xf440d713, 0xca2b15fc,
+ 0xc9902217, 0xf7fbe0f8, 0x8ee03c1a, 0xb08bfef5, 0xb330c91e,
+ 0x8d5b0bf1, 0xe881ae27, 0xd6ea6cc8, 0xd5515b23, 0xeb3a99cc,
+ 0x9221452e, 0xac4a87c1, 0xaff1b02a, 0x919a72c5, 0x1cc17934,
+ 0x22aabbdb, 0x21118c30, 0x1f7a4edf, 0x6661923d, 0x580a50d2,
+ 0x5bb16739, 0x65daa5d6, 0xd0035d4f, 0xee689fa0, 0xedd3a84b,
+ 0xd3b86aa4, 0xaaa3b646, 0x94c874a9, 0x97734342, 0xa91881ad,
+ 0x24438a5c, 0x1a2848b3, 0x19937f58, 0x27f8bdb7, 0x5ee36155,
+ 0x6088a3ba, 0x63339451, 0x5d5856be, 0x3882f368, 0x06e93187,
+ 0x0552066c, 0x3b39c483, 0x42221861, 0x7c49da8e, 0x7ff2ed65,
+ 0x41992f8a, 0xccc2247b, 0xf2a9e694, 0xf112d17f, 0xcf791390,
+ 0xb662cf72, 0x88090d9d, 0x8bb23a76, 0xb5d9f899, 0xa007ba9e,
+ 0x9e6c7871, 0x9dd74f9a, 0xa3bc8d75, 0xdaa75197, 0xe4cc9378,
+ 0xe777a493, 0xd91c667c, 0x54476d8d, 0x6a2caf62, 0x69979889,
+ 0x57fc5a66, 0x2ee78684, 0x108c446b, 0x13377380, 0x2d5cb16f,
+ 0x488614b9, 0x76edd656, 0x7556e1bd, 0x4b3d2352, 0x3226ffb0,
+ 0x0c4d3d5f, 0x0ff60ab4, 0x319dc85b, 0xbcc6c3aa, 0x82ad0145,
+ 0x811636ae, 0xbf7df441, 0xc66628a3, 0xf80dea4c, 0xfbb6dda7,
+ 0xc5dd1f48, 0x7004e7d1, 0x4e6f253e, 0x4dd412d5, 0x73bfd03a,
+ 0x0aa40cd8, 0x34cfce37, 0x3774f9dc, 0x091f3b33, 0x844430c2,
+ 0xba2ff22d, 0xb994c5c6, 0x87ff0729, 0xfee4dbcb, 0xc08f1924,
+ 0xc3342ecf, 0xfd5fec20, 0x988549f6, 0xa6ee8b19, 0xa555bcf2,
+ 0x9b3e7e1d, 0xe225a2ff, 0xdc4e6010, 0xdff557fb, 0xe19e9514,
+ 0x6cc59ee5, 0x52ae5c0a, 0x51156be1, 0x6f7ea90e, 0x166575ec,
+ 0x280eb703, 0x2bb580e8, 0x15de4207, 0x010905e6, 0x3f62c709,
+ 0x3cd9f0e2, 0x02b2320d, 0x7ba9eeef, 0x45c22c00, 0x46791beb,
+ 0x7812d904, 0xf549d2f5, 0xcb22101a, 0xc89927f1, 0xf6f2e51e,
+ 0x8fe939fc, 0xb182fb13, 0xb239ccf8, 0x8c520e17, 0xe988abc1,
+ 0xd7e3692e, 0xd4585ec5, 0xea339c2a, 0x932840c8, 0xad438227,
+ 0xaef8b5cc, 0x90937723, 0x1dc87cd2, 0x23a3be3d, 0x201889d6,
+ 0x1e734b39, 0x676897db, 0x59035534, 0x5ab862df, 0x64d3a030,
+ 0xd10a58a9, 0xef619a46, 0xecdaadad, 0xd2b16f42, 0xabaab3a0,
+ 0x95c1714f, 0x967a46a4, 0xa811844b, 0x254a8fba, 0x1b214d55,
+ 0x189a7abe, 0x26f1b851, 0x5fea64b3, 0x6181a65c, 0x623a91b7,
+ 0x5c515358, 0x398bf68e, 0x07e03461, 0x045b038a, 0x3a30c165,
+ 0x432b1d87, 0x7d40df68, 0x7efbe883, 0x40902a6c, 0xcdcb219d,
+ 0xf3a0e372, 0xf01bd499, 0xce701676, 0xb76bca94, 0x8900087b,
+ 0x8abb3f90, 0xb4d0fd7f, 0xa10ebf78, 0x9f657d97, 0x9cde4a7c,
+ 0xa2b58893, 0xdbae5471, 0xe5c5969e, 0xe67ea175, 0xd815639a,
+ 0x554e686b, 0x6b25aa84, 0x689e9d6f, 0x56f55f80, 0x2fee8362,
+ 0x1185418d, 0x123e7666, 0x2c55b489, 0x498f115f, 0x77e4d3b0,
+ 0x745fe45b, 0x4a3426b4, 0x332ffa56, 0x0d4438b9, 0x0eff0f52,
+ 0x3094cdbd, 0xbdcfc64c, 0x83a404a3, 0x801f3348, 0xbe74f1a7,
+ 0xc76f2d45, 0xf904efaa, 0xfabfd841, 0xc4d41aae, 0x710de237,
+ 0x4f6620d8, 0x4cdd1733, 0x72b6d5dc, 0x0bad093e, 0x35c6cbd1,
+ 0x367dfc3a, 0x08163ed5, 0x854d3524, 0xbb26f7cb, 0xb89dc020,
+ 0x86f602cf, 0xffedde2d, 0xc1861cc2, 0xc23d2b29, 0xfc56e9c6,
+ 0x998c4c10, 0xa7e78eff, 0xa45cb914, 0x9a377bfb, 0xe32ca719,
+ 0xdd4765f6, 0xdefc521d, 0xe09790f2, 0x6dcc9b03, 0x53a759ec,
+ 0x501c6e07, 0x6e77ace8, 0x176c700a, 0x2907b2e5, 0x2abc850e,
+ 0x14d747e1},
+ {0x00000000, 0xc0df8ec1, 0xc1b96c58, 0x0166e299, 0x8273d9b0,
+ 0x42ac5771, 0x43cab5e8, 0x83153b29, 0x45e1c3ba, 0x853e4d7b,
+ 0x8458afe2, 0x44872123, 0xc7921a0a, 0x074d94cb, 0x062b7652,
+ 0xc6f4f893, 0xcbc4f6ae, 0x0b1b786f, 0x0a7d9af6, 0xcaa21437,
+ 0x49b72f1e, 0x8968a1df, 0x880e4346, 0x48d1cd87, 0x8e253514,
+ 0x4efabbd5, 0x4f9c594c, 0x8f43d78d, 0x0c56eca4, 0xcc896265,
+ 0xcdef80fc, 0x0d300e3d, 0xd78f9c86, 0x17501247, 0x1636f0de,
+ 0xd6e97e1f, 0x55fc4536, 0x9523cbf7, 0x9445296e, 0x549aa7af,
+ 0x926e5f3c, 0x52b1d1fd, 0x53d73364, 0x9308bda5, 0x101d868c,
+ 0xd0c2084d, 0xd1a4ead4, 0x117b6415, 0x1c4b6a28, 0xdc94e4e9,
+ 0xddf20670, 0x1d2d88b1, 0x9e38b398, 0x5ee73d59, 0x5f81dfc0,
+ 0x9f5e5101, 0x59aaa992, 0x99752753, 0x9813c5ca, 0x58cc4b0b,
+ 0xdbd97022, 0x1b06fee3, 0x1a601c7a, 0xdabf92bb, 0xef1948d6,
+ 0x2fc6c617, 0x2ea0248e, 0xee7faa4f, 0x6d6a9166, 0xadb51fa7,
+ 0xacd3fd3e, 0x6c0c73ff, 0xaaf88b6c, 0x6a2705ad, 0x6b41e734,
+ 0xab9e69f5, 0x288b52dc, 0xe854dc1d, 0xe9323e84, 0x29edb045,
+ 0x24ddbe78, 0xe40230b9, 0xe564d220, 0x25bb5ce1, 0xa6ae67c8,
+ 0x6671e909, 0x67170b90, 0xa7c88551, 0x613c7dc2, 0xa1e3f303,
+ 0xa085119a, 0x605a9f5b, 0xe34fa472, 0x23902ab3, 0x22f6c82a,
+ 0xe22946eb, 0x3896d450, 0xf8495a91, 0xf92fb808, 0x39f036c9,
+ 0xbae50de0, 0x7a3a8321, 0x7b5c61b8, 0xbb83ef79, 0x7d7717ea,
+ 0xbda8992b, 0xbcce7bb2, 0x7c11f573, 0xff04ce5a, 0x3fdb409b,
+ 0x3ebda202, 0xfe622cc3, 0xf35222fe, 0x338dac3f, 0x32eb4ea6,
+ 0xf234c067, 0x7121fb4e, 0xb1fe758f, 0xb0989716, 0x704719d7,
+ 0xb6b3e144, 0x766c6f85, 0x770a8d1c, 0xb7d503dd, 0x34c038f4,
+ 0xf41fb635, 0xf57954ac, 0x35a6da6d, 0x9f35e177, 0x5fea6fb6,
+ 0x5e8c8d2f, 0x9e5303ee, 0x1d4638c7, 0xdd99b606, 0xdcff549f,
+ 0x1c20da5e, 0xdad422cd, 0x1a0bac0c, 0x1b6d4e95, 0xdbb2c054,
+ 0x58a7fb7d, 0x987875bc, 0x991e9725, 0x59c119e4, 0x54f117d9,
+ 0x942e9918, 0x95487b81, 0x5597f540, 0xd682ce69, 0x165d40a8,
+ 0x173ba231, 0xd7e42cf0, 0x1110d463, 0xd1cf5aa2, 0xd0a9b83b,
+ 0x107636fa, 0x93630dd3, 0x53bc8312, 0x52da618b, 0x9205ef4a,
+ 0x48ba7df1, 0x8865f330, 0x890311a9, 0x49dc9f68, 0xcac9a441,
+ 0x0a162a80, 0x0b70c819, 0xcbaf46d8, 0x0d5bbe4b, 0xcd84308a,
+ 0xcce2d213, 0x0c3d5cd2, 0x8f2867fb, 0x4ff7e93a, 0x4e910ba3,
+ 0x8e4e8562, 0x837e8b5f, 0x43a1059e, 0x42c7e707, 0x821869c6,
+ 0x010d52ef, 0xc1d2dc2e, 0xc0b43eb7, 0x006bb076, 0xc69f48e5,
+ 0x0640c624, 0x072624bd, 0xc7f9aa7c, 0x44ec9155, 0x84331f94,
+ 0x8555fd0d, 0x458a73cc, 0x702ca9a1, 0xb0f32760, 0xb195c5f9,
+ 0x714a4b38, 0xf25f7011, 0x3280fed0, 0x33e61c49, 0xf3399288,
+ 0x35cd6a1b, 0xf512e4da, 0xf4740643, 0x34ab8882, 0xb7beb3ab,
+ 0x77613d6a, 0x7607dff3, 0xb6d85132, 0xbbe85f0f, 0x7b37d1ce,
+ 0x7a513357, 0xba8ebd96, 0x399b86bf, 0xf944087e, 0xf822eae7,
+ 0x38fd6426, 0xfe099cb5, 0x3ed61274, 0x3fb0f0ed, 0xff6f7e2c,
+ 0x7c7a4505, 0xbca5cbc4, 0xbdc3295d, 0x7d1ca79c, 0xa7a33527,
+ 0x677cbbe6, 0x661a597f, 0xa6c5d7be, 0x25d0ec97, 0xe50f6256,
+ 0xe46980cf, 0x24b60e0e, 0xe242f69d, 0x229d785c, 0x23fb9ac5,
+ 0xe3241404, 0x60312f2d, 0xa0eea1ec, 0xa1884375, 0x6157cdb4,
+ 0x6c67c389, 0xacb84d48, 0xaddeafd1, 0x6d012110, 0xee141a39,
+ 0x2ecb94f8, 0x2fad7661, 0xef72f8a0, 0x29860033, 0xe9598ef2,
+ 0xe83f6c6b, 0x28e0e2aa, 0xabf5d983, 0x6b2a5742, 0x6a4cb5db,
+ 0xaa933b1a},
+ {0x00000000, 0x6f4ca59b, 0x9f9e3bec, 0xf0d29e77, 0x7f3b0603,
+ 0x1077a398, 0xe0a53def, 0x8fe99874, 0xfe760c06, 0x913aa99d,
+ 0x61e837ea, 0x0ea49271, 0x814d0a05, 0xee01af9e, 0x1ed331e9,
+ 0x719f9472, 0xfced180c, 0x93a1bd97, 0x637323e0, 0x0c3f867b,
+ 0x83d61e0f, 0xec9abb94, 0x1c4825e3, 0x73048078, 0x029b140a,
+ 0x6dd7b191, 0x9d052fe6, 0xf2498a7d, 0x7da01209, 0x12ecb792,
+ 0xe23e29e5, 0x8d728c7e, 0xf8db3118, 0x97979483, 0x67450af4,
+ 0x0809af6f, 0x87e0371b, 0xe8ac9280, 0x187e0cf7, 0x7732a96c,
+ 0x06ad3d1e, 0x69e19885, 0x993306f2, 0xf67fa369, 0x79963b1d,
+ 0x16da9e86, 0xe60800f1, 0x8944a56a, 0x04362914, 0x6b7a8c8f,
+ 0x9ba812f8, 0xf4e4b763, 0x7b0d2f17, 0x14418a8c, 0xe49314fb,
+ 0x8bdfb160, 0xfa402512, 0x950c8089, 0x65de1efe, 0x0a92bb65,
+ 0x857b2311, 0xea37868a, 0x1ae518fd, 0x75a9bd66, 0xf0b76330,
+ 0x9ffbc6ab, 0x6f2958dc, 0x0065fd47, 0x8f8c6533, 0xe0c0c0a8,
+ 0x10125edf, 0x7f5efb44, 0x0ec16f36, 0x618dcaad, 0x915f54da,
+ 0xfe13f141, 0x71fa6935, 0x1eb6ccae, 0xee6452d9, 0x8128f742,
+ 0x0c5a7b3c, 0x6316dea7, 0x93c440d0, 0xfc88e54b, 0x73617d3f,
+ 0x1c2dd8a4, 0xecff46d3, 0x83b3e348, 0xf22c773a, 0x9d60d2a1,
+ 0x6db24cd6, 0x02fee94d, 0x8d177139, 0xe25bd4a2, 0x12894ad5,
+ 0x7dc5ef4e, 0x086c5228, 0x6720f7b3, 0x97f269c4, 0xf8becc5f,
+ 0x7757542b, 0x181bf1b0, 0xe8c96fc7, 0x8785ca5c, 0xf61a5e2e,
+ 0x9956fbb5, 0x698465c2, 0x06c8c059, 0x8921582d, 0xe66dfdb6,
+ 0x16bf63c1, 0x79f3c65a, 0xf4814a24, 0x9bcdefbf, 0x6b1f71c8,
+ 0x0453d453, 0x8bba4c27, 0xe4f6e9bc, 0x142477cb, 0x7b68d250,
+ 0x0af74622, 0x65bbe3b9, 0x95697dce, 0xfa25d855, 0x75cc4021,
+ 0x1a80e5ba, 0xea527bcd, 0x851ede56, 0xe06fc760, 0x8f2362fb,
+ 0x7ff1fc8c, 0x10bd5917, 0x9f54c163, 0xf01864f8, 0x00cafa8f,
+ 0x6f865f14, 0x1e19cb66, 0x71556efd, 0x8187f08a, 0xeecb5511,
+ 0x6122cd65, 0x0e6e68fe, 0xfebcf689, 0x91f05312, 0x1c82df6c,
+ 0x73ce7af7, 0x831ce480, 0xec50411b, 0x63b9d96f, 0x0cf57cf4,
+ 0xfc27e283, 0x936b4718, 0xe2f4d36a, 0x8db876f1, 0x7d6ae886,
+ 0x12264d1d, 0x9dcfd569, 0xf28370f2, 0x0251ee85, 0x6d1d4b1e,
+ 0x18b4f678, 0x77f853e3, 0x872acd94, 0xe866680f, 0x678ff07b,
+ 0x08c355e0, 0xf811cb97, 0x975d6e0c, 0xe6c2fa7e, 0x898e5fe5,
+ 0x795cc192, 0x16106409, 0x99f9fc7d, 0xf6b559e6, 0x0667c791,
+ 0x692b620a, 0xe459ee74, 0x8b154bef, 0x7bc7d598, 0x148b7003,
+ 0x9b62e877, 0xf42e4dec, 0x04fcd39b, 0x6bb07600, 0x1a2fe272,
+ 0x756347e9, 0x85b1d99e, 0xeafd7c05, 0x6514e471, 0x0a5841ea,
+ 0xfa8adf9d, 0x95c67a06, 0x10d8a450, 0x7f9401cb, 0x8f469fbc,
+ 0xe00a3a27, 0x6fe3a253, 0x00af07c8, 0xf07d99bf, 0x9f313c24,
+ 0xeeaea856, 0x81e20dcd, 0x713093ba, 0x1e7c3621, 0x9195ae55,
+ 0xfed90bce, 0x0e0b95b9, 0x61473022, 0xec35bc5c, 0x837919c7,
+ 0x73ab87b0, 0x1ce7222b, 0x930eba5f, 0xfc421fc4, 0x0c9081b3,
+ 0x63dc2428, 0x1243b05a, 0x7d0f15c1, 0x8ddd8bb6, 0xe2912e2d,
+ 0x6d78b659, 0x023413c2, 0xf2e68db5, 0x9daa282e, 0xe8039548,
+ 0x874f30d3, 0x779daea4, 0x18d10b3f, 0x9738934b, 0xf87436d0,
+ 0x08a6a8a7, 0x67ea0d3c, 0x1675994e, 0x79393cd5, 0x89eba2a2,
+ 0xe6a70739, 0x694e9f4d, 0x06023ad6, 0xf6d0a4a1, 0x999c013a,
+ 0x14ee8d44, 0x7ba228df, 0x8b70b6a8, 0xe43c1333, 0x6bd58b47,
+ 0x04992edc, 0xf44bb0ab, 0x9b071530, 0xea988142, 0x85d424d9,
+ 0x7506baae, 0x1a4a1f35, 0x95a38741, 0xfaef22da, 0x0a3dbcad,
+ 0x65711936}};
+
+#endif
+
+#endif
+
+#if N == 4
+
+#if W == 8
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0xf1da05aa, 0x38c50d15, 0xc91f08bf, 0x718a1a2a,
+ 0x80501f80, 0x494f173f, 0xb8951295, 0xe3143454, 0x12ce31fe,
+ 0xdbd13941, 0x2a0b3ceb, 0x929e2e7e, 0x63442bd4, 0xaa5b236b,
+ 0x5b8126c1, 0x1d596ee9, 0xec836b43, 0x259c63fc, 0xd4466656,
+ 0x6cd374c3, 0x9d097169, 0x541679d6, 0xa5cc7c7c, 0xfe4d5abd,
+ 0x0f975f17, 0xc68857a8, 0x37525202, 0x8fc74097, 0x7e1d453d,
+ 0xb7024d82, 0x46d84828, 0x3ab2ddd2, 0xcb68d878, 0x0277d0c7,
+ 0xf3add56d, 0x4b38c7f8, 0xbae2c252, 0x73fdcaed, 0x8227cf47,
+ 0xd9a6e986, 0x287cec2c, 0xe163e493, 0x10b9e139, 0xa82cf3ac,
+ 0x59f6f606, 0x90e9feb9, 0x6133fb13, 0x27ebb33b, 0xd631b691,
+ 0x1f2ebe2e, 0xeef4bb84, 0x5661a911, 0xa7bbacbb, 0x6ea4a404,
+ 0x9f7ea1ae, 0xc4ff876f, 0x352582c5, 0xfc3a8a7a, 0x0de08fd0,
+ 0xb5759d45, 0x44af98ef, 0x8db09050, 0x7c6a95fa, 0x7565bba4,
+ 0x84bfbe0e, 0x4da0b6b1, 0xbc7ab31b, 0x04efa18e, 0xf535a424,
+ 0x3c2aac9b, 0xcdf0a931, 0x96718ff0, 0x67ab8a5a, 0xaeb482e5,
+ 0x5f6e874f, 0xe7fb95da, 0x16219070, 0xdf3e98cf, 0x2ee49d65,
+ 0x683cd54d, 0x99e6d0e7, 0x50f9d858, 0xa123ddf2, 0x19b6cf67,
+ 0xe86ccacd, 0x2173c272, 0xd0a9c7d8, 0x8b28e119, 0x7af2e4b3,
+ 0xb3edec0c, 0x4237e9a6, 0xfaa2fb33, 0x0b78fe99, 0xc267f626,
+ 0x33bdf38c, 0x4fd76676, 0xbe0d63dc, 0x77126b63, 0x86c86ec9,
+ 0x3e5d7c5c, 0xcf8779f6, 0x06987149, 0xf74274e3, 0xacc35222,
+ 0x5d195788, 0x94065f37, 0x65dc5a9d, 0xdd494808, 0x2c934da2,
+ 0xe58c451d, 0x145640b7, 0x528e089f, 0xa3540d35, 0x6a4b058a,
+ 0x9b910020, 0x230412b5, 0xd2de171f, 0x1bc11fa0, 0xea1b1a0a,
+ 0xb19a3ccb, 0x40403961, 0x895f31de, 0x78853474, 0xc01026e1,
+ 0x31ca234b, 0xf8d52bf4, 0x090f2e5e, 0xeacb7748, 0x1b1172e2,
+ 0xd20e7a5d, 0x23d47ff7, 0x9b416d62, 0x6a9b68c8, 0xa3846077,
+ 0x525e65dd, 0x09df431c, 0xf80546b6, 0x311a4e09, 0xc0c04ba3,
+ 0x78555936, 0x898f5c9c, 0x40905423, 0xb14a5189, 0xf79219a1,
+ 0x06481c0b, 0xcf5714b4, 0x3e8d111e, 0x8618038b, 0x77c20621,
+ 0xbedd0e9e, 0x4f070b34, 0x14862df5, 0xe55c285f, 0x2c4320e0,
+ 0xdd99254a, 0x650c37df, 0x94d63275, 0x5dc93aca, 0xac133f60,
+ 0xd079aa9a, 0x21a3af30, 0xe8bca78f, 0x1966a225, 0xa1f3b0b0,
+ 0x5029b51a, 0x9936bda5, 0x68ecb80f, 0x336d9ece, 0xc2b79b64,
+ 0x0ba893db, 0xfa729671, 0x42e784e4, 0xb33d814e, 0x7a2289f1,
+ 0x8bf88c5b, 0xcd20c473, 0x3cfac1d9, 0xf5e5c966, 0x043fcccc,
+ 0xbcaade59, 0x4d70dbf3, 0x846fd34c, 0x75b5d6e6, 0x2e34f027,
+ 0xdfeef58d, 0x16f1fd32, 0xe72bf898, 0x5fbeea0d, 0xae64efa7,
+ 0x677be718, 0x96a1e2b2, 0x9faeccec, 0x6e74c946, 0xa76bc1f9,
+ 0x56b1c453, 0xee24d6c6, 0x1ffed36c, 0xd6e1dbd3, 0x273bde79,
+ 0x7cbaf8b8, 0x8d60fd12, 0x447ff5ad, 0xb5a5f007, 0x0d30e292,
+ 0xfceae738, 0x35f5ef87, 0xc42fea2d, 0x82f7a205, 0x732da7af,
+ 0xba32af10, 0x4be8aaba, 0xf37db82f, 0x02a7bd85, 0xcbb8b53a,
+ 0x3a62b090, 0x61e39651, 0x903993fb, 0x59269b44, 0xa8fc9eee,
+ 0x10698c7b, 0xe1b389d1, 0x28ac816e, 0xd97684c4, 0xa51c113e,
+ 0x54c61494, 0x9dd91c2b, 0x6c031981, 0xd4960b14, 0x254c0ebe,
+ 0xec530601, 0x1d8903ab, 0x4608256a, 0xb7d220c0, 0x7ecd287f,
+ 0x8f172dd5, 0x37823f40, 0xc6583aea, 0x0f473255, 0xfe9d37ff,
+ 0xb8457fd7, 0x499f7a7d, 0x808072c2, 0x715a7768, 0xc9cf65fd,
+ 0x38156057, 0xf10a68e8, 0x00d06d42, 0x5b514b83, 0xaa8b4e29,
+ 0x63944696, 0x924e433c, 0x2adb51a9, 0xdb015403, 0x121e5cbc,
+ 0xe3c45916},
+ {0x00000000, 0x0ee7e8d1, 0x1dcfd1a2, 0x13283973, 0x3b9fa344,
+ 0x35784b95, 0x265072e6, 0x28b79a37, 0x773f4688, 0x79d8ae59,
+ 0x6af0972a, 0x64177ffb, 0x4ca0e5cc, 0x42470d1d, 0x516f346e,
+ 0x5f88dcbf, 0xee7e8d10, 0xe09965c1, 0xf3b15cb2, 0xfd56b463,
+ 0xd5e12e54, 0xdb06c685, 0xc82efff6, 0xc6c91727, 0x9941cb98,
+ 0x97a62349, 0x848e1a3a, 0x8a69f2eb, 0xa2de68dc, 0xac39800d,
+ 0xbf11b97e, 0xb1f651af, 0x078c1c61, 0x096bf4b0, 0x1a43cdc3,
+ 0x14a42512, 0x3c13bf25, 0x32f457f4, 0x21dc6e87, 0x2f3b8656,
+ 0x70b35ae9, 0x7e54b238, 0x6d7c8b4b, 0x639b639a, 0x4b2cf9ad,
+ 0x45cb117c, 0x56e3280f, 0x5804c0de, 0xe9f29171, 0xe71579a0,
+ 0xf43d40d3, 0xfadaa802, 0xd26d3235, 0xdc8adae4, 0xcfa2e397,
+ 0xc1450b46, 0x9ecdd7f9, 0x902a3f28, 0x8302065b, 0x8de5ee8a,
+ 0xa55274bd, 0xabb59c6c, 0xb89da51f, 0xb67a4dce, 0x0f1838c2,
+ 0x01ffd013, 0x12d7e960, 0x1c3001b1, 0x34879b86, 0x3a607357,
+ 0x29484a24, 0x27afa2f5, 0x78277e4a, 0x76c0969b, 0x65e8afe8,
+ 0x6b0f4739, 0x43b8dd0e, 0x4d5f35df, 0x5e770cac, 0x5090e47d,
+ 0xe166b5d2, 0xef815d03, 0xfca96470, 0xf24e8ca1, 0xdaf91696,
+ 0xd41efe47, 0xc736c734, 0xc9d12fe5, 0x9659f35a, 0x98be1b8b,
+ 0x8b9622f8, 0x8571ca29, 0xadc6501e, 0xa321b8cf, 0xb00981bc,
+ 0xbeee696d, 0x089424a3, 0x0673cc72, 0x155bf501, 0x1bbc1dd0,
+ 0x330b87e7, 0x3dec6f36, 0x2ec45645, 0x2023be94, 0x7fab622b,
+ 0x714c8afa, 0x6264b389, 0x6c835b58, 0x4434c16f, 0x4ad329be,
+ 0x59fb10cd, 0x571cf81c, 0xe6eaa9b3, 0xe80d4162, 0xfb257811,
+ 0xf5c290c0, 0xdd750af7, 0xd392e226, 0xc0badb55, 0xce5d3384,
+ 0x91d5ef3b, 0x9f3207ea, 0x8c1a3e99, 0x82fdd648, 0xaa4a4c7f,
+ 0xa4ada4ae, 0xb7859ddd, 0xb962750c, 0x1e307184, 0x10d79955,
+ 0x03ffa026, 0x0d1848f7, 0x25afd2c0, 0x2b483a11, 0x38600362,
+ 0x3687ebb3, 0x690f370c, 0x67e8dfdd, 0x74c0e6ae, 0x7a270e7f,
+ 0x52909448, 0x5c777c99, 0x4f5f45ea, 0x41b8ad3b, 0xf04efc94,
+ 0xfea91445, 0xed812d36, 0xe366c5e7, 0xcbd15fd0, 0xc536b701,
+ 0xd61e8e72, 0xd8f966a3, 0x8771ba1c, 0x899652cd, 0x9abe6bbe,
+ 0x9459836f, 0xbcee1958, 0xb209f189, 0xa121c8fa, 0xafc6202b,
+ 0x19bc6de5, 0x175b8534, 0x0473bc47, 0x0a945496, 0x2223cea1,
+ 0x2cc42670, 0x3fec1f03, 0x310bf7d2, 0x6e832b6d, 0x6064c3bc,
+ 0x734cfacf, 0x7dab121e, 0x551c8829, 0x5bfb60f8, 0x48d3598b,
+ 0x4634b15a, 0xf7c2e0f5, 0xf9250824, 0xea0d3157, 0xe4ead986,
+ 0xcc5d43b1, 0xc2baab60, 0xd1929213, 0xdf757ac2, 0x80fda67d,
+ 0x8e1a4eac, 0x9d3277df, 0x93d59f0e, 0xbb620539, 0xb585ede8,
+ 0xa6add49b, 0xa84a3c4a, 0x11284946, 0x1fcfa197, 0x0ce798e4,
+ 0x02007035, 0x2ab7ea02, 0x245002d3, 0x37783ba0, 0x399fd371,
+ 0x66170fce, 0x68f0e71f, 0x7bd8de6c, 0x753f36bd, 0x5d88ac8a,
+ 0x536f445b, 0x40477d28, 0x4ea095f9, 0xff56c456, 0xf1b12c87,
+ 0xe29915f4, 0xec7efd25, 0xc4c96712, 0xca2e8fc3, 0xd906b6b0,
+ 0xd7e15e61, 0x886982de, 0x868e6a0f, 0x95a6537c, 0x9b41bbad,
+ 0xb3f6219a, 0xbd11c94b, 0xae39f038, 0xa0de18e9, 0x16a45527,
+ 0x1843bdf6, 0x0b6b8485, 0x058c6c54, 0x2d3bf663, 0x23dc1eb2,
+ 0x30f427c1, 0x3e13cf10, 0x619b13af, 0x6f7cfb7e, 0x7c54c20d,
+ 0x72b32adc, 0x5a04b0eb, 0x54e3583a, 0x47cb6149, 0x492c8998,
+ 0xf8dad837, 0xf63d30e6, 0xe5150995, 0xebf2e144, 0xc3457b73,
+ 0xcda293a2, 0xde8aaad1, 0xd06d4200, 0x8fe59ebf, 0x8102766e,
+ 0x922a4f1d, 0x9ccda7cc, 0xb47a3dfb, 0xba9dd52a, 0xa9b5ec59,
+ 0xa7520488},
+ {0x00000000, 0x3c60e308, 0x78c1c610, 0x44a12518, 0xf1838c20,
+ 0xcde36f28, 0x89424a30, 0xb522a938, 0x38761e01, 0x0416fd09,
+ 0x40b7d811, 0x7cd73b19, 0xc9f59221, 0xf5957129, 0xb1345431,
+ 0x8d54b739, 0x70ec3c02, 0x4c8cdf0a, 0x082dfa12, 0x344d191a,
+ 0x816fb022, 0xbd0f532a, 0xf9ae7632, 0xc5ce953a, 0x489a2203,
+ 0x74fac10b, 0x305be413, 0x0c3b071b, 0xb919ae23, 0x85794d2b,
+ 0xc1d86833, 0xfdb88b3b, 0xe1d87804, 0xddb89b0c, 0x9919be14,
+ 0xa5795d1c, 0x105bf424, 0x2c3b172c, 0x689a3234, 0x54fad13c,
+ 0xd9ae6605, 0xe5ce850d, 0xa16fa015, 0x9d0f431d, 0x282dea25,
+ 0x144d092d, 0x50ec2c35, 0x6c8ccf3d, 0x91344406, 0xad54a70e,
+ 0xe9f58216, 0xd595611e, 0x60b7c826, 0x5cd72b2e, 0x18760e36,
+ 0x2416ed3e, 0xa9425a07, 0x9522b90f, 0xd1839c17, 0xede37f1f,
+ 0x58c1d627, 0x64a1352f, 0x20001037, 0x1c60f33f, 0x18c1f649,
+ 0x24a11541, 0x60003059, 0x5c60d351, 0xe9427a69, 0xd5229961,
+ 0x9183bc79, 0xade35f71, 0x20b7e848, 0x1cd70b40, 0x58762e58,
+ 0x6416cd50, 0xd1346468, 0xed548760, 0xa9f5a278, 0x95954170,
+ 0x682dca4b, 0x544d2943, 0x10ec0c5b, 0x2c8cef53, 0x99ae466b,
+ 0xa5cea563, 0xe16f807b, 0xdd0f6373, 0x505bd44a, 0x6c3b3742,
+ 0x289a125a, 0x14faf152, 0xa1d8586a, 0x9db8bb62, 0xd9199e7a,
+ 0xe5797d72, 0xf9198e4d, 0xc5796d45, 0x81d8485d, 0xbdb8ab55,
+ 0x089a026d, 0x34fae165, 0x705bc47d, 0x4c3b2775, 0xc16f904c,
+ 0xfd0f7344, 0xb9ae565c, 0x85ceb554, 0x30ec1c6c, 0x0c8cff64,
+ 0x482dda7c, 0x744d3974, 0x89f5b24f, 0xb5955147, 0xf134745f,
+ 0xcd549757, 0x78763e6f, 0x4416dd67, 0x00b7f87f, 0x3cd71b77,
+ 0xb183ac4e, 0x8de34f46, 0xc9426a5e, 0xf5228956, 0x4000206e,
+ 0x7c60c366, 0x38c1e67e, 0x04a10576, 0x3183ec92, 0x0de30f9a,
+ 0x49422a82, 0x7522c98a, 0xc00060b2, 0xfc6083ba, 0xb8c1a6a2,
+ 0x84a145aa, 0x09f5f293, 0x3595119b, 0x71343483, 0x4d54d78b,
+ 0xf8767eb3, 0xc4169dbb, 0x80b7b8a3, 0xbcd75bab, 0x416fd090,
+ 0x7d0f3398, 0x39ae1680, 0x05cef588, 0xb0ec5cb0, 0x8c8cbfb8,
+ 0xc82d9aa0, 0xf44d79a8, 0x7919ce91, 0x45792d99, 0x01d80881,
+ 0x3db8eb89, 0x889a42b1, 0xb4faa1b9, 0xf05b84a1, 0xcc3b67a9,
+ 0xd05b9496, 0xec3b779e, 0xa89a5286, 0x94fab18e, 0x21d818b6,
+ 0x1db8fbbe, 0x5919dea6, 0x65793dae, 0xe82d8a97, 0xd44d699f,
+ 0x90ec4c87, 0xac8caf8f, 0x19ae06b7, 0x25cee5bf, 0x616fc0a7,
+ 0x5d0f23af, 0xa0b7a894, 0x9cd74b9c, 0xd8766e84, 0xe4168d8c,
+ 0x513424b4, 0x6d54c7bc, 0x29f5e2a4, 0x159501ac, 0x98c1b695,
+ 0xa4a1559d, 0xe0007085, 0xdc60938d, 0x69423ab5, 0x5522d9bd,
+ 0x1183fca5, 0x2de31fad, 0x29421adb, 0x1522f9d3, 0x5183dccb,
+ 0x6de33fc3, 0xd8c196fb, 0xe4a175f3, 0xa00050eb, 0x9c60b3e3,
+ 0x113404da, 0x2d54e7d2, 0x69f5c2ca, 0x559521c2, 0xe0b788fa,
+ 0xdcd76bf2, 0x98764eea, 0xa416ade2, 0x59ae26d9, 0x65cec5d1,
+ 0x216fe0c9, 0x1d0f03c1, 0xa82daaf9, 0x944d49f1, 0xd0ec6ce9,
+ 0xec8c8fe1, 0x61d838d8, 0x5db8dbd0, 0x1919fec8, 0x25791dc0,
+ 0x905bb4f8, 0xac3b57f0, 0xe89a72e8, 0xd4fa91e0, 0xc89a62df,
+ 0xf4fa81d7, 0xb05ba4cf, 0x8c3b47c7, 0x3919eeff, 0x05790df7,
+ 0x41d828ef, 0x7db8cbe7, 0xf0ec7cde, 0xcc8c9fd6, 0x882dbace,
+ 0xb44d59c6, 0x016ff0fe, 0x3d0f13f6, 0x79ae36ee, 0x45ced5e6,
+ 0xb8765edd, 0x8416bdd5, 0xc0b798cd, 0xfcd77bc5, 0x49f5d2fd,
+ 0x759531f5, 0x313414ed, 0x0d54f7e5, 0x800040dc, 0xbc60a3d4,
+ 0xf8c186cc, 0xc4a165c4, 0x7183ccfc, 0x4de32ff4, 0x09420aec,
+ 0x3522e9e4},
+ {0x00000000, 0x6307d924, 0xc60fb248, 0xa5086b6c, 0x576e62d1,
+ 0x3469bbf5, 0x9161d099, 0xf26609bd, 0xaedcc5a2, 0xcddb1c86,
+ 0x68d377ea, 0x0bd4aece, 0xf9b2a773, 0x9ab57e57, 0x3fbd153b,
+ 0x5cbacc1f, 0x86c88d05, 0xe5cf5421, 0x40c73f4d, 0x23c0e669,
+ 0xd1a6efd4, 0xb2a136f0, 0x17a95d9c, 0x74ae84b8, 0x281448a7,
+ 0x4b139183, 0xee1bfaef, 0x8d1c23cb, 0x7f7a2a76, 0x1c7df352,
+ 0xb975983e, 0xda72411a, 0xd6e01c4b, 0xb5e7c56f, 0x10efae03,
+ 0x73e87727, 0x818e7e9a, 0xe289a7be, 0x4781ccd2, 0x248615f6,
+ 0x783cd9e9, 0x1b3b00cd, 0xbe336ba1, 0xdd34b285, 0x2f52bb38,
+ 0x4c55621c, 0xe95d0970, 0x8a5ad054, 0x5028914e, 0x332f486a,
+ 0x96272306, 0xf520fa22, 0x0746f39f, 0x64412abb, 0xc14941d7,
+ 0xa24e98f3, 0xfef454ec, 0x9df38dc8, 0x38fbe6a4, 0x5bfc3f80,
+ 0xa99a363d, 0xca9def19, 0x6f958475, 0x0c925d51, 0x76b13ed7,
+ 0x15b6e7f3, 0xb0be8c9f, 0xd3b955bb, 0x21df5c06, 0x42d88522,
+ 0xe7d0ee4e, 0x84d7376a, 0xd86dfb75, 0xbb6a2251, 0x1e62493d,
+ 0x7d659019, 0x8f0399a4, 0xec044080, 0x490c2bec, 0x2a0bf2c8,
+ 0xf079b3d2, 0x937e6af6, 0x3676019a, 0x5571d8be, 0xa717d103,
+ 0xc4100827, 0x6118634b, 0x021fba6f, 0x5ea57670, 0x3da2af54,
+ 0x98aac438, 0xfbad1d1c, 0x09cb14a1, 0x6acccd85, 0xcfc4a6e9,
+ 0xacc37fcd, 0xa051229c, 0xc356fbb8, 0x665e90d4, 0x055949f0,
+ 0xf73f404d, 0x94389969, 0x3130f205, 0x52372b21, 0x0e8de73e,
+ 0x6d8a3e1a, 0xc8825576, 0xab858c52, 0x59e385ef, 0x3ae45ccb,
+ 0x9fec37a7, 0xfcebee83, 0x2699af99, 0x459e76bd, 0xe0961dd1,
+ 0x8391c4f5, 0x71f7cd48, 0x12f0146c, 0xb7f87f00, 0xd4ffa624,
+ 0x88456a3b, 0xeb42b31f, 0x4e4ad873, 0x2d4d0157, 0xdf2b08ea,
+ 0xbc2cd1ce, 0x1924baa2, 0x7a236386, 0xed627dae, 0x8e65a48a,
+ 0x2b6dcfe6, 0x486a16c2, 0xba0c1f7f, 0xd90bc65b, 0x7c03ad37,
+ 0x1f047413, 0x43beb80c, 0x20b96128, 0x85b10a44, 0xe6b6d360,
+ 0x14d0dadd, 0x77d703f9, 0xd2df6895, 0xb1d8b1b1, 0x6baaf0ab,
+ 0x08ad298f, 0xada542e3, 0xcea29bc7, 0x3cc4927a, 0x5fc34b5e,
+ 0xfacb2032, 0x99ccf916, 0xc5763509, 0xa671ec2d, 0x03798741,
+ 0x607e5e65, 0x921857d8, 0xf11f8efc, 0x5417e590, 0x37103cb4,
+ 0x3b8261e5, 0x5885b8c1, 0xfd8dd3ad, 0x9e8a0a89, 0x6cec0334,
+ 0x0febda10, 0xaae3b17c, 0xc9e46858, 0x955ea447, 0xf6597d63,
+ 0x5351160f, 0x3056cf2b, 0xc230c696, 0xa1371fb2, 0x043f74de,
+ 0x6738adfa, 0xbd4aece0, 0xde4d35c4, 0x7b455ea8, 0x1842878c,
+ 0xea248e31, 0x89235715, 0x2c2b3c79, 0x4f2ce55d, 0x13962942,
+ 0x7091f066, 0xd5999b0a, 0xb69e422e, 0x44f84b93, 0x27ff92b7,
+ 0x82f7f9db, 0xe1f020ff, 0x9bd34379, 0xf8d49a5d, 0x5ddcf131,
+ 0x3edb2815, 0xccbd21a8, 0xafbaf88c, 0x0ab293e0, 0x69b54ac4,
+ 0x350f86db, 0x56085fff, 0xf3003493, 0x9007edb7, 0x6261e40a,
+ 0x01663d2e, 0xa46e5642, 0xc7698f66, 0x1d1bce7c, 0x7e1c1758,
+ 0xdb147c34, 0xb813a510, 0x4a75acad, 0x29727589, 0x8c7a1ee5,
+ 0xef7dc7c1, 0xb3c70bde, 0xd0c0d2fa, 0x75c8b996, 0x16cf60b2,
+ 0xe4a9690f, 0x87aeb02b, 0x22a6db47, 0x41a10263, 0x4d335f32,
+ 0x2e348616, 0x8b3ced7a, 0xe83b345e, 0x1a5d3de3, 0x795ae4c7,
+ 0xdc528fab, 0xbf55568f, 0xe3ef9a90, 0x80e843b4, 0x25e028d8,
+ 0x46e7f1fc, 0xb481f841, 0xd7862165, 0x728e4a09, 0x1189932d,
+ 0xcbfbd237, 0xa8fc0b13, 0x0df4607f, 0x6ef3b95b, 0x9c95b0e6,
+ 0xff9269c2, 0x5a9a02ae, 0x399ddb8a, 0x65271795, 0x0620ceb1,
+ 0xa328a5dd, 0xc02f7cf9, 0x32497544, 0x514eac60, 0xf446c70c,
+ 0x97411e28},
+ {0x00000000, 0x01b5fd1d, 0x036bfa3a, 0x02de0727, 0x06d7f474,
+ 0x07620969, 0x05bc0e4e, 0x0409f353, 0x0dafe8e8, 0x0c1a15f5,
+ 0x0ec412d2, 0x0f71efcf, 0x0b781c9c, 0x0acde181, 0x0813e6a6,
+ 0x09a61bbb, 0x1b5fd1d0, 0x1aea2ccd, 0x18342bea, 0x1981d6f7,
+ 0x1d8825a4, 0x1c3dd8b9, 0x1ee3df9e, 0x1f562283, 0x16f03938,
+ 0x1745c425, 0x159bc302, 0x142e3e1f, 0x1027cd4c, 0x11923051,
+ 0x134c3776, 0x12f9ca6b, 0x36bfa3a0, 0x370a5ebd, 0x35d4599a,
+ 0x3461a487, 0x306857d4, 0x31ddaac9, 0x3303adee, 0x32b650f3,
+ 0x3b104b48, 0x3aa5b655, 0x387bb172, 0x39ce4c6f, 0x3dc7bf3c,
+ 0x3c724221, 0x3eac4506, 0x3f19b81b, 0x2de07270, 0x2c558f6d,
+ 0x2e8b884a, 0x2f3e7557, 0x2b378604, 0x2a827b19, 0x285c7c3e,
+ 0x29e98123, 0x204f9a98, 0x21fa6785, 0x232460a2, 0x22919dbf,
+ 0x26986eec, 0x272d93f1, 0x25f394d6, 0x244669cb, 0x6d7f4740,
+ 0x6ccaba5d, 0x6e14bd7a, 0x6fa14067, 0x6ba8b334, 0x6a1d4e29,
+ 0x68c3490e, 0x6976b413, 0x60d0afa8, 0x616552b5, 0x63bb5592,
+ 0x620ea88f, 0x66075bdc, 0x67b2a6c1, 0x656ca1e6, 0x64d95cfb,
+ 0x76209690, 0x77956b8d, 0x754b6caa, 0x74fe91b7, 0x70f762e4,
+ 0x71429ff9, 0x739c98de, 0x722965c3, 0x7b8f7e78, 0x7a3a8365,
+ 0x78e48442, 0x7951795f, 0x7d588a0c, 0x7ced7711, 0x7e337036,
+ 0x7f868d2b, 0x5bc0e4e0, 0x5a7519fd, 0x58ab1eda, 0x591ee3c7,
+ 0x5d171094, 0x5ca2ed89, 0x5e7ceaae, 0x5fc917b3, 0x566f0c08,
+ 0x57daf115, 0x5504f632, 0x54b10b2f, 0x50b8f87c, 0x510d0561,
+ 0x53d30246, 0x5266ff5b, 0x409f3530, 0x412ac82d, 0x43f4cf0a,
+ 0x42413217, 0x4648c144, 0x47fd3c59, 0x45233b7e, 0x4496c663,
+ 0x4d30ddd8, 0x4c8520c5, 0x4e5b27e2, 0x4feedaff, 0x4be729ac,
+ 0x4a52d4b1, 0x488cd396, 0x49392e8b, 0xdafe8e80, 0xdb4b739d,
+ 0xd99574ba, 0xd82089a7, 0xdc297af4, 0xdd9c87e9, 0xdf4280ce,
+ 0xdef77dd3, 0xd7516668, 0xd6e49b75, 0xd43a9c52, 0xd58f614f,
+ 0xd186921c, 0xd0336f01, 0xd2ed6826, 0xd358953b, 0xc1a15f50,
+ 0xc014a24d, 0xc2caa56a, 0xc37f5877, 0xc776ab24, 0xc6c35639,
+ 0xc41d511e, 0xc5a8ac03, 0xcc0eb7b8, 0xcdbb4aa5, 0xcf654d82,
+ 0xced0b09f, 0xcad943cc, 0xcb6cbed1, 0xc9b2b9f6, 0xc80744eb,
+ 0xec412d20, 0xedf4d03d, 0xef2ad71a, 0xee9f2a07, 0xea96d954,
+ 0xeb232449, 0xe9fd236e, 0xe848de73, 0xe1eec5c8, 0xe05b38d5,
+ 0xe2853ff2, 0xe330c2ef, 0xe73931bc, 0xe68ccca1, 0xe452cb86,
+ 0xe5e7369b, 0xf71efcf0, 0xf6ab01ed, 0xf47506ca, 0xf5c0fbd7,
+ 0xf1c90884, 0xf07cf599, 0xf2a2f2be, 0xf3170fa3, 0xfab11418,
+ 0xfb04e905, 0xf9daee22, 0xf86f133f, 0xfc66e06c, 0xfdd31d71,
+ 0xff0d1a56, 0xfeb8e74b, 0xb781c9c0, 0xb63434dd, 0xb4ea33fa,
+ 0xb55fcee7, 0xb1563db4, 0xb0e3c0a9, 0xb23dc78e, 0xb3883a93,
+ 0xba2e2128, 0xbb9bdc35, 0xb945db12, 0xb8f0260f, 0xbcf9d55c,
+ 0xbd4c2841, 0xbf922f66, 0xbe27d27b, 0xacde1810, 0xad6be50d,
+ 0xafb5e22a, 0xae001f37, 0xaa09ec64, 0xabbc1179, 0xa962165e,
+ 0xa8d7eb43, 0xa171f0f8, 0xa0c40de5, 0xa21a0ac2, 0xa3aff7df,
+ 0xa7a6048c, 0xa613f991, 0xa4cdfeb6, 0xa57803ab, 0x813e6a60,
+ 0x808b977d, 0x8255905a, 0x83e06d47, 0x87e99e14, 0x865c6309,
+ 0x8482642e, 0x85379933, 0x8c918288, 0x8d247f95, 0x8ffa78b2,
+ 0x8e4f85af, 0x8a4676fc, 0x8bf38be1, 0x892d8cc6, 0x889871db,
+ 0x9a61bbb0, 0x9bd446ad, 0x990a418a, 0x98bfbc97, 0x9cb64fc4,
+ 0x9d03b2d9, 0x9fddb5fe, 0x9e6848e3, 0x97ce5358, 0x967bae45,
+ 0x94a5a962, 0x9510547f, 0x9119a72c, 0x90ac5a31, 0x92725d16,
+ 0x93c7a00b},
+ {0x00000000, 0x6e8c1b41, 0xdd183682, 0xb3942dc3, 0x61416b45,
+ 0x0fcd7004, 0xbc595dc7, 0xd2d54686, 0xc282d68a, 0xac0ecdcb,
+ 0x1f9ae008, 0x7116fb49, 0xa3c3bdcf, 0xcd4fa68e, 0x7edb8b4d,
+ 0x1057900c, 0x5e74ab55, 0x30f8b014, 0x836c9dd7, 0xede08696,
+ 0x3f35c010, 0x51b9db51, 0xe22df692, 0x8ca1edd3, 0x9cf67ddf,
+ 0xf27a669e, 0x41ee4b5d, 0x2f62501c, 0xfdb7169a, 0x933b0ddb,
+ 0x20af2018, 0x4e233b59, 0xbce956aa, 0xd2654deb, 0x61f16028,
+ 0x0f7d7b69, 0xdda83def, 0xb32426ae, 0x00b00b6d, 0x6e3c102c,
+ 0x7e6b8020, 0x10e79b61, 0xa373b6a2, 0xcdffade3, 0x1f2aeb65,
+ 0x71a6f024, 0xc232dde7, 0xacbec6a6, 0xe29dfdff, 0x8c11e6be,
+ 0x3f85cb7d, 0x5109d03c, 0x83dc96ba, 0xed508dfb, 0x5ec4a038,
+ 0x3048bb79, 0x201f2b75, 0x4e933034, 0xfd071df7, 0x938b06b6,
+ 0x415e4030, 0x2fd25b71, 0x9c4676b2, 0xf2ca6df3, 0xa2a3ab15,
+ 0xcc2fb054, 0x7fbb9d97, 0x113786d6, 0xc3e2c050, 0xad6edb11,
+ 0x1efaf6d2, 0x7076ed93, 0x60217d9f, 0x0ead66de, 0xbd394b1d,
+ 0xd3b5505c, 0x016016da, 0x6fec0d9b, 0xdc782058, 0xb2f43b19,
+ 0xfcd70040, 0x925b1b01, 0x21cf36c2, 0x4f432d83, 0x9d966b05,
+ 0xf31a7044, 0x408e5d87, 0x2e0246c6, 0x3e55d6ca, 0x50d9cd8b,
+ 0xe34de048, 0x8dc1fb09, 0x5f14bd8f, 0x3198a6ce, 0x820c8b0d,
+ 0xec80904c, 0x1e4afdbf, 0x70c6e6fe, 0xc352cb3d, 0xadded07c,
+ 0x7f0b96fa, 0x11878dbb, 0xa213a078, 0xcc9fbb39, 0xdcc82b35,
+ 0xb2443074, 0x01d01db7, 0x6f5c06f6, 0xbd894070, 0xd3055b31,
+ 0x609176f2, 0x0e1d6db3, 0x403e56ea, 0x2eb24dab, 0x9d266068,
+ 0xf3aa7b29, 0x217f3daf, 0x4ff326ee, 0xfc670b2d, 0x92eb106c,
+ 0x82bc8060, 0xec309b21, 0x5fa4b6e2, 0x3128ada3, 0xe3fdeb25,
+ 0x8d71f064, 0x3ee5dda7, 0x5069c6e6, 0x9e36506b, 0xf0ba4b2a,
+ 0x432e66e9, 0x2da27da8, 0xff773b2e, 0x91fb206f, 0x226f0dac,
+ 0x4ce316ed, 0x5cb486e1, 0x32389da0, 0x81acb063, 0xef20ab22,
+ 0x3df5eda4, 0x5379f6e5, 0xe0eddb26, 0x8e61c067, 0xc042fb3e,
+ 0xaecee07f, 0x1d5acdbc, 0x73d6d6fd, 0xa103907b, 0xcf8f8b3a,
+ 0x7c1ba6f9, 0x1297bdb8, 0x02c02db4, 0x6c4c36f5, 0xdfd81b36,
+ 0xb1540077, 0x638146f1, 0x0d0d5db0, 0xbe997073, 0xd0156b32,
+ 0x22df06c1, 0x4c531d80, 0xffc73043, 0x914b2b02, 0x439e6d84,
+ 0x2d1276c5, 0x9e865b06, 0xf00a4047, 0xe05dd04b, 0x8ed1cb0a,
+ 0x3d45e6c9, 0x53c9fd88, 0x811cbb0e, 0xef90a04f, 0x5c048d8c,
+ 0x328896cd, 0x7cabad94, 0x1227b6d5, 0xa1b39b16, 0xcf3f8057,
+ 0x1deac6d1, 0x7366dd90, 0xc0f2f053, 0xae7eeb12, 0xbe297b1e,
+ 0xd0a5605f, 0x63314d9c, 0x0dbd56dd, 0xdf68105b, 0xb1e40b1a,
+ 0x027026d9, 0x6cfc3d98, 0x3c95fb7e, 0x5219e03f, 0xe18dcdfc,
+ 0x8f01d6bd, 0x5dd4903b, 0x33588b7a, 0x80cca6b9, 0xee40bdf8,
+ 0xfe172df4, 0x909b36b5, 0x230f1b76, 0x4d830037, 0x9f5646b1,
+ 0xf1da5df0, 0x424e7033, 0x2cc26b72, 0x62e1502b, 0x0c6d4b6a,
+ 0xbff966a9, 0xd1757de8, 0x03a03b6e, 0x6d2c202f, 0xdeb80dec,
+ 0xb03416ad, 0xa06386a1, 0xceef9de0, 0x7d7bb023, 0x13f7ab62,
+ 0xc122ede4, 0xafaef6a5, 0x1c3adb66, 0x72b6c027, 0x807cadd4,
+ 0xeef0b695, 0x5d649b56, 0x33e88017, 0xe13dc691, 0x8fb1ddd0,
+ 0x3c25f013, 0x52a9eb52, 0x42fe7b5e, 0x2c72601f, 0x9fe64ddc,
+ 0xf16a569d, 0x23bf101b, 0x4d330b5a, 0xfea72699, 0x902b3dd8,
+ 0xde080681, 0xb0841dc0, 0x03103003, 0x6d9c2b42, 0xbf496dc4,
+ 0xd1c57685, 0x62515b46, 0x0cdd4007, 0x1c8ad00b, 0x7206cb4a,
+ 0xc192e689, 0xaf1efdc8, 0x7dcbbb4e, 0x1347a00f, 0xa0d38dcc,
+ 0xce5f968d},
+ {0x00000000, 0xe71da697, 0x154a4b6f, 0xf257edf8, 0x2a9496de,
+ 0xcd893049, 0x3fdeddb1, 0xd8c37b26, 0x55292dbc, 0xb2348b2b,
+ 0x406366d3, 0xa77ec044, 0x7fbdbb62, 0x98a01df5, 0x6af7f00d,
+ 0x8dea569a, 0xaa525b78, 0x4d4ffdef, 0xbf181017, 0x5805b680,
+ 0x80c6cda6, 0x67db6b31, 0x958c86c9, 0x7291205e, 0xff7b76c4,
+ 0x1866d053, 0xea313dab, 0x0d2c9b3c, 0xd5efe01a, 0x32f2468d,
+ 0xc0a5ab75, 0x27b80de2, 0x8fd5b0b1, 0x68c81626, 0x9a9ffbde,
+ 0x7d825d49, 0xa541266f, 0x425c80f8, 0xb00b6d00, 0x5716cb97,
+ 0xdafc9d0d, 0x3de13b9a, 0xcfb6d662, 0x28ab70f5, 0xf0680bd3,
+ 0x1775ad44, 0xe52240bc, 0x023fe62b, 0x2587ebc9, 0xc29a4d5e,
+ 0x30cda0a6, 0xd7d00631, 0x0f137d17, 0xe80edb80, 0x1a593678,
+ 0xfd4490ef, 0x70aec675, 0x97b360e2, 0x65e48d1a, 0x82f92b8d,
+ 0x5a3a50ab, 0xbd27f63c, 0x4f701bc4, 0xa86dbd53, 0xc4da6723,
+ 0x23c7c1b4, 0xd1902c4c, 0x368d8adb, 0xee4ef1fd, 0x0953576a,
+ 0xfb04ba92, 0x1c191c05, 0x91f34a9f, 0x76eeec08, 0x84b901f0,
+ 0x63a4a767, 0xbb67dc41, 0x5c7a7ad6, 0xae2d972e, 0x493031b9,
+ 0x6e883c5b, 0x89959acc, 0x7bc27734, 0x9cdfd1a3, 0x441caa85,
+ 0xa3010c12, 0x5156e1ea, 0xb64b477d, 0x3ba111e7, 0xdcbcb770,
+ 0x2eeb5a88, 0xc9f6fc1f, 0x11358739, 0xf62821ae, 0x047fcc56,
+ 0xe3626ac1, 0x4b0fd792, 0xac127105, 0x5e459cfd, 0xb9583a6a,
+ 0x619b414c, 0x8686e7db, 0x74d10a23, 0x93ccacb4, 0x1e26fa2e,
+ 0xf93b5cb9, 0x0b6cb141, 0xec7117d6, 0x34b26cf0, 0xd3afca67,
+ 0x21f8279f, 0xc6e58108, 0xe15d8cea, 0x06402a7d, 0xf417c785,
+ 0x130a6112, 0xcbc91a34, 0x2cd4bca3, 0xde83515b, 0x399ef7cc,
+ 0xb474a156, 0x536907c1, 0xa13eea39, 0x46234cae, 0x9ee03788,
+ 0x79fd911f, 0x8baa7ce7, 0x6cb7da70, 0x52c5c807, 0xb5d86e90,
+ 0x478f8368, 0xa09225ff, 0x78515ed9, 0x9f4cf84e, 0x6d1b15b6,
+ 0x8a06b321, 0x07ece5bb, 0xe0f1432c, 0x12a6aed4, 0xf5bb0843,
+ 0x2d787365, 0xca65d5f2, 0x3832380a, 0xdf2f9e9d, 0xf897937f,
+ 0x1f8a35e8, 0xedddd810, 0x0ac07e87, 0xd20305a1, 0x351ea336,
+ 0xc7494ece, 0x2054e859, 0xadbebec3, 0x4aa31854, 0xb8f4f5ac,
+ 0x5fe9533b, 0x872a281d, 0x60378e8a, 0x92606372, 0x757dc5e5,
+ 0xdd1078b6, 0x3a0dde21, 0xc85a33d9, 0x2f47954e, 0xf784ee68,
+ 0x109948ff, 0xe2cea507, 0x05d30390, 0x8839550a, 0x6f24f39d,
+ 0x9d731e65, 0x7a6eb8f2, 0xa2adc3d4, 0x45b06543, 0xb7e788bb,
+ 0x50fa2e2c, 0x774223ce, 0x905f8559, 0x620868a1, 0x8515ce36,
+ 0x5dd6b510, 0xbacb1387, 0x489cfe7f, 0xaf8158e8, 0x226b0e72,
+ 0xc576a8e5, 0x3721451d, 0xd03ce38a, 0x08ff98ac, 0xefe23e3b,
+ 0x1db5d3c3, 0xfaa87554, 0x961faf24, 0x710209b3, 0x8355e44b,
+ 0x644842dc, 0xbc8b39fa, 0x5b969f6d, 0xa9c17295, 0x4edcd402,
+ 0xc3368298, 0x242b240f, 0xd67cc9f7, 0x31616f60, 0xe9a21446,
+ 0x0ebfb2d1, 0xfce85f29, 0x1bf5f9be, 0x3c4df45c, 0xdb5052cb,
+ 0x2907bf33, 0xce1a19a4, 0x16d96282, 0xf1c4c415, 0x039329ed,
+ 0xe48e8f7a, 0x6964d9e0, 0x8e797f77, 0x7c2e928f, 0x9b333418,
+ 0x43f04f3e, 0xa4ede9a9, 0x56ba0451, 0xb1a7a2c6, 0x19ca1f95,
+ 0xfed7b902, 0x0c8054fa, 0xeb9df26d, 0x335e894b, 0xd4432fdc,
+ 0x2614c224, 0xc10964b3, 0x4ce33229, 0xabfe94be, 0x59a97946,
+ 0xbeb4dfd1, 0x6677a4f7, 0x816a0260, 0x733def98, 0x9420490f,
+ 0xb39844ed, 0x5485e27a, 0xa6d20f82, 0x41cfa915, 0x990cd233,
+ 0x7e1174a4, 0x8c46995c, 0x6b5b3fcb, 0xe6b16951, 0x01accfc6,
+ 0xf3fb223e, 0x14e684a9, 0xcc25ff8f, 0x2b385918, 0xd96fb4e0,
+ 0x3e721277},
+ {0x00000000, 0xa58b900e, 0x9066265d, 0x35edb653, 0xfbbd4afb,
+ 0x5e36daf5, 0x6bdb6ca6, 0xce50fca8, 0x2c0b93b7, 0x898003b9,
+ 0xbc6db5ea, 0x19e625e4, 0xd7b6d94c, 0x723d4942, 0x47d0ff11,
+ 0xe25b6f1f, 0x5817276e, 0xfd9cb760, 0xc8710133, 0x6dfa913d,
+ 0xa3aa6d95, 0x0621fd9b, 0x33cc4bc8, 0x9647dbc6, 0x741cb4d9,
+ 0xd19724d7, 0xe47a9284, 0x41f1028a, 0x8fa1fe22, 0x2a2a6e2c,
+ 0x1fc7d87f, 0xba4c4871, 0xb02e4edc, 0x15a5ded2, 0x20486881,
+ 0x85c3f88f, 0x4b930427, 0xee189429, 0xdbf5227a, 0x7e7eb274,
+ 0x9c25dd6b, 0x39ae4d65, 0x0c43fb36, 0xa9c86b38, 0x67989790,
+ 0xc213079e, 0xf7feb1cd, 0x527521c3, 0xe83969b2, 0x4db2f9bc,
+ 0x785f4fef, 0xddd4dfe1, 0x13842349, 0xb60fb347, 0x83e20514,
+ 0x2669951a, 0xc432fa05, 0x61b96a0b, 0x5454dc58, 0xf1df4c56,
+ 0x3f8fb0fe, 0x9a0420f0, 0xafe996a3, 0x0a6206ad, 0xbb2d9bf9,
+ 0x1ea60bf7, 0x2b4bbda4, 0x8ec02daa, 0x4090d102, 0xe51b410c,
+ 0xd0f6f75f, 0x757d6751, 0x9726084e, 0x32ad9840, 0x07402e13,
+ 0xa2cbbe1d, 0x6c9b42b5, 0xc910d2bb, 0xfcfd64e8, 0x5976f4e6,
+ 0xe33abc97, 0x46b12c99, 0x735c9aca, 0xd6d70ac4, 0x1887f66c,
+ 0xbd0c6662, 0x88e1d031, 0x2d6a403f, 0xcf312f20, 0x6ababf2e,
+ 0x5f57097d, 0xfadc9973, 0x348c65db, 0x9107f5d5, 0xa4ea4386,
+ 0x0161d388, 0x0b03d525, 0xae88452b, 0x9b65f378, 0x3eee6376,
+ 0xf0be9fde, 0x55350fd0, 0x60d8b983, 0xc553298d, 0x27084692,
+ 0x8283d69c, 0xb76e60cf, 0x12e5f0c1, 0xdcb50c69, 0x793e9c67,
+ 0x4cd32a34, 0xe958ba3a, 0x5314f24b, 0xf69f6245, 0xc372d416,
+ 0x66f94418, 0xa8a9b8b0, 0x0d2228be, 0x38cf9eed, 0x9d440ee3,
+ 0x7f1f61fc, 0xda94f1f2, 0xef7947a1, 0x4af2d7af, 0x84a22b07,
+ 0x2129bb09, 0x14c40d5a, 0xb14f9d54, 0xad2a31b3, 0x08a1a1bd,
+ 0x3d4c17ee, 0x98c787e0, 0x56977b48, 0xf31ceb46, 0xc6f15d15,
+ 0x637acd1b, 0x8121a204, 0x24aa320a, 0x11478459, 0xb4cc1457,
+ 0x7a9ce8ff, 0xdf1778f1, 0xeafacea2, 0x4f715eac, 0xf53d16dd,
+ 0x50b686d3, 0x655b3080, 0xc0d0a08e, 0x0e805c26, 0xab0bcc28,
+ 0x9ee67a7b, 0x3b6dea75, 0xd936856a, 0x7cbd1564, 0x4950a337,
+ 0xecdb3339, 0x228bcf91, 0x87005f9f, 0xb2ede9cc, 0x176679c2,
+ 0x1d047f6f, 0xb88fef61, 0x8d625932, 0x28e9c93c, 0xe6b93594,
+ 0x4332a59a, 0x76df13c9, 0xd35483c7, 0x310fecd8, 0x94847cd6,
+ 0xa169ca85, 0x04e25a8b, 0xcab2a623, 0x6f39362d, 0x5ad4807e,
+ 0xff5f1070, 0x45135801, 0xe098c80f, 0xd5757e5c, 0x70feee52,
+ 0xbeae12fa, 0x1b2582f4, 0x2ec834a7, 0x8b43a4a9, 0x6918cbb6,
+ 0xcc935bb8, 0xf97eedeb, 0x5cf57de5, 0x92a5814d, 0x372e1143,
+ 0x02c3a710, 0xa748371e, 0x1607aa4a, 0xb38c3a44, 0x86618c17,
+ 0x23ea1c19, 0xedbae0b1, 0x483170bf, 0x7ddcc6ec, 0xd85756e2,
+ 0x3a0c39fd, 0x9f87a9f3, 0xaa6a1fa0, 0x0fe18fae, 0xc1b17306,
+ 0x643ae308, 0x51d7555b, 0xf45cc555, 0x4e108d24, 0xeb9b1d2a,
+ 0xde76ab79, 0x7bfd3b77, 0xb5adc7df, 0x102657d1, 0x25cbe182,
+ 0x8040718c, 0x621b1e93, 0xc7908e9d, 0xf27d38ce, 0x57f6a8c0,
+ 0x99a65468, 0x3c2dc466, 0x09c07235, 0xac4be23b, 0xa629e496,
+ 0x03a27498, 0x364fc2cb, 0x93c452c5, 0x5d94ae6d, 0xf81f3e63,
+ 0xcdf28830, 0x6879183e, 0x8a227721, 0x2fa9e72f, 0x1a44517c,
+ 0xbfcfc172, 0x719f3dda, 0xd414add4, 0xe1f91b87, 0x44728b89,
+ 0xfe3ec3f8, 0x5bb553f6, 0x6e58e5a5, 0xcbd375ab, 0x05838903,
+ 0xa008190d, 0x95e5af5e, 0x306e3f50, 0xd235504f, 0x77bec041,
+ 0x42537612, 0xe7d8e61c, 0x29881ab4, 0x8c038aba, 0xb9ee3ce9,
+ 0x1c65ace7}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x0000000000000000, 0x0e908ba500000000, 0x5d26669000000000,
+ 0x53b6ed3500000000, 0xfb4abdfb00000000, 0xf5da365e00000000,
+ 0xa66cdb6b00000000, 0xa8fc50ce00000000, 0xb7930b2c00000000,
+ 0xb903808900000000, 0xeab56dbc00000000, 0xe425e61900000000,
+ 0x4cd9b6d700000000, 0x42493d7200000000, 0x11ffd04700000000,
+ 0x1f6f5be200000000, 0x6e27175800000000, 0x60b79cfd00000000,
+ 0x330171c800000000, 0x3d91fa6d00000000, 0x956daaa300000000,
+ 0x9bfd210600000000, 0xc84bcc3300000000, 0xc6db479600000000,
+ 0xd9b41c7400000000, 0xd72497d100000000, 0x84927ae400000000,
+ 0x8a02f14100000000, 0x22fea18f00000000, 0x2c6e2a2a00000000,
+ 0x7fd8c71f00000000, 0x71484cba00000000, 0xdc4e2eb000000000,
+ 0xd2dea51500000000, 0x8168482000000000, 0x8ff8c38500000000,
+ 0x2704934b00000000, 0x299418ee00000000, 0x7a22f5db00000000,
+ 0x74b27e7e00000000, 0x6bdd259c00000000, 0x654dae3900000000,
+ 0x36fb430c00000000, 0x386bc8a900000000, 0x9097986700000000,
+ 0x9e0713c200000000, 0xcdb1fef700000000, 0xc321755200000000,
+ 0xb26939e800000000, 0xbcf9b24d00000000, 0xef4f5f7800000000,
+ 0xe1dfd4dd00000000, 0x4923841300000000, 0x47b30fb600000000,
+ 0x1405e28300000000, 0x1a95692600000000, 0x05fa32c400000000,
+ 0x0b6ab96100000000, 0x58dc545400000000, 0x564cdff100000000,
+ 0xfeb08f3f00000000, 0xf020049a00000000, 0xa396e9af00000000,
+ 0xad06620a00000000, 0xf99b2dbb00000000, 0xf70ba61e00000000,
+ 0xa4bd4b2b00000000, 0xaa2dc08e00000000, 0x02d1904000000000,
+ 0x0c411be500000000, 0x5ff7f6d000000000, 0x51677d7500000000,
+ 0x4e08269700000000, 0x4098ad3200000000, 0x132e400700000000,
+ 0x1dbecba200000000, 0xb5429b6c00000000, 0xbbd210c900000000,
+ 0xe864fdfc00000000, 0xe6f4765900000000, 0x97bc3ae300000000,
+ 0x992cb14600000000, 0xca9a5c7300000000, 0xc40ad7d600000000,
+ 0x6cf6871800000000, 0x62660cbd00000000, 0x31d0e18800000000,
+ 0x3f406a2d00000000, 0x202f31cf00000000, 0x2ebfba6a00000000,
+ 0x7d09575f00000000, 0x7399dcfa00000000, 0xdb658c3400000000,
+ 0xd5f5079100000000, 0x8643eaa400000000, 0x88d3610100000000,
+ 0x25d5030b00000000, 0x2b4588ae00000000, 0x78f3659b00000000,
+ 0x7663ee3e00000000, 0xde9fbef000000000, 0xd00f355500000000,
+ 0x83b9d86000000000, 0x8d2953c500000000, 0x9246082700000000,
+ 0x9cd6838200000000, 0xcf606eb700000000, 0xc1f0e51200000000,
+ 0x690cb5dc00000000, 0x679c3e7900000000, 0x342ad34c00000000,
+ 0x3aba58e900000000, 0x4bf2145300000000, 0x45629ff600000000,
+ 0x16d472c300000000, 0x1844f96600000000, 0xb0b8a9a800000000,
+ 0xbe28220d00000000, 0xed9ecf3800000000, 0xe30e449d00000000,
+ 0xfc611f7f00000000, 0xf2f194da00000000, 0xa14779ef00000000,
+ 0xafd7f24a00000000, 0x072ba28400000000, 0x09bb292100000000,
+ 0x5a0dc41400000000, 0x549d4fb100000000, 0xb3312aad00000000,
+ 0xbda1a10800000000, 0xee174c3d00000000, 0xe087c79800000000,
+ 0x487b975600000000, 0x46eb1cf300000000, 0x155df1c600000000,
+ 0x1bcd7a6300000000, 0x04a2218100000000, 0x0a32aa2400000000,
+ 0x5984471100000000, 0x5714ccb400000000, 0xffe89c7a00000000,
+ 0xf17817df00000000, 0xa2cefaea00000000, 0xac5e714f00000000,
+ 0xdd163df500000000, 0xd386b65000000000, 0x80305b6500000000,
+ 0x8ea0d0c000000000, 0x265c800e00000000, 0x28cc0bab00000000,
+ 0x7b7ae69e00000000, 0x75ea6d3b00000000, 0x6a8536d900000000,
+ 0x6415bd7c00000000, 0x37a3504900000000, 0x3933dbec00000000,
+ 0x91cf8b2200000000, 0x9f5f008700000000, 0xcce9edb200000000,
+ 0xc279661700000000, 0x6f7f041d00000000, 0x61ef8fb800000000,
+ 0x3259628d00000000, 0x3cc9e92800000000, 0x9435b9e600000000,
+ 0x9aa5324300000000, 0xc913df7600000000, 0xc78354d300000000,
+ 0xd8ec0f3100000000, 0xd67c849400000000, 0x85ca69a100000000,
+ 0x8b5ae20400000000, 0x23a6b2ca00000000, 0x2d36396f00000000,
+ 0x7e80d45a00000000, 0x70105fff00000000, 0x0158134500000000,
+ 0x0fc898e000000000, 0x5c7e75d500000000, 0x52eefe7000000000,
+ 0xfa12aebe00000000, 0xf482251b00000000, 0xa734c82e00000000,
+ 0xa9a4438b00000000, 0xb6cb186900000000, 0xb85b93cc00000000,
+ 0xebed7ef900000000, 0xe57df55c00000000, 0x4d81a59200000000,
+ 0x43112e3700000000, 0x10a7c30200000000, 0x1e3748a700000000,
+ 0x4aaa071600000000, 0x443a8cb300000000, 0x178c618600000000,
+ 0x191cea2300000000, 0xb1e0baed00000000, 0xbf70314800000000,
+ 0xecc6dc7d00000000, 0xe25657d800000000, 0xfd390c3a00000000,
+ 0xf3a9879f00000000, 0xa01f6aaa00000000, 0xae8fe10f00000000,
+ 0x0673b1c100000000, 0x08e33a6400000000, 0x5b55d75100000000,
+ 0x55c55cf400000000, 0x248d104e00000000, 0x2a1d9beb00000000,
+ 0x79ab76de00000000, 0x773bfd7b00000000, 0xdfc7adb500000000,
+ 0xd157261000000000, 0x82e1cb2500000000, 0x8c71408000000000,
+ 0x931e1b6200000000, 0x9d8e90c700000000, 0xce387df200000000,
+ 0xc0a8f65700000000, 0x6854a69900000000, 0x66c42d3c00000000,
+ 0x3572c00900000000, 0x3be24bac00000000, 0x96e429a600000000,
+ 0x9874a20300000000, 0xcbc24f3600000000, 0xc552c49300000000,
+ 0x6dae945d00000000, 0x633e1ff800000000, 0x3088f2cd00000000,
+ 0x3e18796800000000, 0x2177228a00000000, 0x2fe7a92f00000000,
+ 0x7c51441a00000000, 0x72c1cfbf00000000, 0xda3d9f7100000000,
+ 0xd4ad14d400000000, 0x871bf9e100000000, 0x898b724400000000,
+ 0xf8c33efe00000000, 0xf653b55b00000000, 0xa5e5586e00000000,
+ 0xab75d3cb00000000, 0x0389830500000000, 0x0d1908a000000000,
+ 0x5eafe59500000000, 0x503f6e3000000000, 0x4f5035d200000000,
+ 0x41c0be7700000000, 0x1276534200000000, 0x1ce6d8e700000000,
+ 0xb41a882900000000, 0xba8a038c00000000, 0xe93ceeb900000000,
+ 0xe7ac651c00000000},
+ {0x0000000000000000, 0x97a61de700000000, 0x6f4b4a1500000000,
+ 0xf8ed57f200000000, 0xde96942a00000000, 0x493089cd00000000,
+ 0xb1ddde3f00000000, 0x267bc3d800000000, 0xbc2d295500000000,
+ 0x2b8b34b200000000, 0xd366634000000000, 0x44c07ea700000000,
+ 0x62bbbd7f00000000, 0xf51da09800000000, 0x0df0f76a00000000,
+ 0x9a56ea8d00000000, 0x785b52aa00000000, 0xeffd4f4d00000000,
+ 0x171018bf00000000, 0x80b6055800000000, 0xa6cdc68000000000,
+ 0x316bdb6700000000, 0xc9868c9500000000, 0x5e20917200000000,
+ 0xc4767bff00000000, 0x53d0661800000000, 0xab3d31ea00000000,
+ 0x3c9b2c0d00000000, 0x1ae0efd500000000, 0x8d46f23200000000,
+ 0x75aba5c000000000, 0xe20db82700000000, 0xb1b0d58f00000000,
+ 0x2616c86800000000, 0xdefb9f9a00000000, 0x495d827d00000000,
+ 0x6f2641a500000000, 0xf8805c4200000000, 0x006d0bb000000000,
+ 0x97cb165700000000, 0x0d9dfcda00000000, 0x9a3be13d00000000,
+ 0x62d6b6cf00000000, 0xf570ab2800000000, 0xd30b68f000000000,
+ 0x44ad751700000000, 0xbc4022e500000000, 0x2be63f0200000000,
+ 0xc9eb872500000000, 0x5e4d9ac200000000, 0xa6a0cd3000000000,
+ 0x3106d0d700000000, 0x177d130f00000000, 0x80db0ee800000000,
+ 0x7836591a00000000, 0xef9044fd00000000, 0x75c6ae7000000000,
+ 0xe260b39700000000, 0x1a8de46500000000, 0x8d2bf98200000000,
+ 0xab503a5a00000000, 0x3cf627bd00000000, 0xc41b704f00000000,
+ 0x53bd6da800000000, 0x2367dac400000000, 0xb4c1c72300000000,
+ 0x4c2c90d100000000, 0xdb8a8d3600000000, 0xfdf14eee00000000,
+ 0x6a57530900000000, 0x92ba04fb00000000, 0x051c191c00000000,
+ 0x9f4af39100000000, 0x08ecee7600000000, 0xf001b98400000000,
+ 0x67a7a46300000000, 0x41dc67bb00000000, 0xd67a7a5c00000000,
+ 0x2e972dae00000000, 0xb931304900000000, 0x5b3c886e00000000,
+ 0xcc9a958900000000, 0x3477c27b00000000, 0xa3d1df9c00000000,
+ 0x85aa1c4400000000, 0x120c01a300000000, 0xeae1565100000000,
+ 0x7d474bb600000000, 0xe711a13b00000000, 0x70b7bcdc00000000,
+ 0x885aeb2e00000000, 0x1ffcf6c900000000, 0x3987351100000000,
+ 0xae2128f600000000, 0x56cc7f0400000000, 0xc16a62e300000000,
+ 0x92d70f4b00000000, 0x057112ac00000000, 0xfd9c455e00000000,
+ 0x6a3a58b900000000, 0x4c419b6100000000, 0xdbe7868600000000,
+ 0x230ad17400000000, 0xb4accc9300000000, 0x2efa261e00000000,
+ 0xb95c3bf900000000, 0x41b16c0b00000000, 0xd61771ec00000000,
+ 0xf06cb23400000000, 0x67caafd300000000, 0x9f27f82100000000,
+ 0x0881e5c600000000, 0xea8c5de100000000, 0x7d2a400600000000,
+ 0x85c717f400000000, 0x12610a1300000000, 0x341ac9cb00000000,
+ 0xa3bcd42c00000000, 0x5b5183de00000000, 0xccf79e3900000000,
+ 0x56a174b400000000, 0xc107695300000000, 0x39ea3ea100000000,
+ 0xae4c234600000000, 0x8837e09e00000000, 0x1f91fd7900000000,
+ 0xe77caa8b00000000, 0x70dab76c00000000, 0x07c8c55200000000,
+ 0x906ed8b500000000, 0x68838f4700000000, 0xff2592a000000000,
+ 0xd95e517800000000, 0x4ef84c9f00000000, 0xb6151b6d00000000,
+ 0x21b3068a00000000, 0xbbe5ec0700000000, 0x2c43f1e000000000,
+ 0xd4aea61200000000, 0x4308bbf500000000, 0x6573782d00000000,
+ 0xf2d565ca00000000, 0x0a38323800000000, 0x9d9e2fdf00000000,
+ 0x7f9397f800000000, 0xe8358a1f00000000, 0x10d8dded00000000,
+ 0x877ec00a00000000, 0xa10503d200000000, 0x36a31e3500000000,
+ 0xce4e49c700000000, 0x59e8542000000000, 0xc3bebead00000000,
+ 0x5418a34a00000000, 0xacf5f4b800000000, 0x3b53e95f00000000,
+ 0x1d282a8700000000, 0x8a8e376000000000, 0x7263609200000000,
+ 0xe5c57d7500000000, 0xb67810dd00000000, 0x21de0d3a00000000,
+ 0xd9335ac800000000, 0x4e95472f00000000, 0x68ee84f700000000,
+ 0xff48991000000000, 0x07a5cee200000000, 0x9003d30500000000,
+ 0x0a55398800000000, 0x9df3246f00000000, 0x651e739d00000000,
+ 0xf2b86e7a00000000, 0xd4c3ada200000000, 0x4365b04500000000,
+ 0xbb88e7b700000000, 0x2c2efa5000000000, 0xce23427700000000,
+ 0x59855f9000000000, 0xa168086200000000, 0x36ce158500000000,
+ 0x10b5d65d00000000, 0x8713cbba00000000, 0x7ffe9c4800000000,
+ 0xe85881af00000000, 0x720e6b2200000000, 0xe5a876c500000000,
+ 0x1d45213700000000, 0x8ae33cd000000000, 0xac98ff0800000000,
+ 0x3b3ee2ef00000000, 0xc3d3b51d00000000, 0x5475a8fa00000000,
+ 0x24af1f9600000000, 0xb309027100000000, 0x4be4558300000000,
+ 0xdc42486400000000, 0xfa398bbc00000000, 0x6d9f965b00000000,
+ 0x9572c1a900000000, 0x02d4dc4e00000000, 0x988236c300000000,
+ 0x0f242b2400000000, 0xf7c97cd600000000, 0x606f613100000000,
+ 0x4614a2e900000000, 0xd1b2bf0e00000000, 0x295fe8fc00000000,
+ 0xbef9f51b00000000, 0x5cf44d3c00000000, 0xcb5250db00000000,
+ 0x33bf072900000000, 0xa4191ace00000000, 0x8262d91600000000,
+ 0x15c4c4f100000000, 0xed29930300000000, 0x7a8f8ee400000000,
+ 0xe0d9646900000000, 0x777f798e00000000, 0x8f922e7c00000000,
+ 0x1834339b00000000, 0x3e4ff04300000000, 0xa9e9eda400000000,
+ 0x5104ba5600000000, 0xc6a2a7b100000000, 0x951fca1900000000,
+ 0x02b9d7fe00000000, 0xfa54800c00000000, 0x6df29deb00000000,
+ 0x4b895e3300000000, 0xdc2f43d400000000, 0x24c2142600000000,
+ 0xb36409c100000000, 0x2932e34c00000000, 0xbe94feab00000000,
+ 0x4679a95900000000, 0xd1dfb4be00000000, 0xf7a4776600000000,
+ 0x60026a8100000000, 0x98ef3d7300000000, 0x0f49209400000000,
+ 0xed4498b300000000, 0x7ae2855400000000, 0x820fd2a600000000,
+ 0x15a9cf4100000000, 0x33d20c9900000000, 0xa474117e00000000,
+ 0x5c99468c00000000, 0xcb3f5b6b00000000, 0x5169b1e600000000,
+ 0xc6cfac0100000000, 0x3e22fbf300000000, 0xa984e61400000000,
+ 0x8fff25cc00000000, 0x1859382b00000000, 0xe0b46fd900000000,
+ 0x7712723e00000000},
+ {0x0000000000000000, 0x411b8c6e00000000, 0x823618dd00000000,
+ 0xc32d94b300000000, 0x456b416100000000, 0x0470cd0f00000000,
+ 0xc75d59bc00000000, 0x8646d5d200000000, 0x8ad682c200000000,
+ 0xcbcd0eac00000000, 0x08e09a1f00000000, 0x49fb167100000000,
+ 0xcfbdc3a300000000, 0x8ea64fcd00000000, 0x4d8bdb7e00000000,
+ 0x0c90571000000000, 0x55ab745e00000000, 0x14b0f83000000000,
+ 0xd79d6c8300000000, 0x9686e0ed00000000, 0x10c0353f00000000,
+ 0x51dbb95100000000, 0x92f62de200000000, 0xd3eda18c00000000,
+ 0xdf7df69c00000000, 0x9e667af200000000, 0x5d4bee4100000000,
+ 0x1c50622f00000000, 0x9a16b7fd00000000, 0xdb0d3b9300000000,
+ 0x1820af2000000000, 0x593b234e00000000, 0xaa56e9bc00000000,
+ 0xeb4d65d200000000, 0x2860f16100000000, 0x697b7d0f00000000,
+ 0xef3da8dd00000000, 0xae2624b300000000, 0x6d0bb00000000000,
+ 0x2c103c6e00000000, 0x20806b7e00000000, 0x619be71000000000,
+ 0xa2b673a300000000, 0xe3adffcd00000000, 0x65eb2a1f00000000,
+ 0x24f0a67100000000, 0xe7dd32c200000000, 0xa6c6beac00000000,
+ 0xfffd9de200000000, 0xbee6118c00000000, 0x7dcb853f00000000,
+ 0x3cd0095100000000, 0xba96dc8300000000, 0xfb8d50ed00000000,
+ 0x38a0c45e00000000, 0x79bb483000000000, 0x752b1f2000000000,
+ 0x3430934e00000000, 0xf71d07fd00000000, 0xb6068b9300000000,
+ 0x30405e4100000000, 0x715bd22f00000000, 0xb276469c00000000,
+ 0xf36dcaf200000000, 0x15aba3a200000000, 0x54b02fcc00000000,
+ 0x979dbb7f00000000, 0xd686371100000000, 0x50c0e2c300000000,
+ 0x11db6ead00000000, 0xd2f6fa1e00000000, 0x93ed767000000000,
+ 0x9f7d216000000000, 0xde66ad0e00000000, 0x1d4b39bd00000000,
+ 0x5c50b5d300000000, 0xda16600100000000, 0x9b0dec6f00000000,
+ 0x582078dc00000000, 0x193bf4b200000000, 0x4000d7fc00000000,
+ 0x011b5b9200000000, 0xc236cf2100000000, 0x832d434f00000000,
+ 0x056b969d00000000, 0x44701af300000000, 0x875d8e4000000000,
+ 0xc646022e00000000, 0xcad6553e00000000, 0x8bcdd95000000000,
+ 0x48e04de300000000, 0x09fbc18d00000000, 0x8fbd145f00000000,
+ 0xcea6983100000000, 0x0d8b0c8200000000, 0x4c9080ec00000000,
+ 0xbffd4a1e00000000, 0xfee6c67000000000, 0x3dcb52c300000000,
+ 0x7cd0dead00000000, 0xfa960b7f00000000, 0xbb8d871100000000,
+ 0x78a013a200000000, 0x39bb9fcc00000000, 0x352bc8dc00000000,
+ 0x743044b200000000, 0xb71dd00100000000, 0xf6065c6f00000000,
+ 0x704089bd00000000, 0x315b05d300000000, 0xf276916000000000,
+ 0xb36d1d0e00000000, 0xea563e4000000000, 0xab4db22e00000000,
+ 0x6860269d00000000, 0x297baaf300000000, 0xaf3d7f2100000000,
+ 0xee26f34f00000000, 0x2d0b67fc00000000, 0x6c10eb9200000000,
+ 0x6080bc8200000000, 0x219b30ec00000000, 0xe2b6a45f00000000,
+ 0xa3ad283100000000, 0x25ebfde300000000, 0x64f0718d00000000,
+ 0xa7dde53e00000000, 0xe6c6695000000000, 0x6b50369e00000000,
+ 0x2a4bbaf000000000, 0xe9662e4300000000, 0xa87da22d00000000,
+ 0x2e3b77ff00000000, 0x6f20fb9100000000, 0xac0d6f2200000000,
+ 0xed16e34c00000000, 0xe186b45c00000000, 0xa09d383200000000,
+ 0x63b0ac8100000000, 0x22ab20ef00000000, 0xa4edf53d00000000,
+ 0xe5f6795300000000, 0x26dbede000000000, 0x67c0618e00000000,
+ 0x3efb42c000000000, 0x7fe0ceae00000000, 0xbccd5a1d00000000,
+ 0xfdd6d67300000000, 0x7b9003a100000000, 0x3a8b8fcf00000000,
+ 0xf9a61b7c00000000, 0xb8bd971200000000, 0xb42dc00200000000,
+ 0xf5364c6c00000000, 0x361bd8df00000000, 0x770054b100000000,
+ 0xf146816300000000, 0xb05d0d0d00000000, 0x737099be00000000,
+ 0x326b15d000000000, 0xc106df2200000000, 0x801d534c00000000,
+ 0x4330c7ff00000000, 0x022b4b9100000000, 0x846d9e4300000000,
+ 0xc576122d00000000, 0x065b869e00000000, 0x47400af000000000,
+ 0x4bd05de000000000, 0x0acbd18e00000000, 0xc9e6453d00000000,
+ 0x88fdc95300000000, 0x0ebb1c8100000000, 0x4fa090ef00000000,
+ 0x8c8d045c00000000, 0xcd96883200000000, 0x94adab7c00000000,
+ 0xd5b6271200000000, 0x169bb3a100000000, 0x57803fcf00000000,
+ 0xd1c6ea1d00000000, 0x90dd667300000000, 0x53f0f2c000000000,
+ 0x12eb7eae00000000, 0x1e7b29be00000000, 0x5f60a5d000000000,
+ 0x9c4d316300000000, 0xdd56bd0d00000000, 0x5b1068df00000000,
+ 0x1a0be4b100000000, 0xd926700200000000, 0x983dfc6c00000000,
+ 0x7efb953c00000000, 0x3fe0195200000000, 0xfccd8de100000000,
+ 0xbdd6018f00000000, 0x3b90d45d00000000, 0x7a8b583300000000,
+ 0xb9a6cc8000000000, 0xf8bd40ee00000000, 0xf42d17fe00000000,
+ 0xb5369b9000000000, 0x761b0f2300000000, 0x3700834d00000000,
+ 0xb146569f00000000, 0xf05ddaf100000000, 0x33704e4200000000,
+ 0x726bc22c00000000, 0x2b50e16200000000, 0x6a4b6d0c00000000,
+ 0xa966f9bf00000000, 0xe87d75d100000000, 0x6e3ba00300000000,
+ 0x2f202c6d00000000, 0xec0db8de00000000, 0xad1634b000000000,
+ 0xa18663a000000000, 0xe09defce00000000, 0x23b07b7d00000000,
+ 0x62abf71300000000, 0xe4ed22c100000000, 0xa5f6aeaf00000000,
+ 0x66db3a1c00000000, 0x27c0b67200000000, 0xd4ad7c8000000000,
+ 0x95b6f0ee00000000, 0x569b645d00000000, 0x1780e83300000000,
+ 0x91c63de100000000, 0xd0ddb18f00000000, 0x13f0253c00000000,
+ 0x52eba95200000000, 0x5e7bfe4200000000, 0x1f60722c00000000,
+ 0xdc4de69f00000000, 0x9d566af100000000, 0x1b10bf2300000000,
+ 0x5a0b334d00000000, 0x9926a7fe00000000, 0xd83d2b9000000000,
+ 0x810608de00000000, 0xc01d84b000000000, 0x0330100300000000,
+ 0x422b9c6d00000000, 0xc46d49bf00000000, 0x8576c5d100000000,
+ 0x465b516200000000, 0x0740dd0c00000000, 0x0bd08a1c00000000,
+ 0x4acb067200000000, 0x89e692c100000000, 0xc8fd1eaf00000000,
+ 0x4ebbcb7d00000000, 0x0fa0471300000000, 0xcc8dd3a000000000,
+ 0x8d965fce00000000},
+ {0x0000000000000000, 0x1dfdb50100000000, 0x3afa6b0300000000,
+ 0x2707de0200000000, 0x74f4d70600000000, 0x6909620700000000,
+ 0x4e0ebc0500000000, 0x53f3090400000000, 0xe8e8af0d00000000,
+ 0xf5151a0c00000000, 0xd212c40e00000000, 0xcfef710f00000000,
+ 0x9c1c780b00000000, 0x81e1cd0a00000000, 0xa6e6130800000000,
+ 0xbb1ba60900000000, 0xd0d15f1b00000000, 0xcd2cea1a00000000,
+ 0xea2b341800000000, 0xf7d6811900000000, 0xa425881d00000000,
+ 0xb9d83d1c00000000, 0x9edfe31e00000000, 0x8322561f00000000,
+ 0x3839f01600000000, 0x25c4451700000000, 0x02c39b1500000000,
+ 0x1f3e2e1400000000, 0x4ccd271000000000, 0x5130921100000000,
+ 0x76374c1300000000, 0x6bcaf91200000000, 0xa0a3bf3600000000,
+ 0xbd5e0a3700000000, 0x9a59d43500000000, 0x87a4613400000000,
+ 0xd457683000000000, 0xc9aadd3100000000, 0xeead033300000000,
+ 0xf350b63200000000, 0x484b103b00000000, 0x55b6a53a00000000,
+ 0x72b17b3800000000, 0x6f4cce3900000000, 0x3cbfc73d00000000,
+ 0x2142723c00000000, 0x0645ac3e00000000, 0x1bb8193f00000000,
+ 0x7072e02d00000000, 0x6d8f552c00000000, 0x4a888b2e00000000,
+ 0x57753e2f00000000, 0x0486372b00000000, 0x197b822a00000000,
+ 0x3e7c5c2800000000, 0x2381e92900000000, 0x989a4f2000000000,
+ 0x8567fa2100000000, 0xa260242300000000, 0xbf9d912200000000,
+ 0xec6e982600000000, 0xf1932d2700000000, 0xd694f32500000000,
+ 0xcb69462400000000, 0x40477f6d00000000, 0x5dbaca6c00000000,
+ 0x7abd146e00000000, 0x6740a16f00000000, 0x34b3a86b00000000,
+ 0x294e1d6a00000000, 0x0e49c36800000000, 0x13b4766900000000,
+ 0xa8afd06000000000, 0xb552656100000000, 0x9255bb6300000000,
+ 0x8fa80e6200000000, 0xdc5b076600000000, 0xc1a6b26700000000,
+ 0xe6a16c6500000000, 0xfb5cd96400000000, 0x9096207600000000,
+ 0x8d6b957700000000, 0xaa6c4b7500000000, 0xb791fe7400000000,
+ 0xe462f77000000000, 0xf99f427100000000, 0xde989c7300000000,
+ 0xc365297200000000, 0x787e8f7b00000000, 0x65833a7a00000000,
+ 0x4284e47800000000, 0x5f79517900000000, 0x0c8a587d00000000,
+ 0x1177ed7c00000000, 0x3670337e00000000, 0x2b8d867f00000000,
+ 0xe0e4c05b00000000, 0xfd19755a00000000, 0xda1eab5800000000,
+ 0xc7e31e5900000000, 0x9410175d00000000, 0x89eda25c00000000,
+ 0xaeea7c5e00000000, 0xb317c95f00000000, 0x080c6f5600000000,
+ 0x15f1da5700000000, 0x32f6045500000000, 0x2f0bb15400000000,
+ 0x7cf8b85000000000, 0x61050d5100000000, 0x4602d35300000000,
+ 0x5bff665200000000, 0x30359f4000000000, 0x2dc82a4100000000,
+ 0x0acff44300000000, 0x1732414200000000, 0x44c1484600000000,
+ 0x593cfd4700000000, 0x7e3b234500000000, 0x63c6964400000000,
+ 0xd8dd304d00000000, 0xc520854c00000000, 0xe2275b4e00000000,
+ 0xffdaee4f00000000, 0xac29e74b00000000, 0xb1d4524a00000000,
+ 0x96d38c4800000000, 0x8b2e394900000000, 0x808efeda00000000,
+ 0x9d734bdb00000000, 0xba7495d900000000, 0xa78920d800000000,
+ 0xf47a29dc00000000, 0xe9879cdd00000000, 0xce8042df00000000,
+ 0xd37df7de00000000, 0x686651d700000000, 0x759be4d600000000,
+ 0x529c3ad400000000, 0x4f618fd500000000, 0x1c9286d100000000,
+ 0x016f33d000000000, 0x2668edd200000000, 0x3b9558d300000000,
+ 0x505fa1c100000000, 0x4da214c000000000, 0x6aa5cac200000000,
+ 0x77587fc300000000, 0x24ab76c700000000, 0x3956c3c600000000,
+ 0x1e511dc400000000, 0x03aca8c500000000, 0xb8b70ecc00000000,
+ 0xa54abbcd00000000, 0x824d65cf00000000, 0x9fb0d0ce00000000,
+ 0xcc43d9ca00000000, 0xd1be6ccb00000000, 0xf6b9b2c900000000,
+ 0xeb4407c800000000, 0x202d41ec00000000, 0x3dd0f4ed00000000,
+ 0x1ad72aef00000000, 0x072a9fee00000000, 0x54d996ea00000000,
+ 0x492423eb00000000, 0x6e23fde900000000, 0x73de48e800000000,
+ 0xc8c5eee100000000, 0xd5385be000000000, 0xf23f85e200000000,
+ 0xefc230e300000000, 0xbc3139e700000000, 0xa1cc8ce600000000,
+ 0x86cb52e400000000, 0x9b36e7e500000000, 0xf0fc1ef700000000,
+ 0xed01abf600000000, 0xca0675f400000000, 0xd7fbc0f500000000,
+ 0x8408c9f100000000, 0x99f57cf000000000, 0xbef2a2f200000000,
+ 0xa30f17f300000000, 0x1814b1fa00000000, 0x05e904fb00000000,
+ 0x22eedaf900000000, 0x3f136ff800000000, 0x6ce066fc00000000,
+ 0x711dd3fd00000000, 0x561a0dff00000000, 0x4be7b8fe00000000,
+ 0xc0c981b700000000, 0xdd3434b600000000, 0xfa33eab400000000,
+ 0xe7ce5fb500000000, 0xb43d56b100000000, 0xa9c0e3b000000000,
+ 0x8ec73db200000000, 0x933a88b300000000, 0x28212eba00000000,
+ 0x35dc9bbb00000000, 0x12db45b900000000, 0x0f26f0b800000000,
+ 0x5cd5f9bc00000000, 0x41284cbd00000000, 0x662f92bf00000000,
+ 0x7bd227be00000000, 0x1018deac00000000, 0x0de56bad00000000,
+ 0x2ae2b5af00000000, 0x371f00ae00000000, 0x64ec09aa00000000,
+ 0x7911bcab00000000, 0x5e1662a900000000, 0x43ebd7a800000000,
+ 0xf8f071a100000000, 0xe50dc4a000000000, 0xc20a1aa200000000,
+ 0xdff7afa300000000, 0x8c04a6a700000000, 0x91f913a600000000,
+ 0xb6fecda400000000, 0xab0378a500000000, 0x606a3e8100000000,
+ 0x7d978b8000000000, 0x5a90558200000000, 0x476de08300000000,
+ 0x149ee98700000000, 0x09635c8600000000, 0x2e64828400000000,
+ 0x3399378500000000, 0x8882918c00000000, 0x957f248d00000000,
+ 0xb278fa8f00000000, 0xaf854f8e00000000, 0xfc76468a00000000,
+ 0xe18bf38b00000000, 0xc68c2d8900000000, 0xdb71988800000000,
+ 0xb0bb619a00000000, 0xad46d49b00000000, 0x8a410a9900000000,
+ 0x97bcbf9800000000, 0xc44fb69c00000000, 0xd9b2039d00000000,
+ 0xfeb5dd9f00000000, 0xe348689e00000000, 0x5853ce9700000000,
+ 0x45ae7b9600000000, 0x62a9a59400000000, 0x7f54109500000000,
+ 0x2ca7199100000000, 0x315aac9000000000, 0x165d729200000000,
+ 0x0ba0c79300000000},
+ {0x0000000000000000, 0x24d9076300000000, 0x48b20fc600000000,
+ 0x6c6b08a500000000, 0xd1626e5700000000, 0xf5bb693400000000,
+ 0x99d0619100000000, 0xbd0966f200000000, 0xa2c5dcae00000000,
+ 0x861cdbcd00000000, 0xea77d36800000000, 0xceaed40b00000000,
+ 0x73a7b2f900000000, 0x577eb59a00000000, 0x3b15bd3f00000000,
+ 0x1fccba5c00000000, 0x058dc88600000000, 0x2154cfe500000000,
+ 0x4d3fc74000000000, 0x69e6c02300000000, 0xd4efa6d100000000,
+ 0xf036a1b200000000, 0x9c5da91700000000, 0xb884ae7400000000,
+ 0xa748142800000000, 0x8391134b00000000, 0xeffa1bee00000000,
+ 0xcb231c8d00000000, 0x762a7a7f00000000, 0x52f37d1c00000000,
+ 0x3e9875b900000000, 0x1a4172da00000000, 0x4b1ce0d600000000,
+ 0x6fc5e7b500000000, 0x03aeef1000000000, 0x2777e87300000000,
+ 0x9a7e8e8100000000, 0xbea789e200000000, 0xd2cc814700000000,
+ 0xf615862400000000, 0xe9d93c7800000000, 0xcd003b1b00000000,
+ 0xa16b33be00000000, 0x85b234dd00000000, 0x38bb522f00000000,
+ 0x1c62554c00000000, 0x70095de900000000, 0x54d05a8a00000000,
+ 0x4e91285000000000, 0x6a482f3300000000, 0x0623279600000000,
+ 0x22fa20f500000000, 0x9ff3460700000000, 0xbb2a416400000000,
+ 0xd74149c100000000, 0xf3984ea200000000, 0xec54f4fe00000000,
+ 0xc88df39d00000000, 0xa4e6fb3800000000, 0x803ffc5b00000000,
+ 0x3d369aa900000000, 0x19ef9dca00000000, 0x7584956f00000000,
+ 0x515d920c00000000, 0xd73eb17600000000, 0xf3e7b61500000000,
+ 0x9f8cbeb000000000, 0xbb55b9d300000000, 0x065cdf2100000000,
+ 0x2285d84200000000, 0x4eeed0e700000000, 0x6a37d78400000000,
+ 0x75fb6dd800000000, 0x51226abb00000000, 0x3d49621e00000000,
+ 0x1990657d00000000, 0xa499038f00000000, 0x804004ec00000000,
+ 0xec2b0c4900000000, 0xc8f20b2a00000000, 0xd2b379f000000000,
+ 0xf66a7e9300000000, 0x9a01763600000000, 0xbed8715500000000,
+ 0x03d117a700000000, 0x270810c400000000, 0x4b63186100000000,
+ 0x6fba1f0200000000, 0x7076a55e00000000, 0x54afa23d00000000,
+ 0x38c4aa9800000000, 0x1c1dadfb00000000, 0xa114cb0900000000,
+ 0x85cdcc6a00000000, 0xe9a6c4cf00000000, 0xcd7fc3ac00000000,
+ 0x9c2251a000000000, 0xb8fb56c300000000, 0xd4905e6600000000,
+ 0xf049590500000000, 0x4d403ff700000000, 0x6999389400000000,
+ 0x05f2303100000000, 0x212b375200000000, 0x3ee78d0e00000000,
+ 0x1a3e8a6d00000000, 0x765582c800000000, 0x528c85ab00000000,
+ 0xef85e35900000000, 0xcb5ce43a00000000, 0xa737ec9f00000000,
+ 0x83eeebfc00000000, 0x99af992600000000, 0xbd769e4500000000,
+ 0xd11d96e000000000, 0xf5c4918300000000, 0x48cdf77100000000,
+ 0x6c14f01200000000, 0x007ff8b700000000, 0x24a6ffd400000000,
+ 0x3b6a458800000000, 0x1fb342eb00000000, 0x73d84a4e00000000,
+ 0x57014d2d00000000, 0xea082bdf00000000, 0xced12cbc00000000,
+ 0xa2ba241900000000, 0x8663237a00000000, 0xae7d62ed00000000,
+ 0x8aa4658e00000000, 0xe6cf6d2b00000000, 0xc2166a4800000000,
+ 0x7f1f0cba00000000, 0x5bc60bd900000000, 0x37ad037c00000000,
+ 0x1374041f00000000, 0x0cb8be4300000000, 0x2861b92000000000,
+ 0x440ab18500000000, 0x60d3b6e600000000, 0xdddad01400000000,
+ 0xf903d77700000000, 0x9568dfd200000000, 0xb1b1d8b100000000,
+ 0xabf0aa6b00000000, 0x8f29ad0800000000, 0xe342a5ad00000000,
+ 0xc79ba2ce00000000, 0x7a92c43c00000000, 0x5e4bc35f00000000,
+ 0x3220cbfa00000000, 0x16f9cc9900000000, 0x093576c500000000,
+ 0x2dec71a600000000, 0x4187790300000000, 0x655e7e6000000000,
+ 0xd857189200000000, 0xfc8e1ff100000000, 0x90e5175400000000,
+ 0xb43c103700000000, 0xe561823b00000000, 0xc1b8855800000000,
+ 0xadd38dfd00000000, 0x890a8a9e00000000, 0x3403ec6c00000000,
+ 0x10daeb0f00000000, 0x7cb1e3aa00000000, 0x5868e4c900000000,
+ 0x47a45e9500000000, 0x637d59f600000000, 0x0f16515300000000,
+ 0x2bcf563000000000, 0x96c630c200000000, 0xb21f37a100000000,
+ 0xde743f0400000000, 0xfaad386700000000, 0xe0ec4abd00000000,
+ 0xc4354dde00000000, 0xa85e457b00000000, 0x8c87421800000000,
+ 0x318e24ea00000000, 0x1557238900000000, 0x793c2b2c00000000,
+ 0x5de52c4f00000000, 0x4229961300000000, 0x66f0917000000000,
+ 0x0a9b99d500000000, 0x2e429eb600000000, 0x934bf84400000000,
+ 0xb792ff2700000000, 0xdbf9f78200000000, 0xff20f0e100000000,
+ 0x7943d39b00000000, 0x5d9ad4f800000000, 0x31f1dc5d00000000,
+ 0x1528db3e00000000, 0xa821bdcc00000000, 0x8cf8baaf00000000,
+ 0xe093b20a00000000, 0xc44ab56900000000, 0xdb860f3500000000,
+ 0xff5f085600000000, 0x933400f300000000, 0xb7ed079000000000,
+ 0x0ae4616200000000, 0x2e3d660100000000, 0x42566ea400000000,
+ 0x668f69c700000000, 0x7cce1b1d00000000, 0x58171c7e00000000,
+ 0x347c14db00000000, 0x10a513b800000000, 0xadac754a00000000,
+ 0x8975722900000000, 0xe51e7a8c00000000, 0xc1c77def00000000,
+ 0xde0bc7b300000000, 0xfad2c0d000000000, 0x96b9c87500000000,
+ 0xb260cf1600000000, 0x0f69a9e400000000, 0x2bb0ae8700000000,
+ 0x47dba62200000000, 0x6302a14100000000, 0x325f334d00000000,
+ 0x1686342e00000000, 0x7aed3c8b00000000, 0x5e343be800000000,
+ 0xe33d5d1a00000000, 0xc7e45a7900000000, 0xab8f52dc00000000,
+ 0x8f5655bf00000000, 0x909aefe300000000, 0xb443e88000000000,
+ 0xd828e02500000000, 0xfcf1e74600000000, 0x41f881b400000000,
+ 0x652186d700000000, 0x094a8e7200000000, 0x2d93891100000000,
+ 0x37d2fbcb00000000, 0x130bfca800000000, 0x7f60f40d00000000,
+ 0x5bb9f36e00000000, 0xe6b0959c00000000, 0xc26992ff00000000,
+ 0xae029a5a00000000, 0x8adb9d3900000000, 0x9517276500000000,
+ 0xb1ce200600000000, 0xdda528a300000000, 0xf97c2fc000000000,
+ 0x4475493200000000, 0x60ac4e5100000000, 0x0cc746f400000000,
+ 0x281e419700000000},
+ {0x0000000000000000, 0x08e3603c00000000, 0x10c6c17800000000,
+ 0x1825a14400000000, 0x208c83f100000000, 0x286fe3cd00000000,
+ 0x304a428900000000, 0x38a922b500000000, 0x011e763800000000,
+ 0x09fd160400000000, 0x11d8b74000000000, 0x193bd77c00000000,
+ 0x2192f5c900000000, 0x297195f500000000, 0x315434b100000000,
+ 0x39b7548d00000000, 0x023cec7000000000, 0x0adf8c4c00000000,
+ 0x12fa2d0800000000, 0x1a194d3400000000, 0x22b06f8100000000,
+ 0x2a530fbd00000000, 0x3276aef900000000, 0x3a95cec500000000,
+ 0x03229a4800000000, 0x0bc1fa7400000000, 0x13e45b3000000000,
+ 0x1b073b0c00000000, 0x23ae19b900000000, 0x2b4d798500000000,
+ 0x3368d8c100000000, 0x3b8bb8fd00000000, 0x0478d8e100000000,
+ 0x0c9bb8dd00000000, 0x14be199900000000, 0x1c5d79a500000000,
+ 0x24f45b1000000000, 0x2c173b2c00000000, 0x34329a6800000000,
+ 0x3cd1fa5400000000, 0x0566aed900000000, 0x0d85cee500000000,
+ 0x15a06fa100000000, 0x1d430f9d00000000, 0x25ea2d2800000000,
+ 0x2d094d1400000000, 0x352cec5000000000, 0x3dcf8c6c00000000,
+ 0x0644349100000000, 0x0ea754ad00000000, 0x1682f5e900000000,
+ 0x1e6195d500000000, 0x26c8b76000000000, 0x2e2bd75c00000000,
+ 0x360e761800000000, 0x3eed162400000000, 0x075a42a900000000,
+ 0x0fb9229500000000, 0x179c83d100000000, 0x1f7fe3ed00000000,
+ 0x27d6c15800000000, 0x2f35a16400000000, 0x3710002000000000,
+ 0x3ff3601c00000000, 0x49f6c11800000000, 0x4115a12400000000,
+ 0x5930006000000000, 0x51d3605c00000000, 0x697a42e900000000,
+ 0x619922d500000000, 0x79bc839100000000, 0x715fe3ad00000000,
+ 0x48e8b72000000000, 0x400bd71c00000000, 0x582e765800000000,
+ 0x50cd166400000000, 0x686434d100000000, 0x608754ed00000000,
+ 0x78a2f5a900000000, 0x7041959500000000, 0x4bca2d6800000000,
+ 0x43294d5400000000, 0x5b0cec1000000000, 0x53ef8c2c00000000,
+ 0x6b46ae9900000000, 0x63a5cea500000000, 0x7b806fe100000000,
+ 0x73630fdd00000000, 0x4ad45b5000000000, 0x42373b6c00000000,
+ 0x5a129a2800000000, 0x52f1fa1400000000, 0x6a58d8a100000000,
+ 0x62bbb89d00000000, 0x7a9e19d900000000, 0x727d79e500000000,
+ 0x4d8e19f900000000, 0x456d79c500000000, 0x5d48d88100000000,
+ 0x55abb8bd00000000, 0x6d029a0800000000, 0x65e1fa3400000000,
+ 0x7dc45b7000000000, 0x75273b4c00000000, 0x4c906fc100000000,
+ 0x44730ffd00000000, 0x5c56aeb900000000, 0x54b5ce8500000000,
+ 0x6c1cec3000000000, 0x64ff8c0c00000000, 0x7cda2d4800000000,
+ 0x74394d7400000000, 0x4fb2f58900000000, 0x475195b500000000,
+ 0x5f7434f100000000, 0x579754cd00000000, 0x6f3e767800000000,
+ 0x67dd164400000000, 0x7ff8b70000000000, 0x771bd73c00000000,
+ 0x4eac83b100000000, 0x464fe38d00000000, 0x5e6a42c900000000,
+ 0x568922f500000000, 0x6e20004000000000, 0x66c3607c00000000,
+ 0x7ee6c13800000000, 0x7605a10400000000, 0x92ec833100000000,
+ 0x9a0fe30d00000000, 0x822a424900000000, 0x8ac9227500000000,
+ 0xb26000c000000000, 0xba8360fc00000000, 0xa2a6c1b800000000,
+ 0xaa45a18400000000, 0x93f2f50900000000, 0x9b11953500000000,
+ 0x8334347100000000, 0x8bd7544d00000000, 0xb37e76f800000000,
+ 0xbb9d16c400000000, 0xa3b8b78000000000, 0xab5bd7bc00000000,
+ 0x90d06f4100000000, 0x98330f7d00000000, 0x8016ae3900000000,
+ 0x88f5ce0500000000, 0xb05cecb000000000, 0xb8bf8c8c00000000,
+ 0xa09a2dc800000000, 0xa8794df400000000, 0x91ce197900000000,
+ 0x992d794500000000, 0x8108d80100000000, 0x89ebb83d00000000,
+ 0xb1429a8800000000, 0xb9a1fab400000000, 0xa1845bf000000000,
+ 0xa9673bcc00000000, 0x96945bd000000000, 0x9e773bec00000000,
+ 0x86529aa800000000, 0x8eb1fa9400000000, 0xb618d82100000000,
+ 0xbefbb81d00000000, 0xa6de195900000000, 0xae3d796500000000,
+ 0x978a2de800000000, 0x9f694dd400000000, 0x874cec9000000000,
+ 0x8faf8cac00000000, 0xb706ae1900000000, 0xbfe5ce2500000000,
+ 0xa7c06f6100000000, 0xaf230f5d00000000, 0x94a8b7a000000000,
+ 0x9c4bd79c00000000, 0x846e76d800000000, 0x8c8d16e400000000,
+ 0xb424345100000000, 0xbcc7546d00000000, 0xa4e2f52900000000,
+ 0xac01951500000000, 0x95b6c19800000000, 0x9d55a1a400000000,
+ 0x857000e000000000, 0x8d9360dc00000000, 0xb53a426900000000,
+ 0xbdd9225500000000, 0xa5fc831100000000, 0xad1fe32d00000000,
+ 0xdb1a422900000000, 0xd3f9221500000000, 0xcbdc835100000000,
+ 0xc33fe36d00000000, 0xfb96c1d800000000, 0xf375a1e400000000,
+ 0xeb5000a000000000, 0xe3b3609c00000000, 0xda04341100000000,
+ 0xd2e7542d00000000, 0xcac2f56900000000, 0xc221955500000000,
+ 0xfa88b7e000000000, 0xf26bd7dc00000000, 0xea4e769800000000,
+ 0xe2ad16a400000000, 0xd926ae5900000000, 0xd1c5ce6500000000,
+ 0xc9e06f2100000000, 0xc1030f1d00000000, 0xf9aa2da800000000,
+ 0xf1494d9400000000, 0xe96cecd000000000, 0xe18f8cec00000000,
+ 0xd838d86100000000, 0xd0dbb85d00000000, 0xc8fe191900000000,
+ 0xc01d792500000000, 0xf8b45b9000000000, 0xf0573bac00000000,
+ 0xe8729ae800000000, 0xe091fad400000000, 0xdf629ac800000000,
+ 0xd781faf400000000, 0xcfa45bb000000000, 0xc7473b8c00000000,
+ 0xffee193900000000, 0xf70d790500000000, 0xef28d84100000000,
+ 0xe7cbb87d00000000, 0xde7cecf000000000, 0xd69f8ccc00000000,
+ 0xceba2d8800000000, 0xc6594db400000000, 0xfef06f0100000000,
+ 0xf6130f3d00000000, 0xee36ae7900000000, 0xe6d5ce4500000000,
+ 0xdd5e76b800000000, 0xd5bd168400000000, 0xcd98b7c000000000,
+ 0xc57bd7fc00000000, 0xfdd2f54900000000, 0xf531957500000000,
+ 0xed14343100000000, 0xe5f7540d00000000, 0xdc40008000000000,
+ 0xd4a360bc00000000, 0xcc86c1f800000000, 0xc465a1c400000000,
+ 0xfccc837100000000, 0xf42fe34d00000000, 0xec0a420900000000,
+ 0xe4e9223500000000},
+ {0x0000000000000000, 0xd1e8e70e00000000, 0xa2d1cf1d00000000,
+ 0x7339281300000000, 0x44a39f3b00000000, 0x954b783500000000,
+ 0xe672502600000000, 0x379ab72800000000, 0x88463f7700000000,
+ 0x59aed87900000000, 0x2a97f06a00000000, 0xfb7f176400000000,
+ 0xcce5a04c00000000, 0x1d0d474200000000, 0x6e346f5100000000,
+ 0xbfdc885f00000000, 0x108d7eee00000000, 0xc16599e000000000,
+ 0xb25cb1f300000000, 0x63b456fd00000000, 0x542ee1d500000000,
+ 0x85c606db00000000, 0xf6ff2ec800000000, 0x2717c9c600000000,
+ 0x98cb419900000000, 0x4923a69700000000, 0x3a1a8e8400000000,
+ 0xebf2698a00000000, 0xdc68dea200000000, 0x0d8039ac00000000,
+ 0x7eb911bf00000000, 0xaf51f6b100000000, 0x611c8c0700000000,
+ 0xb0f46b0900000000, 0xc3cd431a00000000, 0x1225a41400000000,
+ 0x25bf133c00000000, 0xf457f43200000000, 0x876edc2100000000,
+ 0x56863b2f00000000, 0xe95ab37000000000, 0x38b2547e00000000,
+ 0x4b8b7c6d00000000, 0x9a639b6300000000, 0xadf92c4b00000000,
+ 0x7c11cb4500000000, 0x0f28e35600000000, 0xdec0045800000000,
+ 0x7191f2e900000000, 0xa07915e700000000, 0xd3403df400000000,
+ 0x02a8dafa00000000, 0x35326dd200000000, 0xe4da8adc00000000,
+ 0x97e3a2cf00000000, 0x460b45c100000000, 0xf9d7cd9e00000000,
+ 0x283f2a9000000000, 0x5b06028300000000, 0x8aeee58d00000000,
+ 0xbd7452a500000000, 0x6c9cb5ab00000000, 0x1fa59db800000000,
+ 0xce4d7ab600000000, 0xc238180f00000000, 0x13d0ff0100000000,
+ 0x60e9d71200000000, 0xb101301c00000000, 0x869b873400000000,
+ 0x5773603a00000000, 0x244a482900000000, 0xf5a2af2700000000,
+ 0x4a7e277800000000, 0x9b96c07600000000, 0xe8afe86500000000,
+ 0x39470f6b00000000, 0x0eddb84300000000, 0xdf355f4d00000000,
+ 0xac0c775e00000000, 0x7de4905000000000, 0xd2b566e100000000,
+ 0x035d81ef00000000, 0x7064a9fc00000000, 0xa18c4ef200000000,
+ 0x9616f9da00000000, 0x47fe1ed400000000, 0x34c736c700000000,
+ 0xe52fd1c900000000, 0x5af3599600000000, 0x8b1bbe9800000000,
+ 0xf822968b00000000, 0x29ca718500000000, 0x1e50c6ad00000000,
+ 0xcfb821a300000000, 0xbc8109b000000000, 0x6d69eebe00000000,
+ 0xa324940800000000, 0x72cc730600000000, 0x01f55b1500000000,
+ 0xd01dbc1b00000000, 0xe7870b3300000000, 0x366fec3d00000000,
+ 0x4556c42e00000000, 0x94be232000000000, 0x2b62ab7f00000000,
+ 0xfa8a4c7100000000, 0x89b3646200000000, 0x585b836c00000000,
+ 0x6fc1344400000000, 0xbe29d34a00000000, 0xcd10fb5900000000,
+ 0x1cf81c5700000000, 0xb3a9eae600000000, 0x62410de800000000,
+ 0x117825fb00000000, 0xc090c2f500000000, 0xf70a75dd00000000,
+ 0x26e292d300000000, 0x55dbbac000000000, 0x84335dce00000000,
+ 0x3befd59100000000, 0xea07329f00000000, 0x993e1a8c00000000,
+ 0x48d6fd8200000000, 0x7f4c4aaa00000000, 0xaea4ada400000000,
+ 0xdd9d85b700000000, 0x0c7562b900000000, 0x8471301e00000000,
+ 0x5599d71000000000, 0x26a0ff0300000000, 0xf748180d00000000,
+ 0xc0d2af2500000000, 0x113a482b00000000, 0x6203603800000000,
+ 0xb3eb873600000000, 0x0c370f6900000000, 0xdddfe86700000000,
+ 0xaee6c07400000000, 0x7f0e277a00000000, 0x4894905200000000,
+ 0x997c775c00000000, 0xea455f4f00000000, 0x3badb84100000000,
+ 0x94fc4ef000000000, 0x4514a9fe00000000, 0x362d81ed00000000,
+ 0xe7c566e300000000, 0xd05fd1cb00000000, 0x01b736c500000000,
+ 0x728e1ed600000000, 0xa366f9d800000000, 0x1cba718700000000,
+ 0xcd52968900000000, 0xbe6bbe9a00000000, 0x6f83599400000000,
+ 0x5819eebc00000000, 0x89f109b200000000, 0xfac821a100000000,
+ 0x2b20c6af00000000, 0xe56dbc1900000000, 0x34855b1700000000,
+ 0x47bc730400000000, 0x9654940a00000000, 0xa1ce232200000000,
+ 0x7026c42c00000000, 0x031fec3f00000000, 0xd2f70b3100000000,
+ 0x6d2b836e00000000, 0xbcc3646000000000, 0xcffa4c7300000000,
+ 0x1e12ab7d00000000, 0x29881c5500000000, 0xf860fb5b00000000,
+ 0x8b59d34800000000, 0x5ab1344600000000, 0xf5e0c2f700000000,
+ 0x240825f900000000, 0x57310dea00000000, 0x86d9eae400000000,
+ 0xb1435dcc00000000, 0x60abbac200000000, 0x139292d100000000,
+ 0xc27a75df00000000, 0x7da6fd8000000000, 0xac4e1a8e00000000,
+ 0xdf77329d00000000, 0x0e9fd59300000000, 0x390562bb00000000,
+ 0xe8ed85b500000000, 0x9bd4ada600000000, 0x4a3c4aa800000000,
+ 0x4649281100000000, 0x97a1cf1f00000000, 0xe498e70c00000000,
+ 0x3570000200000000, 0x02eab72a00000000, 0xd302502400000000,
+ 0xa03b783700000000, 0x71d39f3900000000, 0xce0f176600000000,
+ 0x1fe7f06800000000, 0x6cded87b00000000, 0xbd363f7500000000,
+ 0x8aac885d00000000, 0x5b446f5300000000, 0x287d474000000000,
+ 0xf995a04e00000000, 0x56c456ff00000000, 0x872cb1f100000000,
+ 0xf41599e200000000, 0x25fd7eec00000000, 0x1267c9c400000000,
+ 0xc38f2eca00000000, 0xb0b606d900000000, 0x615ee1d700000000,
+ 0xde82698800000000, 0x0f6a8e8600000000, 0x7c53a69500000000,
+ 0xadbb419b00000000, 0x9a21f6b300000000, 0x4bc911bd00000000,
+ 0x38f039ae00000000, 0xe918dea000000000, 0x2755a41600000000,
+ 0xf6bd431800000000, 0x85846b0b00000000, 0x546c8c0500000000,
+ 0x63f63b2d00000000, 0xb21edc2300000000, 0xc127f43000000000,
+ 0x10cf133e00000000, 0xaf139b6100000000, 0x7efb7c6f00000000,
+ 0x0dc2547c00000000, 0xdc2ab37200000000, 0xebb0045a00000000,
+ 0x3a58e35400000000, 0x4961cb4700000000, 0x98892c4900000000,
+ 0x37d8daf800000000, 0xe6303df600000000, 0x950915e500000000,
+ 0x44e1f2eb00000000, 0x737b45c300000000, 0xa293a2cd00000000,
+ 0xd1aa8ade00000000, 0x00426dd000000000, 0xbf9ee58f00000000,
+ 0x6e76028100000000, 0x1d4f2a9200000000, 0xcca7cd9c00000000,
+ 0xfb3d7ab400000000, 0x2ad59dba00000000, 0x59ecb5a900000000,
+ 0x880452a700000000},
+ {0x0000000000000000, 0xaa05daf100000000, 0x150dc53800000000,
+ 0xbf081fc900000000, 0x2a1a8a7100000000, 0x801f508000000000,
+ 0x3f174f4900000000, 0x951295b800000000, 0x543414e300000000,
+ 0xfe31ce1200000000, 0x4139d1db00000000, 0xeb3c0b2a00000000,
+ 0x7e2e9e9200000000, 0xd42b446300000000, 0x6b235baa00000000,
+ 0xc126815b00000000, 0xe96e591d00000000, 0x436b83ec00000000,
+ 0xfc639c2500000000, 0x566646d400000000, 0xc374d36c00000000,
+ 0x6971099d00000000, 0xd679165400000000, 0x7c7ccca500000000,
+ 0xbd5a4dfe00000000, 0x175f970f00000000, 0xa85788c600000000,
+ 0x0252523700000000, 0x9740c78f00000000, 0x3d451d7e00000000,
+ 0x824d02b700000000, 0x2848d84600000000, 0xd2ddb23a00000000,
+ 0x78d868cb00000000, 0xc7d0770200000000, 0x6dd5adf300000000,
+ 0xf8c7384b00000000, 0x52c2e2ba00000000, 0xedcafd7300000000,
+ 0x47cf278200000000, 0x86e9a6d900000000, 0x2cec7c2800000000,
+ 0x93e463e100000000, 0x39e1b91000000000, 0xacf32ca800000000,
+ 0x06f6f65900000000, 0xb9fee99000000000, 0x13fb336100000000,
+ 0x3bb3eb2700000000, 0x91b631d600000000, 0x2ebe2e1f00000000,
+ 0x84bbf4ee00000000, 0x11a9615600000000, 0xbbacbba700000000,
+ 0x04a4a46e00000000, 0xaea17e9f00000000, 0x6f87ffc400000000,
+ 0xc582253500000000, 0x7a8a3afc00000000, 0xd08fe00d00000000,
+ 0x459d75b500000000, 0xef98af4400000000, 0x5090b08d00000000,
+ 0xfa956a7c00000000, 0xa4bb657500000000, 0x0ebebf8400000000,
+ 0xb1b6a04d00000000, 0x1bb37abc00000000, 0x8ea1ef0400000000,
+ 0x24a435f500000000, 0x9bac2a3c00000000, 0x31a9f0cd00000000,
+ 0xf08f719600000000, 0x5a8aab6700000000, 0xe582b4ae00000000,
+ 0x4f876e5f00000000, 0xda95fbe700000000, 0x7090211600000000,
+ 0xcf983edf00000000, 0x659de42e00000000, 0x4dd53c6800000000,
+ 0xe7d0e69900000000, 0x58d8f95000000000, 0xf2dd23a100000000,
+ 0x67cfb61900000000, 0xcdca6ce800000000, 0x72c2732100000000,
+ 0xd8c7a9d000000000, 0x19e1288b00000000, 0xb3e4f27a00000000,
+ 0x0cecedb300000000, 0xa6e9374200000000, 0x33fba2fa00000000,
+ 0x99fe780b00000000, 0x26f667c200000000, 0x8cf3bd3300000000,
+ 0x7666d74f00000000, 0xdc630dbe00000000, 0x636b127700000000,
+ 0xc96ec88600000000, 0x5c7c5d3e00000000, 0xf67987cf00000000,
+ 0x4971980600000000, 0xe37442f700000000, 0x2252c3ac00000000,
+ 0x8857195d00000000, 0x375f069400000000, 0x9d5adc6500000000,
+ 0x084849dd00000000, 0xa24d932c00000000, 0x1d458ce500000000,
+ 0xb740561400000000, 0x9f088e5200000000, 0x350d54a300000000,
+ 0x8a054b6a00000000, 0x2000919b00000000, 0xb512042300000000,
+ 0x1f17ded200000000, 0xa01fc11b00000000, 0x0a1a1bea00000000,
+ 0xcb3c9ab100000000, 0x6139404000000000, 0xde315f8900000000,
+ 0x7434857800000000, 0xe12610c000000000, 0x4b23ca3100000000,
+ 0xf42bd5f800000000, 0x5e2e0f0900000000, 0x4877cbea00000000,
+ 0xe272111b00000000, 0x5d7a0ed200000000, 0xf77fd42300000000,
+ 0x626d419b00000000, 0xc8689b6a00000000, 0x776084a300000000,
+ 0xdd655e5200000000, 0x1c43df0900000000, 0xb64605f800000000,
+ 0x094e1a3100000000, 0xa34bc0c000000000, 0x3659557800000000,
+ 0x9c5c8f8900000000, 0x2354904000000000, 0x89514ab100000000,
+ 0xa11992f700000000, 0x0b1c480600000000, 0xb41457cf00000000,
+ 0x1e118d3e00000000, 0x8b03188600000000, 0x2106c27700000000,
+ 0x9e0eddbe00000000, 0x340b074f00000000, 0xf52d861400000000,
+ 0x5f285ce500000000, 0xe020432c00000000, 0x4a2599dd00000000,
+ 0xdf370c6500000000, 0x7532d69400000000, 0xca3ac95d00000000,
+ 0x603f13ac00000000, 0x9aaa79d000000000, 0x30afa32100000000,
+ 0x8fa7bce800000000, 0x25a2661900000000, 0xb0b0f3a100000000,
+ 0x1ab5295000000000, 0xa5bd369900000000, 0x0fb8ec6800000000,
+ 0xce9e6d3300000000, 0x649bb7c200000000, 0xdb93a80b00000000,
+ 0x719672fa00000000, 0xe484e74200000000, 0x4e813db300000000,
+ 0xf189227a00000000, 0x5b8cf88b00000000, 0x73c420cd00000000,
+ 0xd9c1fa3c00000000, 0x66c9e5f500000000, 0xcccc3f0400000000,
+ 0x59deaabc00000000, 0xf3db704d00000000, 0x4cd36f8400000000,
+ 0xe6d6b57500000000, 0x27f0342e00000000, 0x8df5eedf00000000,
+ 0x32fdf11600000000, 0x98f82be700000000, 0x0deabe5f00000000,
+ 0xa7ef64ae00000000, 0x18e77b6700000000, 0xb2e2a19600000000,
+ 0xecccae9f00000000, 0x46c9746e00000000, 0xf9c16ba700000000,
+ 0x53c4b15600000000, 0xc6d624ee00000000, 0x6cd3fe1f00000000,
+ 0xd3dbe1d600000000, 0x79de3b2700000000, 0xb8f8ba7c00000000,
+ 0x12fd608d00000000, 0xadf57f4400000000, 0x07f0a5b500000000,
+ 0x92e2300d00000000, 0x38e7eafc00000000, 0x87eff53500000000,
+ 0x2dea2fc400000000, 0x05a2f78200000000, 0xafa72d7300000000,
+ 0x10af32ba00000000, 0xbaaae84b00000000, 0x2fb87df300000000,
+ 0x85bda70200000000, 0x3ab5b8cb00000000, 0x90b0623a00000000,
+ 0x5196e36100000000, 0xfb93399000000000, 0x449b265900000000,
+ 0xee9efca800000000, 0x7b8c691000000000, 0xd189b3e100000000,
+ 0x6e81ac2800000000, 0xc48476d900000000, 0x3e111ca500000000,
+ 0x9414c65400000000, 0x2b1cd99d00000000, 0x8119036c00000000,
+ 0x140b96d400000000, 0xbe0e4c2500000000, 0x010653ec00000000,
+ 0xab03891d00000000, 0x6a25084600000000, 0xc020d2b700000000,
+ 0x7f28cd7e00000000, 0xd52d178f00000000, 0x403f823700000000,
+ 0xea3a58c600000000, 0x5532470f00000000, 0xff379dfe00000000,
+ 0xd77f45b800000000, 0x7d7a9f4900000000, 0xc272808000000000,
+ 0x68775a7100000000, 0xfd65cfc900000000, 0x5760153800000000,
+ 0xe8680af100000000, 0x426dd00000000000, 0x834b515b00000000,
+ 0x294e8baa00000000, 0x9646946300000000, 0x3c434e9200000000,
+ 0xa951db2a00000000, 0x035401db00000000, 0xbc5c1e1200000000,
+ 0x1659c4e300000000}};
+
+#else /* W == 4 */
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0xae689191, 0x87a02563, 0x29c8b4f2, 0xd4314c87,
+ 0x7a59dd16, 0x539169e4, 0xfdf9f875, 0x73139f4f, 0xdd7b0ede,
+ 0xf4b3ba2c, 0x5adb2bbd, 0xa722d3c8, 0x094a4259, 0x2082f6ab,
+ 0x8eea673a, 0xe6273e9e, 0x484faf0f, 0x61871bfd, 0xcfef8a6c,
+ 0x32167219, 0x9c7ee388, 0xb5b6577a, 0x1bdec6eb, 0x9534a1d1,
+ 0x3b5c3040, 0x129484b2, 0xbcfc1523, 0x4105ed56, 0xef6d7cc7,
+ 0xc6a5c835, 0x68cd59a4, 0x173f7b7d, 0xb957eaec, 0x909f5e1e,
+ 0x3ef7cf8f, 0xc30e37fa, 0x6d66a66b, 0x44ae1299, 0xeac68308,
+ 0x642ce432, 0xca4475a3, 0xe38cc151, 0x4de450c0, 0xb01da8b5,
+ 0x1e753924, 0x37bd8dd6, 0x99d51c47, 0xf11845e3, 0x5f70d472,
+ 0x76b86080, 0xd8d0f111, 0x25290964, 0x8b4198f5, 0xa2892c07,
+ 0x0ce1bd96, 0x820bdaac, 0x2c634b3d, 0x05abffcf, 0xabc36e5e,
+ 0x563a962b, 0xf85207ba, 0xd19ab348, 0x7ff222d9, 0x2e7ef6fa,
+ 0x8016676b, 0xa9ded399, 0x07b64208, 0xfa4fba7d, 0x54272bec,
+ 0x7def9f1e, 0xd3870e8f, 0x5d6d69b5, 0xf305f824, 0xdacd4cd6,
+ 0x74a5dd47, 0x895c2532, 0x2734b4a3, 0x0efc0051, 0xa09491c0,
+ 0xc859c864, 0x663159f5, 0x4ff9ed07, 0xe1917c96, 0x1c6884e3,
+ 0xb2001572, 0x9bc8a180, 0x35a03011, 0xbb4a572b, 0x1522c6ba,
+ 0x3cea7248, 0x9282e3d9, 0x6f7b1bac, 0xc1138a3d, 0xe8db3ecf,
+ 0x46b3af5e, 0x39418d87, 0x97291c16, 0xbee1a8e4, 0x10893975,
+ 0xed70c100, 0x43185091, 0x6ad0e463, 0xc4b875f2, 0x4a5212c8,
+ 0xe43a8359, 0xcdf237ab, 0x639aa63a, 0x9e635e4f, 0x300bcfde,
+ 0x19c37b2c, 0xb7abeabd, 0xdf66b319, 0x710e2288, 0x58c6967a,
+ 0xf6ae07eb, 0x0b57ff9e, 0xa53f6e0f, 0x8cf7dafd, 0x229f4b6c,
+ 0xac752c56, 0x021dbdc7, 0x2bd50935, 0x85bd98a4, 0x784460d1,
+ 0xd62cf140, 0xffe445b2, 0x518cd423, 0x5cfdedf4, 0xf2957c65,
+ 0xdb5dc897, 0x75355906, 0x88cca173, 0x26a430e2, 0x0f6c8410,
+ 0xa1041581, 0x2fee72bb, 0x8186e32a, 0xa84e57d8, 0x0626c649,
+ 0xfbdf3e3c, 0x55b7afad, 0x7c7f1b5f, 0xd2178ace, 0xbadad36a,
+ 0x14b242fb, 0x3d7af609, 0x93126798, 0x6eeb9fed, 0xc0830e7c,
+ 0xe94bba8e, 0x47232b1f, 0xc9c94c25, 0x67a1ddb4, 0x4e696946,
+ 0xe001f8d7, 0x1df800a2, 0xb3909133, 0x9a5825c1, 0x3430b450,
+ 0x4bc29689, 0xe5aa0718, 0xcc62b3ea, 0x620a227b, 0x9ff3da0e,
+ 0x319b4b9f, 0x1853ff6d, 0xb63b6efc, 0x38d109c6, 0x96b99857,
+ 0xbf712ca5, 0x1119bd34, 0xece04541, 0x4288d4d0, 0x6b406022,
+ 0xc528f1b3, 0xade5a817, 0x038d3986, 0x2a458d74, 0x842d1ce5,
+ 0x79d4e490, 0xd7bc7501, 0xfe74c1f3, 0x501c5062, 0xdef63758,
+ 0x709ea6c9, 0x5956123b, 0xf73e83aa, 0x0ac77bdf, 0xa4afea4e,
+ 0x8d675ebc, 0x230fcf2d, 0x72831b0e, 0xdceb8a9f, 0xf5233e6d,
+ 0x5b4baffc, 0xa6b25789, 0x08dac618, 0x211272ea, 0x8f7ae37b,
+ 0x01908441, 0xaff815d0, 0x8630a122, 0x285830b3, 0xd5a1c8c6,
+ 0x7bc95957, 0x5201eda5, 0xfc697c34, 0x94a42590, 0x3accb401,
+ 0x130400f3, 0xbd6c9162, 0x40956917, 0xeefdf886, 0xc7354c74,
+ 0x695ddde5, 0xe7b7badf, 0x49df2b4e, 0x60179fbc, 0xce7f0e2d,
+ 0x3386f658, 0x9dee67c9, 0xb426d33b, 0x1a4e42aa, 0x65bc6073,
+ 0xcbd4f1e2, 0xe21c4510, 0x4c74d481, 0xb18d2cf4, 0x1fe5bd65,
+ 0x362d0997, 0x98459806, 0x16afff3c, 0xb8c76ead, 0x910fda5f,
+ 0x3f674bce, 0xc29eb3bb, 0x6cf6222a, 0x453e96d8, 0xeb560749,
+ 0x839b5eed, 0x2df3cf7c, 0x043b7b8e, 0xaa53ea1f, 0x57aa126a,
+ 0xf9c283fb, 0xd00a3709, 0x7e62a698, 0xf088c1a2, 0x5ee05033,
+ 0x7728e4c1, 0xd9407550, 0x24b98d25, 0x8ad11cb4, 0xa319a846,
+ 0x0d7139d7},
+ {0x00000000, 0xb9fbdbe8, 0xa886b191, 0x117d6a79, 0x8a7c6563,
+ 0x3387be8b, 0x22fad4f2, 0x9b010f1a, 0xcf89cc87, 0x7672176f,
+ 0x670f7d16, 0xdef4a6fe, 0x45f5a9e4, 0xfc0e720c, 0xed731875,
+ 0x5488c39d, 0x44629f4f, 0xfd9944a7, 0xece42ede, 0x551ff536,
+ 0xce1efa2c, 0x77e521c4, 0x66984bbd, 0xdf639055, 0x8beb53c8,
+ 0x32108820, 0x236de259, 0x9a9639b1, 0x019736ab, 0xb86ced43,
+ 0xa911873a, 0x10ea5cd2, 0x88c53e9e, 0x313ee576, 0x20438f0f,
+ 0x99b854e7, 0x02b95bfd, 0xbb428015, 0xaa3fea6c, 0x13c43184,
+ 0x474cf219, 0xfeb729f1, 0xefca4388, 0x56319860, 0xcd30977a,
+ 0x74cb4c92, 0x65b626eb, 0xdc4dfd03, 0xcca7a1d1, 0x755c7a39,
+ 0x64211040, 0xdddacba8, 0x46dbc4b2, 0xff201f5a, 0xee5d7523,
+ 0x57a6aecb, 0x032e6d56, 0xbad5b6be, 0xaba8dcc7, 0x1253072f,
+ 0x89520835, 0x30a9d3dd, 0x21d4b9a4, 0x982f624c, 0xcafb7b7d,
+ 0x7300a095, 0x627dcaec, 0xdb861104, 0x40871e1e, 0xf97cc5f6,
+ 0xe801af8f, 0x51fa7467, 0x0572b7fa, 0xbc896c12, 0xadf4066b,
+ 0x140fdd83, 0x8f0ed299, 0x36f50971, 0x27886308, 0x9e73b8e0,
+ 0x8e99e432, 0x37623fda, 0x261f55a3, 0x9fe48e4b, 0x04e58151,
+ 0xbd1e5ab9, 0xac6330c0, 0x1598eb28, 0x411028b5, 0xf8ebf35d,
+ 0xe9969924, 0x506d42cc, 0xcb6c4dd6, 0x7297963e, 0x63eafc47,
+ 0xda1127af, 0x423e45e3, 0xfbc59e0b, 0xeab8f472, 0x53432f9a,
+ 0xc8422080, 0x71b9fb68, 0x60c49111, 0xd93f4af9, 0x8db78964,
+ 0x344c528c, 0x253138f5, 0x9ccae31d, 0x07cbec07, 0xbe3037ef,
+ 0xaf4d5d96, 0x16b6867e, 0x065cdaac, 0xbfa70144, 0xaeda6b3d,
+ 0x1721b0d5, 0x8c20bfcf, 0x35db6427, 0x24a60e5e, 0x9d5dd5b6,
+ 0xc9d5162b, 0x702ecdc3, 0x6153a7ba, 0xd8a87c52, 0x43a97348,
+ 0xfa52a8a0, 0xeb2fc2d9, 0x52d41931, 0x4e87f0bb, 0xf77c2b53,
+ 0xe601412a, 0x5ffa9ac2, 0xc4fb95d8, 0x7d004e30, 0x6c7d2449,
+ 0xd586ffa1, 0x810e3c3c, 0x38f5e7d4, 0x29888dad, 0x90735645,
+ 0x0b72595f, 0xb28982b7, 0xa3f4e8ce, 0x1a0f3326, 0x0ae56ff4,
+ 0xb31eb41c, 0xa263de65, 0x1b98058d, 0x80990a97, 0x3962d17f,
+ 0x281fbb06, 0x91e460ee, 0xc56ca373, 0x7c97789b, 0x6dea12e2,
+ 0xd411c90a, 0x4f10c610, 0xf6eb1df8, 0xe7967781, 0x5e6dac69,
+ 0xc642ce25, 0x7fb915cd, 0x6ec47fb4, 0xd73fa45c, 0x4c3eab46,
+ 0xf5c570ae, 0xe4b81ad7, 0x5d43c13f, 0x09cb02a2, 0xb030d94a,
+ 0xa14db333, 0x18b668db, 0x83b767c1, 0x3a4cbc29, 0x2b31d650,
+ 0x92ca0db8, 0x8220516a, 0x3bdb8a82, 0x2aa6e0fb, 0x935d3b13,
+ 0x085c3409, 0xb1a7efe1, 0xa0da8598, 0x19215e70, 0x4da99ded,
+ 0xf4524605, 0xe52f2c7c, 0x5cd4f794, 0xc7d5f88e, 0x7e2e2366,
+ 0x6f53491f, 0xd6a892f7, 0x847c8bc6, 0x3d87502e, 0x2cfa3a57,
+ 0x9501e1bf, 0x0e00eea5, 0xb7fb354d, 0xa6865f34, 0x1f7d84dc,
+ 0x4bf54741, 0xf20e9ca9, 0xe373f6d0, 0x5a882d38, 0xc1892222,
+ 0x7872f9ca, 0x690f93b3, 0xd0f4485b, 0xc01e1489, 0x79e5cf61,
+ 0x6898a518, 0xd1637ef0, 0x4a6271ea, 0xf399aa02, 0xe2e4c07b,
+ 0x5b1f1b93, 0x0f97d80e, 0xb66c03e6, 0xa711699f, 0x1eeab277,
+ 0x85ebbd6d, 0x3c106685, 0x2d6d0cfc, 0x9496d714, 0x0cb9b558,
+ 0xb5426eb0, 0xa43f04c9, 0x1dc4df21, 0x86c5d03b, 0x3f3e0bd3,
+ 0x2e4361aa, 0x97b8ba42, 0xc33079df, 0x7acba237, 0x6bb6c84e,
+ 0xd24d13a6, 0x494c1cbc, 0xf0b7c754, 0xe1caad2d, 0x583176c5,
+ 0x48db2a17, 0xf120f1ff, 0xe05d9b86, 0x59a6406e, 0xc2a74f74,
+ 0x7b5c949c, 0x6a21fee5, 0xd3da250d, 0x8752e690, 0x3ea93d78,
+ 0x2fd45701, 0x962f8ce9, 0x0d2e83f3, 0xb4d5581b, 0xa5a83262,
+ 0x1c53e98a},
+ {0x00000000, 0x9d0fe176, 0xe16ec4ad, 0x7c6125db, 0x19ac8f1b,
+ 0x84a36e6d, 0xf8c24bb6, 0x65cdaac0, 0x33591e36, 0xae56ff40,
+ 0xd237da9b, 0x4f383bed, 0x2af5912d, 0xb7fa705b, 0xcb9b5580,
+ 0x5694b4f6, 0x66b23c6c, 0xfbbddd1a, 0x87dcf8c1, 0x1ad319b7,
+ 0x7f1eb377, 0xe2115201, 0x9e7077da, 0x037f96ac, 0x55eb225a,
+ 0xc8e4c32c, 0xb485e6f7, 0x298a0781, 0x4c47ad41, 0xd1484c37,
+ 0xad2969ec, 0x3026889a, 0xcd6478d8, 0x506b99ae, 0x2c0abc75,
+ 0xb1055d03, 0xd4c8f7c3, 0x49c716b5, 0x35a6336e, 0xa8a9d218,
+ 0xfe3d66ee, 0x63328798, 0x1f53a243, 0x825c4335, 0xe791e9f5,
+ 0x7a9e0883, 0x06ff2d58, 0x9bf0cc2e, 0xabd644b4, 0x36d9a5c2,
+ 0x4ab88019, 0xd7b7616f, 0xb27acbaf, 0x2f752ad9, 0x53140f02,
+ 0xce1bee74, 0x988f5a82, 0x0580bbf4, 0x79e19e2f, 0xe4ee7f59,
+ 0x8123d599, 0x1c2c34ef, 0x604d1134, 0xfd42f042, 0x41b9f7f1,
+ 0xdcb61687, 0xa0d7335c, 0x3dd8d22a, 0x581578ea, 0xc51a999c,
+ 0xb97bbc47, 0x24745d31, 0x72e0e9c7, 0xefef08b1, 0x938e2d6a,
+ 0x0e81cc1c, 0x6b4c66dc, 0xf64387aa, 0x8a22a271, 0x172d4307,
+ 0x270bcb9d, 0xba042aeb, 0xc6650f30, 0x5b6aee46, 0x3ea74486,
+ 0xa3a8a5f0, 0xdfc9802b, 0x42c6615d, 0x1452d5ab, 0x895d34dd,
+ 0xf53c1106, 0x6833f070, 0x0dfe5ab0, 0x90f1bbc6, 0xec909e1d,
+ 0x719f7f6b, 0x8cdd8f29, 0x11d26e5f, 0x6db34b84, 0xf0bcaaf2,
+ 0x95710032, 0x087ee144, 0x741fc49f, 0xe91025e9, 0xbf84911f,
+ 0x228b7069, 0x5eea55b2, 0xc3e5b4c4, 0xa6281e04, 0x3b27ff72,
+ 0x4746daa9, 0xda493bdf, 0xea6fb345, 0x77605233, 0x0b0177e8,
+ 0x960e969e, 0xf3c33c5e, 0x6eccdd28, 0x12adf8f3, 0x8fa21985,
+ 0xd936ad73, 0x44394c05, 0x385869de, 0xa55788a8, 0xc09a2268,
+ 0x5d95c31e, 0x21f4e6c5, 0xbcfb07b3, 0x8373efe2, 0x1e7c0e94,
+ 0x621d2b4f, 0xff12ca39, 0x9adf60f9, 0x07d0818f, 0x7bb1a454,
+ 0xe6be4522, 0xb02af1d4, 0x2d2510a2, 0x51443579, 0xcc4bd40f,
+ 0xa9867ecf, 0x34899fb9, 0x48e8ba62, 0xd5e75b14, 0xe5c1d38e,
+ 0x78ce32f8, 0x04af1723, 0x99a0f655, 0xfc6d5c95, 0x6162bde3,
+ 0x1d039838, 0x800c794e, 0xd698cdb8, 0x4b972cce, 0x37f60915,
+ 0xaaf9e863, 0xcf3442a3, 0x523ba3d5, 0x2e5a860e, 0xb3556778,
+ 0x4e17973a, 0xd318764c, 0xaf795397, 0x3276b2e1, 0x57bb1821,
+ 0xcab4f957, 0xb6d5dc8c, 0x2bda3dfa, 0x7d4e890c, 0xe041687a,
+ 0x9c204da1, 0x012facd7, 0x64e20617, 0xf9ede761, 0x858cc2ba,
+ 0x188323cc, 0x28a5ab56, 0xb5aa4a20, 0xc9cb6ffb, 0x54c48e8d,
+ 0x3109244d, 0xac06c53b, 0xd067e0e0, 0x4d680196, 0x1bfcb560,
+ 0x86f35416, 0xfa9271cd, 0x679d90bb, 0x02503a7b, 0x9f5fdb0d,
+ 0xe33efed6, 0x7e311fa0, 0xc2ca1813, 0x5fc5f965, 0x23a4dcbe,
+ 0xbeab3dc8, 0xdb669708, 0x4669767e, 0x3a0853a5, 0xa707b2d3,
+ 0xf1930625, 0x6c9ce753, 0x10fdc288, 0x8df223fe, 0xe83f893e,
+ 0x75306848, 0x09514d93, 0x945eace5, 0xa478247f, 0x3977c509,
+ 0x4516e0d2, 0xd81901a4, 0xbdd4ab64, 0x20db4a12, 0x5cba6fc9,
+ 0xc1b58ebf, 0x97213a49, 0x0a2edb3f, 0x764ffee4, 0xeb401f92,
+ 0x8e8db552, 0x13825424, 0x6fe371ff, 0xf2ec9089, 0x0fae60cb,
+ 0x92a181bd, 0xeec0a466, 0x73cf4510, 0x1602efd0, 0x8b0d0ea6,
+ 0xf76c2b7d, 0x6a63ca0b, 0x3cf77efd, 0xa1f89f8b, 0xdd99ba50,
+ 0x40965b26, 0x255bf1e6, 0xb8541090, 0xc435354b, 0x593ad43d,
+ 0x691c5ca7, 0xf413bdd1, 0x8872980a, 0x157d797c, 0x70b0d3bc,
+ 0xedbf32ca, 0x91de1711, 0x0cd1f667, 0x5a454291, 0xc74aa3e7,
+ 0xbb2b863c, 0x2624674a, 0x43e9cd8a, 0xdee62cfc, 0xa2870927,
+ 0x3f88e851},
+ {0x00000000, 0xdd96d985, 0x605cb54b, 0xbdca6cce, 0xc0b96a96,
+ 0x1d2fb313, 0xa0e5dfdd, 0x7d730658, 0x5a03d36d, 0x87950ae8,
+ 0x3a5f6626, 0xe7c9bfa3, 0x9abab9fb, 0x472c607e, 0xfae60cb0,
+ 0x2770d535, 0xb407a6da, 0x69917f5f, 0xd45b1391, 0x09cdca14,
+ 0x74becc4c, 0xa92815c9, 0x14e27907, 0xc974a082, 0xee0475b7,
+ 0x3392ac32, 0x8e58c0fc, 0x53ce1979, 0x2ebd1f21, 0xf32bc6a4,
+ 0x4ee1aa6a, 0x937773ef, 0xb37e4bf5, 0x6ee89270, 0xd322febe,
+ 0x0eb4273b, 0x73c72163, 0xae51f8e6, 0x139b9428, 0xce0d4dad,
+ 0xe97d9898, 0x34eb411d, 0x89212dd3, 0x54b7f456, 0x29c4f20e,
+ 0xf4522b8b, 0x49984745, 0x940e9ec0, 0x0779ed2f, 0xdaef34aa,
+ 0x67255864, 0xbab381e1, 0xc7c087b9, 0x1a565e3c, 0xa79c32f2,
+ 0x7a0aeb77, 0x5d7a3e42, 0x80ece7c7, 0x3d268b09, 0xe0b0528c,
+ 0x9dc354d4, 0x40558d51, 0xfd9fe19f, 0x2009381a, 0xbd8d91ab,
+ 0x601b482e, 0xddd124e0, 0x0047fd65, 0x7d34fb3d, 0xa0a222b8,
+ 0x1d684e76, 0xc0fe97f3, 0xe78e42c6, 0x3a189b43, 0x87d2f78d,
+ 0x5a442e08, 0x27372850, 0xfaa1f1d5, 0x476b9d1b, 0x9afd449e,
+ 0x098a3771, 0xd41ceef4, 0x69d6823a, 0xb4405bbf, 0xc9335de7,
+ 0x14a58462, 0xa96fe8ac, 0x74f93129, 0x5389e41c, 0x8e1f3d99,
+ 0x33d55157, 0xee4388d2, 0x93308e8a, 0x4ea6570f, 0xf36c3bc1,
+ 0x2efae244, 0x0ef3da5e, 0xd36503db, 0x6eaf6f15, 0xb339b690,
+ 0xce4ab0c8, 0x13dc694d, 0xae160583, 0x7380dc06, 0x54f00933,
+ 0x8966d0b6, 0x34acbc78, 0xe93a65fd, 0x944963a5, 0x49dfba20,
+ 0xf415d6ee, 0x29830f6b, 0xbaf47c84, 0x6762a501, 0xdaa8c9cf,
+ 0x073e104a, 0x7a4d1612, 0xa7dbcf97, 0x1a11a359, 0xc7877adc,
+ 0xe0f7afe9, 0x3d61766c, 0x80ab1aa2, 0x5d3dc327, 0x204ec57f,
+ 0xfdd81cfa, 0x40127034, 0x9d84a9b1, 0xa06a2517, 0x7dfcfc92,
+ 0xc036905c, 0x1da049d9, 0x60d34f81, 0xbd459604, 0x008ffaca,
+ 0xdd19234f, 0xfa69f67a, 0x27ff2fff, 0x9a354331, 0x47a39ab4,
+ 0x3ad09cec, 0xe7464569, 0x5a8c29a7, 0x871af022, 0x146d83cd,
+ 0xc9fb5a48, 0x74313686, 0xa9a7ef03, 0xd4d4e95b, 0x094230de,
+ 0xb4885c10, 0x691e8595, 0x4e6e50a0, 0x93f88925, 0x2e32e5eb,
+ 0xf3a43c6e, 0x8ed73a36, 0x5341e3b3, 0xee8b8f7d, 0x331d56f8,
+ 0x13146ee2, 0xce82b767, 0x7348dba9, 0xaede022c, 0xd3ad0474,
+ 0x0e3bddf1, 0xb3f1b13f, 0x6e6768ba, 0x4917bd8f, 0x9481640a,
+ 0x294b08c4, 0xf4ddd141, 0x89aed719, 0x54380e9c, 0xe9f26252,
+ 0x3464bbd7, 0xa713c838, 0x7a8511bd, 0xc74f7d73, 0x1ad9a4f6,
+ 0x67aaa2ae, 0xba3c7b2b, 0x07f617e5, 0xda60ce60, 0xfd101b55,
+ 0x2086c2d0, 0x9d4cae1e, 0x40da779b, 0x3da971c3, 0xe03fa846,
+ 0x5df5c488, 0x80631d0d, 0x1de7b4bc, 0xc0716d39, 0x7dbb01f7,
+ 0xa02dd872, 0xdd5ede2a, 0x00c807af, 0xbd026b61, 0x6094b2e4,
+ 0x47e467d1, 0x9a72be54, 0x27b8d29a, 0xfa2e0b1f, 0x875d0d47,
+ 0x5acbd4c2, 0xe701b80c, 0x3a976189, 0xa9e01266, 0x7476cbe3,
+ 0xc9bca72d, 0x142a7ea8, 0x695978f0, 0xb4cfa175, 0x0905cdbb,
+ 0xd493143e, 0xf3e3c10b, 0x2e75188e, 0x93bf7440, 0x4e29adc5,
+ 0x335aab9d, 0xeecc7218, 0x53061ed6, 0x8e90c753, 0xae99ff49,
+ 0x730f26cc, 0xcec54a02, 0x13539387, 0x6e2095df, 0xb3b64c5a,
+ 0x0e7c2094, 0xd3eaf911, 0xf49a2c24, 0x290cf5a1, 0x94c6996f,
+ 0x495040ea, 0x342346b2, 0xe9b59f37, 0x547ff3f9, 0x89e92a7c,
+ 0x1a9e5993, 0xc7088016, 0x7ac2ecd8, 0xa754355d, 0xda273305,
+ 0x07b1ea80, 0xba7b864e, 0x67ed5fcb, 0x409d8afe, 0x9d0b537b,
+ 0x20c13fb5, 0xfd57e630, 0x8024e068, 0x5db239ed, 0xe0785523,
+ 0x3dee8ca6}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x00000000, 0x85d996dd, 0x4bb55c60, 0xce6ccabd, 0x966ab9c0,
+ 0x13b32f1d, 0xdddfe5a0, 0x5806737d, 0x6dd3035a, 0xe80a9587,
+ 0x26665f3a, 0xa3bfc9e7, 0xfbb9ba9a, 0x7e602c47, 0xb00ce6fa,
+ 0x35d57027, 0xdaa607b4, 0x5f7f9169, 0x91135bd4, 0x14cacd09,
+ 0x4cccbe74, 0xc91528a9, 0x0779e214, 0x82a074c9, 0xb77504ee,
+ 0x32ac9233, 0xfcc0588e, 0x7919ce53, 0x211fbd2e, 0xa4c62bf3,
+ 0x6aaae14e, 0xef737793, 0xf54b7eb3, 0x7092e86e, 0xbefe22d3,
+ 0x3b27b40e, 0x6321c773, 0xe6f851ae, 0x28949b13, 0xad4d0dce,
+ 0x98987de9, 0x1d41eb34, 0xd32d2189, 0x56f4b754, 0x0ef2c429,
+ 0x8b2b52f4, 0x45479849, 0xc09e0e94, 0x2fed7907, 0xaa34efda,
+ 0x64582567, 0xe181b3ba, 0xb987c0c7, 0x3c5e561a, 0xf2329ca7,
+ 0x77eb0a7a, 0x423e7a5d, 0xc7e7ec80, 0x098b263d, 0x8c52b0e0,
+ 0xd454c39d, 0x518d5540, 0x9fe19ffd, 0x1a380920, 0xab918dbd,
+ 0x2e481b60, 0xe024d1dd, 0x65fd4700, 0x3dfb347d, 0xb822a2a0,
+ 0x764e681d, 0xf397fec0, 0xc6428ee7, 0x439b183a, 0x8df7d287,
+ 0x082e445a, 0x50283727, 0xd5f1a1fa, 0x1b9d6b47, 0x9e44fd9a,
+ 0x71378a09, 0xf4ee1cd4, 0x3a82d669, 0xbf5b40b4, 0xe75d33c9,
+ 0x6284a514, 0xace86fa9, 0x2931f974, 0x1ce48953, 0x993d1f8e,
+ 0x5751d533, 0xd28843ee, 0x8a8e3093, 0x0f57a64e, 0xc13b6cf3,
+ 0x44e2fa2e, 0x5edaf30e, 0xdb0365d3, 0x156faf6e, 0x90b639b3,
+ 0xc8b04ace, 0x4d69dc13, 0x830516ae, 0x06dc8073, 0x3309f054,
+ 0xb6d06689, 0x78bcac34, 0xfd653ae9, 0xa5634994, 0x20badf49,
+ 0xeed615f4, 0x6b0f8329, 0x847cf4ba, 0x01a56267, 0xcfc9a8da,
+ 0x4a103e07, 0x12164d7a, 0x97cfdba7, 0x59a3111a, 0xdc7a87c7,
+ 0xe9aff7e0, 0x6c76613d, 0xa21aab80, 0x27c33d5d, 0x7fc54e20,
+ 0xfa1cd8fd, 0x34701240, 0xb1a9849d, 0x17256aa0, 0x92fcfc7d,
+ 0x5c9036c0, 0xd949a01d, 0x814fd360, 0x049645bd, 0xcafa8f00,
+ 0x4f2319dd, 0x7af669fa, 0xff2fff27, 0x3143359a, 0xb49aa347,
+ 0xec9cd03a, 0x694546e7, 0xa7298c5a, 0x22f01a87, 0xcd836d14,
+ 0x485afbc9, 0x86363174, 0x03efa7a9, 0x5be9d4d4, 0xde304209,
+ 0x105c88b4, 0x95851e69, 0xa0506e4e, 0x2589f893, 0xebe5322e,
+ 0x6e3ca4f3, 0x363ad78e, 0xb3e34153, 0x7d8f8bee, 0xf8561d33,
+ 0xe26e1413, 0x67b782ce, 0xa9db4873, 0x2c02deae, 0x7404add3,
+ 0xf1dd3b0e, 0x3fb1f1b3, 0xba68676e, 0x8fbd1749, 0x0a648194,
+ 0xc4084b29, 0x41d1ddf4, 0x19d7ae89, 0x9c0e3854, 0x5262f2e9,
+ 0xd7bb6434, 0x38c813a7, 0xbd11857a, 0x737d4fc7, 0xf6a4d91a,
+ 0xaea2aa67, 0x2b7b3cba, 0xe517f607, 0x60ce60da, 0x551b10fd,
+ 0xd0c28620, 0x1eae4c9d, 0x9b77da40, 0xc371a93d, 0x46a83fe0,
+ 0x88c4f55d, 0x0d1d6380, 0xbcb4e71d, 0x396d71c0, 0xf701bb7d,
+ 0x72d82da0, 0x2ade5edd, 0xaf07c800, 0x616b02bd, 0xe4b29460,
+ 0xd167e447, 0x54be729a, 0x9ad2b827, 0x1f0b2efa, 0x470d5d87,
+ 0xc2d4cb5a, 0x0cb801e7, 0x8961973a, 0x6612e0a9, 0xe3cb7674,
+ 0x2da7bcc9, 0xa87e2a14, 0xf0785969, 0x75a1cfb4, 0xbbcd0509,
+ 0x3e1493d4, 0x0bc1e3f3, 0x8e18752e, 0x4074bf93, 0xc5ad294e,
+ 0x9dab5a33, 0x1872ccee, 0xd61e0653, 0x53c7908e, 0x49ff99ae,
+ 0xcc260f73, 0x024ac5ce, 0x87935313, 0xdf95206e, 0x5a4cb6b3,
+ 0x94207c0e, 0x11f9ead3, 0x242c9af4, 0xa1f50c29, 0x6f99c694,
+ 0xea405049, 0xb2462334, 0x379fb5e9, 0xf9f37f54, 0x7c2ae989,
+ 0x93599e1a, 0x168008c7, 0xd8ecc27a, 0x5d3554a7, 0x053327da,
+ 0x80eab107, 0x4e867bba, 0xcb5fed67, 0xfe8a9d40, 0x7b530b9d,
+ 0xb53fc120, 0x30e657fd, 0x68e02480, 0xed39b25d, 0x235578e0,
+ 0xa68cee3d},
+ {0x00000000, 0x76e10f9d, 0xadc46ee1, 0xdb25617c, 0x1b8fac19,
+ 0x6d6ea384, 0xb64bc2f8, 0xc0aacd65, 0x361e5933, 0x40ff56ae,
+ 0x9bda37d2, 0xed3b384f, 0x2d91f52a, 0x5b70fab7, 0x80559bcb,
+ 0xf6b49456, 0x6c3cb266, 0x1addbdfb, 0xc1f8dc87, 0xb719d31a,
+ 0x77b31e7f, 0x015211e2, 0xda77709e, 0xac967f03, 0x5a22eb55,
+ 0x2cc3e4c8, 0xf7e685b4, 0x81078a29, 0x41ad474c, 0x374c48d1,
+ 0xec6929ad, 0x9a882630, 0xd87864cd, 0xae996b50, 0x75bc0a2c,
+ 0x035d05b1, 0xc3f7c8d4, 0xb516c749, 0x6e33a635, 0x18d2a9a8,
+ 0xee663dfe, 0x98873263, 0x43a2531f, 0x35435c82, 0xf5e991e7,
+ 0x83089e7a, 0x582dff06, 0x2eccf09b, 0xb444d6ab, 0xc2a5d936,
+ 0x1980b84a, 0x6f61b7d7, 0xafcb7ab2, 0xd92a752f, 0x020f1453,
+ 0x74ee1bce, 0x825a8f98, 0xf4bb8005, 0x2f9ee179, 0x597feee4,
+ 0x99d52381, 0xef342c1c, 0x34114d60, 0x42f042fd, 0xf1f7b941,
+ 0x8716b6dc, 0x5c33d7a0, 0x2ad2d83d, 0xea781558, 0x9c991ac5,
+ 0x47bc7bb9, 0x315d7424, 0xc7e9e072, 0xb108efef, 0x6a2d8e93,
+ 0x1ccc810e, 0xdc664c6b, 0xaa8743f6, 0x71a2228a, 0x07432d17,
+ 0x9dcb0b27, 0xeb2a04ba, 0x300f65c6, 0x46ee6a5b, 0x8644a73e,
+ 0xf0a5a8a3, 0x2b80c9df, 0x5d61c642, 0xabd55214, 0xdd345d89,
+ 0x06113cf5, 0x70f03368, 0xb05afe0d, 0xc6bbf190, 0x1d9e90ec,
+ 0x6b7f9f71, 0x298fdd8c, 0x5f6ed211, 0x844bb36d, 0xf2aabcf0,
+ 0x32007195, 0x44e17e08, 0x9fc41f74, 0xe92510e9, 0x1f9184bf,
+ 0x69708b22, 0xb255ea5e, 0xc4b4e5c3, 0x041e28a6, 0x72ff273b,
+ 0xa9da4647, 0xdf3b49da, 0x45b36fea, 0x33526077, 0xe877010b,
+ 0x9e960e96, 0x5e3cc3f3, 0x28ddcc6e, 0xf3f8ad12, 0x8519a28f,
+ 0x73ad36d9, 0x054c3944, 0xde695838, 0xa88857a5, 0x68229ac0,
+ 0x1ec3955d, 0xc5e6f421, 0xb307fbbc, 0xe2ef7383, 0x940e7c1e,
+ 0x4f2b1d62, 0x39ca12ff, 0xf960df9a, 0x8f81d007, 0x54a4b17b,
+ 0x2245bee6, 0xd4f12ab0, 0xa210252d, 0x79354451, 0x0fd44bcc,
+ 0xcf7e86a9, 0xb99f8934, 0x62bae848, 0x145be7d5, 0x8ed3c1e5,
+ 0xf832ce78, 0x2317af04, 0x55f6a099, 0x955c6dfc, 0xe3bd6261,
+ 0x3898031d, 0x4e790c80, 0xb8cd98d6, 0xce2c974b, 0x1509f637,
+ 0x63e8f9aa, 0xa34234cf, 0xd5a33b52, 0x0e865a2e, 0x786755b3,
+ 0x3a97174e, 0x4c7618d3, 0x975379af, 0xe1b27632, 0x2118bb57,
+ 0x57f9b4ca, 0x8cdcd5b6, 0xfa3dda2b, 0x0c894e7d, 0x7a6841e0,
+ 0xa14d209c, 0xd7ac2f01, 0x1706e264, 0x61e7edf9, 0xbac28c85,
+ 0xcc238318, 0x56aba528, 0x204aaab5, 0xfb6fcbc9, 0x8d8ec454,
+ 0x4d240931, 0x3bc506ac, 0xe0e067d0, 0x9601684d, 0x60b5fc1b,
+ 0x1654f386, 0xcd7192fa, 0xbb909d67, 0x7b3a5002, 0x0ddb5f9f,
+ 0xd6fe3ee3, 0xa01f317e, 0x1318cac2, 0x65f9c55f, 0xbedca423,
+ 0xc83dabbe, 0x089766db, 0x7e766946, 0xa553083a, 0xd3b207a7,
+ 0x250693f1, 0x53e79c6c, 0x88c2fd10, 0xfe23f28d, 0x3e893fe8,
+ 0x48683075, 0x934d5109, 0xe5ac5e94, 0x7f2478a4, 0x09c57739,
+ 0xd2e01645, 0xa40119d8, 0x64abd4bd, 0x124adb20, 0xc96fba5c,
+ 0xbf8eb5c1, 0x493a2197, 0x3fdb2e0a, 0xe4fe4f76, 0x921f40eb,
+ 0x52b58d8e, 0x24548213, 0xff71e36f, 0x8990ecf2, 0xcb60ae0f,
+ 0xbd81a192, 0x66a4c0ee, 0x1045cf73, 0xd0ef0216, 0xa60e0d8b,
+ 0x7d2b6cf7, 0x0bca636a, 0xfd7ef73c, 0x8b9ff8a1, 0x50ba99dd,
+ 0x265b9640, 0xe6f15b25, 0x901054b8, 0x4b3535c4, 0x3dd43a59,
+ 0xa75c1c69, 0xd1bd13f4, 0x0a987288, 0x7c797d15, 0xbcd3b070,
+ 0xca32bfed, 0x1117de91, 0x67f6d10c, 0x9142455a, 0xe7a34ac7,
+ 0x3c862bbb, 0x4a672426, 0x8acde943, 0xfc2ce6de, 0x270987a2,
+ 0x51e8883f},
+ {0x00000000, 0xe8dbfbb9, 0x91b186a8, 0x796a7d11, 0x63657c8a,
+ 0x8bbe8733, 0xf2d4fa22, 0x1a0f019b, 0x87cc89cf, 0x6f177276,
+ 0x167d0f67, 0xfea6f4de, 0xe4a9f545, 0x0c720efc, 0x751873ed,
+ 0x9dc38854, 0x4f9f6244, 0xa74499fd, 0xde2ee4ec, 0x36f51f55,
+ 0x2cfa1ece, 0xc421e577, 0xbd4b9866, 0x559063df, 0xc853eb8b,
+ 0x20881032, 0x59e26d23, 0xb139969a, 0xab369701, 0x43ed6cb8,
+ 0x3a8711a9, 0xd25cea10, 0x9e3ec588, 0x76e53e31, 0x0f8f4320,
+ 0xe754b899, 0xfd5bb902, 0x158042bb, 0x6cea3faa, 0x8431c413,
+ 0x19f24c47, 0xf129b7fe, 0x8843caef, 0x60983156, 0x7a9730cd,
+ 0x924ccb74, 0xeb26b665, 0x03fd4ddc, 0xd1a1a7cc, 0x397a5c75,
+ 0x40102164, 0xa8cbdadd, 0xb2c4db46, 0x5a1f20ff, 0x23755dee,
+ 0xcbaea657, 0x566d2e03, 0xbeb6d5ba, 0xc7dca8ab, 0x2f075312,
+ 0x35085289, 0xddd3a930, 0xa4b9d421, 0x4c622f98, 0x7d7bfbca,
+ 0x95a00073, 0xecca7d62, 0x041186db, 0x1e1e8740, 0xf6c57cf9,
+ 0x8faf01e8, 0x6774fa51, 0xfab77205, 0x126c89bc, 0x6b06f4ad,
+ 0x83dd0f14, 0x99d20e8f, 0x7109f536, 0x08638827, 0xe0b8739e,
+ 0x32e4998e, 0xda3f6237, 0xa3551f26, 0x4b8ee49f, 0x5181e504,
+ 0xb95a1ebd, 0xc03063ac, 0x28eb9815, 0xb5281041, 0x5df3ebf8,
+ 0x249996e9, 0xcc426d50, 0xd64d6ccb, 0x3e969772, 0x47fcea63,
+ 0xaf2711da, 0xe3453e42, 0x0b9ec5fb, 0x72f4b8ea, 0x9a2f4353,
+ 0x802042c8, 0x68fbb971, 0x1191c460, 0xf94a3fd9, 0x6489b78d,
+ 0x8c524c34, 0xf5383125, 0x1de3ca9c, 0x07eccb07, 0xef3730be,
+ 0x965d4daf, 0x7e86b616, 0xacda5c06, 0x4401a7bf, 0x3d6bdaae,
+ 0xd5b02117, 0xcfbf208c, 0x2764db35, 0x5e0ea624, 0xb6d55d9d,
+ 0x2b16d5c9, 0xc3cd2e70, 0xbaa75361, 0x527ca8d8, 0x4873a943,
+ 0xa0a852fa, 0xd9c22feb, 0x3119d452, 0xbbf0874e, 0x532b7cf7,
+ 0x2a4101e6, 0xc29afa5f, 0xd895fbc4, 0x304e007d, 0x49247d6c,
+ 0xa1ff86d5, 0x3c3c0e81, 0xd4e7f538, 0xad8d8829, 0x45567390,
+ 0x5f59720b, 0xb78289b2, 0xcee8f4a3, 0x26330f1a, 0xf46fe50a,
+ 0x1cb41eb3, 0x65de63a2, 0x8d05981b, 0x970a9980, 0x7fd16239,
+ 0x06bb1f28, 0xee60e491, 0x73a36cc5, 0x9b78977c, 0xe212ea6d,
+ 0x0ac911d4, 0x10c6104f, 0xf81debf6, 0x817796e7, 0x69ac6d5e,
+ 0x25ce42c6, 0xcd15b97f, 0xb47fc46e, 0x5ca43fd7, 0x46ab3e4c,
+ 0xae70c5f5, 0xd71ab8e4, 0x3fc1435d, 0xa202cb09, 0x4ad930b0,
+ 0x33b34da1, 0xdb68b618, 0xc167b783, 0x29bc4c3a, 0x50d6312b,
+ 0xb80dca92, 0x6a512082, 0x828adb3b, 0xfbe0a62a, 0x133b5d93,
+ 0x09345c08, 0xe1efa7b1, 0x9885daa0, 0x705e2119, 0xed9da94d,
+ 0x054652f4, 0x7c2c2fe5, 0x94f7d45c, 0x8ef8d5c7, 0x66232e7e,
+ 0x1f49536f, 0xf792a8d6, 0xc68b7c84, 0x2e50873d, 0x573afa2c,
+ 0xbfe10195, 0xa5ee000e, 0x4d35fbb7, 0x345f86a6, 0xdc847d1f,
+ 0x4147f54b, 0xa99c0ef2, 0xd0f673e3, 0x382d885a, 0x222289c1,
+ 0xcaf97278, 0xb3930f69, 0x5b48f4d0, 0x89141ec0, 0x61cfe579,
+ 0x18a59868, 0xf07e63d1, 0xea71624a, 0x02aa99f3, 0x7bc0e4e2,
+ 0x931b1f5b, 0x0ed8970f, 0xe6036cb6, 0x9f6911a7, 0x77b2ea1e,
+ 0x6dbdeb85, 0x8566103c, 0xfc0c6d2d, 0x14d79694, 0x58b5b90c,
+ 0xb06e42b5, 0xc9043fa4, 0x21dfc41d, 0x3bd0c586, 0xd30b3e3f,
+ 0xaa61432e, 0x42bab897, 0xdf7930c3, 0x37a2cb7a, 0x4ec8b66b,
+ 0xa6134dd2, 0xbc1c4c49, 0x54c7b7f0, 0x2dadcae1, 0xc5763158,
+ 0x172adb48, 0xfff120f1, 0x869b5de0, 0x6e40a659, 0x744fa7c2,
+ 0x9c945c7b, 0xe5fe216a, 0x0d25dad3, 0x90e65287, 0x783da93e,
+ 0x0157d42f, 0xe98c2f96, 0xf3832e0d, 0x1b58d5b4, 0x6232a8a5,
+ 0x8ae9531c},
+ {0x00000000, 0x919168ae, 0x6325a087, 0xf2b4c829, 0x874c31d4,
+ 0x16dd597a, 0xe4699153, 0x75f8f9fd, 0x4f9f1373, 0xde0e7bdd,
+ 0x2cbab3f4, 0xbd2bdb5a, 0xc8d322a7, 0x59424a09, 0xabf68220,
+ 0x3a67ea8e, 0x9e3e27e6, 0x0faf4f48, 0xfd1b8761, 0x6c8aefcf,
+ 0x19721632, 0x88e37e9c, 0x7a57b6b5, 0xebc6de1b, 0xd1a13495,
+ 0x40305c3b, 0xb2849412, 0x2315fcbc, 0x56ed0541, 0xc77c6def,
+ 0x35c8a5c6, 0xa459cd68, 0x7d7b3f17, 0xecea57b9, 0x1e5e9f90,
+ 0x8fcff73e, 0xfa370ec3, 0x6ba6666d, 0x9912ae44, 0x0883c6ea,
+ 0x32e42c64, 0xa37544ca, 0x51c18ce3, 0xc050e44d, 0xb5a81db0,
+ 0x2439751e, 0xd68dbd37, 0x471cd599, 0xe34518f1, 0x72d4705f,
+ 0x8060b876, 0x11f1d0d8, 0x64092925, 0xf598418b, 0x072c89a2,
+ 0x96bde10c, 0xacda0b82, 0x3d4b632c, 0xcfffab05, 0x5e6ec3ab,
+ 0x2b963a56, 0xba0752f8, 0x48b39ad1, 0xd922f27f, 0xfaf67e2e,
+ 0x6b671680, 0x99d3dea9, 0x0842b607, 0x7dba4ffa, 0xec2b2754,
+ 0x1e9fef7d, 0x8f0e87d3, 0xb5696d5d, 0x24f805f3, 0xd64ccdda,
+ 0x47dda574, 0x32255c89, 0xa3b43427, 0x5100fc0e, 0xc09194a0,
+ 0x64c859c8, 0xf5593166, 0x07edf94f, 0x967c91e1, 0xe384681c,
+ 0x721500b2, 0x80a1c89b, 0x1130a035, 0x2b574abb, 0xbac62215,
+ 0x4872ea3c, 0xd9e38292, 0xac1b7b6f, 0x3d8a13c1, 0xcf3edbe8,
+ 0x5eafb346, 0x878d4139, 0x161c2997, 0xe4a8e1be, 0x75398910,
+ 0x00c170ed, 0x91501843, 0x63e4d06a, 0xf275b8c4, 0xc812524a,
+ 0x59833ae4, 0xab37f2cd, 0x3aa69a63, 0x4f5e639e, 0xdecf0b30,
+ 0x2c7bc319, 0xbdeaabb7, 0x19b366df, 0x88220e71, 0x7a96c658,
+ 0xeb07aef6, 0x9eff570b, 0x0f6e3fa5, 0xfddaf78c, 0x6c4b9f22,
+ 0x562c75ac, 0xc7bd1d02, 0x3509d52b, 0xa498bd85, 0xd1604478,
+ 0x40f12cd6, 0xb245e4ff, 0x23d48c51, 0xf4edfd5c, 0x657c95f2,
+ 0x97c85ddb, 0x06593575, 0x73a1cc88, 0xe230a426, 0x10846c0f,
+ 0x811504a1, 0xbb72ee2f, 0x2ae38681, 0xd8574ea8, 0x49c62606,
+ 0x3c3edffb, 0xadafb755, 0x5f1b7f7c, 0xce8a17d2, 0x6ad3daba,
+ 0xfb42b214, 0x09f67a3d, 0x98671293, 0xed9feb6e, 0x7c0e83c0,
+ 0x8eba4be9, 0x1f2b2347, 0x254cc9c9, 0xb4dda167, 0x4669694e,
+ 0xd7f801e0, 0xa200f81d, 0x339190b3, 0xc125589a, 0x50b43034,
+ 0x8996c24b, 0x1807aae5, 0xeab362cc, 0x7b220a62, 0x0edaf39f,
+ 0x9f4b9b31, 0x6dff5318, 0xfc6e3bb6, 0xc609d138, 0x5798b996,
+ 0xa52c71bf, 0x34bd1911, 0x4145e0ec, 0xd0d48842, 0x2260406b,
+ 0xb3f128c5, 0x17a8e5ad, 0x86398d03, 0x748d452a, 0xe51c2d84,
+ 0x90e4d479, 0x0175bcd7, 0xf3c174fe, 0x62501c50, 0x5837f6de,
+ 0xc9a69e70, 0x3b125659, 0xaa833ef7, 0xdf7bc70a, 0x4eeaafa4,
+ 0xbc5e678d, 0x2dcf0f23, 0x0e1b8372, 0x9f8aebdc, 0x6d3e23f5,
+ 0xfcaf4b5b, 0x8957b2a6, 0x18c6da08, 0xea721221, 0x7be37a8f,
+ 0x41849001, 0xd015f8af, 0x22a13086, 0xb3305828, 0xc6c8a1d5,
+ 0x5759c97b, 0xa5ed0152, 0x347c69fc, 0x9025a494, 0x01b4cc3a,
+ 0xf3000413, 0x62916cbd, 0x17699540, 0x86f8fdee, 0x744c35c7,
+ 0xe5dd5d69, 0xdfbab7e7, 0x4e2bdf49, 0xbc9f1760, 0x2d0e7fce,
+ 0x58f68633, 0xc967ee9d, 0x3bd326b4, 0xaa424e1a, 0x7360bc65,
+ 0xe2f1d4cb, 0x10451ce2, 0x81d4744c, 0xf42c8db1, 0x65bde51f,
+ 0x97092d36, 0x06984598, 0x3cffaf16, 0xad6ec7b8, 0x5fda0f91,
+ 0xce4b673f, 0xbbb39ec2, 0x2a22f66c, 0xd8963e45, 0x490756eb,
+ 0xed5e9b83, 0x7ccff32d, 0x8e7b3b04, 0x1fea53aa, 0x6a12aa57,
+ 0xfb83c2f9, 0x09370ad0, 0x98a6627e, 0xa2c188f0, 0x3350e05e,
+ 0xc1e42877, 0x507540d9, 0x258db924, 0xb41cd18a, 0x46a819a3,
+ 0xd739710d}};
+
+#endif
+
+#endif
+
+#if N == 5
+
+#if W == 8
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0xaf449247, 0x85f822cf, 0x2abcb088, 0xd08143df,
+ 0x7fc5d198, 0x55796110, 0xfa3df357, 0x7a7381ff, 0xd53713b8,
+ 0xff8ba330, 0x50cf3177, 0xaaf2c220, 0x05b65067, 0x2f0ae0ef,
+ 0x804e72a8, 0xf4e703fe, 0x5ba391b9, 0x711f2131, 0xde5bb376,
+ 0x24664021, 0x8b22d266, 0xa19e62ee, 0x0edaf0a9, 0x8e948201,
+ 0x21d01046, 0x0b6ca0ce, 0xa4283289, 0x5e15c1de, 0xf1515399,
+ 0xdbede311, 0x74a97156, 0x32bf01bd, 0x9dfb93fa, 0xb7472372,
+ 0x1803b135, 0xe23e4262, 0x4d7ad025, 0x67c660ad, 0xc882f2ea,
+ 0x48cc8042, 0xe7881205, 0xcd34a28d, 0x627030ca, 0x984dc39d,
+ 0x370951da, 0x1db5e152, 0xb2f17315, 0xc6580243, 0x691c9004,
+ 0x43a0208c, 0xece4b2cb, 0x16d9419c, 0xb99dd3db, 0x93216353,
+ 0x3c65f114, 0xbc2b83bc, 0x136f11fb, 0x39d3a173, 0x96973334,
+ 0x6caac063, 0xc3ee5224, 0xe952e2ac, 0x461670eb, 0x657e037a,
+ 0xca3a913d, 0xe08621b5, 0x4fc2b3f2, 0xb5ff40a5, 0x1abbd2e2,
+ 0x3007626a, 0x9f43f02d, 0x1f0d8285, 0xb04910c2, 0x9af5a04a,
+ 0x35b1320d, 0xcf8cc15a, 0x60c8531d, 0x4a74e395, 0xe53071d2,
+ 0x91990084, 0x3edd92c3, 0x1461224b, 0xbb25b00c, 0x4118435b,
+ 0xee5cd11c, 0xc4e06194, 0x6ba4f3d3, 0xebea817b, 0x44ae133c,
+ 0x6e12a3b4, 0xc15631f3, 0x3b6bc2a4, 0x942f50e3, 0xbe93e06b,
+ 0x11d7722c, 0x57c102c7, 0xf8859080, 0xd2392008, 0x7d7db24f,
+ 0x87404118, 0x2804d35f, 0x02b863d7, 0xadfcf190, 0x2db28338,
+ 0x82f6117f, 0xa84aa1f7, 0x070e33b0, 0xfd33c0e7, 0x527752a0,
+ 0x78cbe228, 0xd78f706f, 0xa3260139, 0x0c62937e, 0x26de23f6,
+ 0x899ab1b1, 0x73a742e6, 0xdce3d0a1, 0xf65f6029, 0x591bf26e,
+ 0xd95580c6, 0x76111281, 0x5cada209, 0xf3e9304e, 0x09d4c319,
+ 0xa690515e, 0x8c2ce1d6, 0x23687391, 0xcafc06f4, 0x65b894b3,
+ 0x4f04243b, 0xe040b67c, 0x1a7d452b, 0xb539d76c, 0x9f8567e4,
+ 0x30c1f5a3, 0xb08f870b, 0x1fcb154c, 0x3577a5c4, 0x9a333783,
+ 0x600ec4d4, 0xcf4a5693, 0xe5f6e61b, 0x4ab2745c, 0x3e1b050a,
+ 0x915f974d, 0xbbe327c5, 0x14a7b582, 0xee9a46d5, 0x41ded492,
+ 0x6b62641a, 0xc426f65d, 0x446884f5, 0xeb2c16b2, 0xc190a63a,
+ 0x6ed4347d, 0x94e9c72a, 0x3bad556d, 0x1111e5e5, 0xbe5577a2,
+ 0xf8430749, 0x5707950e, 0x7dbb2586, 0xd2ffb7c1, 0x28c24496,
+ 0x8786d6d1, 0xad3a6659, 0x027ef41e, 0x823086b6, 0x2d7414f1,
+ 0x07c8a479, 0xa88c363e, 0x52b1c569, 0xfdf5572e, 0xd749e7a6,
+ 0x780d75e1, 0x0ca404b7, 0xa3e096f0, 0x895c2678, 0x2618b43f,
+ 0xdc254768, 0x7361d52f, 0x59dd65a7, 0xf699f7e0, 0x76d78548,
+ 0xd993170f, 0xf32fa787, 0x5c6b35c0, 0xa656c697, 0x091254d0,
+ 0x23aee458, 0x8cea761f, 0xaf82058e, 0x00c697c9, 0x2a7a2741,
+ 0x853eb506, 0x7f034651, 0xd047d416, 0xfafb649e, 0x55bff6d9,
+ 0xd5f18471, 0x7ab51636, 0x5009a6be, 0xff4d34f9, 0x0570c7ae,
+ 0xaa3455e9, 0x8088e561, 0x2fcc7726, 0x5b650670, 0xf4219437,
+ 0xde9d24bf, 0x71d9b6f8, 0x8be445af, 0x24a0d7e8, 0x0e1c6760,
+ 0xa158f527, 0x2116878f, 0x8e5215c8, 0xa4eea540, 0x0baa3707,
+ 0xf197c450, 0x5ed35617, 0x746fe69f, 0xdb2b74d8, 0x9d3d0433,
+ 0x32799674, 0x18c526fc, 0xb781b4bb, 0x4dbc47ec, 0xe2f8d5ab,
+ 0xc8446523, 0x6700f764, 0xe74e85cc, 0x480a178b, 0x62b6a703,
+ 0xcdf23544, 0x37cfc613, 0x988b5454, 0xb237e4dc, 0x1d73769b,
+ 0x69da07cd, 0xc69e958a, 0xec222502, 0x4366b745, 0xb95b4412,
+ 0x161fd655, 0x3ca366dd, 0x93e7f49a, 0x13a98632, 0xbced1475,
+ 0x9651a4fd, 0x391536ba, 0xc328c5ed, 0x6c6c57aa, 0x46d0e722,
+ 0xe9947565},
+ {0x00000000, 0x4e890ba9, 0x9d121752, 0xd39b1cfb, 0xe15528e5,
+ 0xafdc234c, 0x7c473fb7, 0x32ce341e, 0x19db578b, 0x57525c22,
+ 0x84c940d9, 0xca404b70, 0xf88e7f6e, 0xb60774c7, 0x659c683c,
+ 0x2b156395, 0x33b6af16, 0x7d3fa4bf, 0xaea4b844, 0xe02db3ed,
+ 0xd2e387f3, 0x9c6a8c5a, 0x4ff190a1, 0x01789b08, 0x2a6df89d,
+ 0x64e4f334, 0xb77fefcf, 0xf9f6e466, 0xcb38d078, 0x85b1dbd1,
+ 0x562ac72a, 0x18a3cc83, 0x676d5e2c, 0x29e45585, 0xfa7f497e,
+ 0xb4f642d7, 0x863876c9, 0xc8b17d60, 0x1b2a619b, 0x55a36a32,
+ 0x7eb609a7, 0x303f020e, 0xe3a41ef5, 0xad2d155c, 0x9fe32142,
+ 0xd16a2aeb, 0x02f13610, 0x4c783db9, 0x54dbf13a, 0x1a52fa93,
+ 0xc9c9e668, 0x8740edc1, 0xb58ed9df, 0xfb07d276, 0x289cce8d,
+ 0x6615c524, 0x4d00a6b1, 0x0389ad18, 0xd012b1e3, 0x9e9bba4a,
+ 0xac558e54, 0xe2dc85fd, 0x31479906, 0x7fce92af, 0xcedabc58,
+ 0x8053b7f1, 0x53c8ab0a, 0x1d41a0a3, 0x2f8f94bd, 0x61069f14,
+ 0xb29d83ef, 0xfc148846, 0xd701ebd3, 0x9988e07a, 0x4a13fc81,
+ 0x049af728, 0x3654c336, 0x78ddc89f, 0xab46d464, 0xe5cfdfcd,
+ 0xfd6c134e, 0xb3e518e7, 0x607e041c, 0x2ef70fb5, 0x1c393bab,
+ 0x52b03002, 0x812b2cf9, 0xcfa22750, 0xe4b744c5, 0xaa3e4f6c,
+ 0x79a55397, 0x372c583e, 0x05e26c20, 0x4b6b6789, 0x98f07b72,
+ 0xd67970db, 0xa9b7e274, 0xe73ee9dd, 0x34a5f526, 0x7a2cfe8f,
+ 0x48e2ca91, 0x066bc138, 0xd5f0ddc3, 0x9b79d66a, 0xb06cb5ff,
+ 0xfee5be56, 0x2d7ea2ad, 0x63f7a904, 0x51399d1a, 0x1fb096b3,
+ 0xcc2b8a48, 0x82a281e1, 0x9a014d62, 0xd48846cb, 0x07135a30,
+ 0x499a5199, 0x7b546587, 0x35dd6e2e, 0xe64672d5, 0xa8cf797c,
+ 0x83da1ae9, 0xcd531140, 0x1ec80dbb, 0x50410612, 0x628f320c,
+ 0x2c0639a5, 0xff9d255e, 0xb1142ef7, 0x46c47ef1, 0x084d7558,
+ 0xdbd669a3, 0x955f620a, 0xa7915614, 0xe9185dbd, 0x3a834146,
+ 0x740a4aef, 0x5f1f297a, 0x119622d3, 0xc20d3e28, 0x8c843581,
+ 0xbe4a019f, 0xf0c30a36, 0x235816cd, 0x6dd11d64, 0x7572d1e7,
+ 0x3bfbda4e, 0xe860c6b5, 0xa6e9cd1c, 0x9427f902, 0xdaaef2ab,
+ 0x0935ee50, 0x47bce5f9, 0x6ca9866c, 0x22208dc5, 0xf1bb913e,
+ 0xbf329a97, 0x8dfcae89, 0xc375a520, 0x10eeb9db, 0x5e67b272,
+ 0x21a920dd, 0x6f202b74, 0xbcbb378f, 0xf2323c26, 0xc0fc0838,
+ 0x8e750391, 0x5dee1f6a, 0x136714c3, 0x38727756, 0x76fb7cff,
+ 0xa5606004, 0xebe96bad, 0xd9275fb3, 0x97ae541a, 0x443548e1,
+ 0x0abc4348, 0x121f8fcb, 0x5c968462, 0x8f0d9899, 0xc1849330,
+ 0xf34aa72e, 0xbdc3ac87, 0x6e58b07c, 0x20d1bbd5, 0x0bc4d840,
+ 0x454dd3e9, 0x96d6cf12, 0xd85fc4bb, 0xea91f0a5, 0xa418fb0c,
+ 0x7783e7f7, 0x390aec5e, 0x881ec2a9, 0xc697c900, 0x150cd5fb,
+ 0x5b85de52, 0x694bea4c, 0x27c2e1e5, 0xf459fd1e, 0xbad0f6b7,
+ 0x91c59522, 0xdf4c9e8b, 0x0cd78270, 0x425e89d9, 0x7090bdc7,
+ 0x3e19b66e, 0xed82aa95, 0xa30ba13c, 0xbba86dbf, 0xf5216616,
+ 0x26ba7aed, 0x68337144, 0x5afd455a, 0x14744ef3, 0xc7ef5208,
+ 0x896659a1, 0xa2733a34, 0xecfa319d, 0x3f612d66, 0x71e826cf,
+ 0x432612d1, 0x0daf1978, 0xde340583, 0x90bd0e2a, 0xef739c85,
+ 0xa1fa972c, 0x72618bd7, 0x3ce8807e, 0x0e26b460, 0x40afbfc9,
+ 0x9334a332, 0xddbda89b, 0xf6a8cb0e, 0xb821c0a7, 0x6bbadc5c,
+ 0x2533d7f5, 0x17fde3eb, 0x5974e842, 0x8aeff4b9, 0xc466ff10,
+ 0xdcc53393, 0x924c383a, 0x41d724c1, 0x0f5e2f68, 0x3d901b76,
+ 0x731910df, 0xa0820c24, 0xee0b078d, 0xc51e6418, 0x8b976fb1,
+ 0x580c734a, 0x168578e3, 0x244b4cfd, 0x6ac24754, 0xb9595baf,
+ 0xf7d05006},
+ {0x00000000, 0x8d88fde2, 0xc060fd85, 0x4de80067, 0x5bb0fd4b,
+ 0xd63800a9, 0x9bd000ce, 0x1658fd2c, 0xb761fa96, 0x3ae90774,
+ 0x77010713, 0xfa89faf1, 0xecd107dd, 0x6159fa3f, 0x2cb1fa58,
+ 0xa13907ba, 0xb5b2f36d, 0x383a0e8f, 0x75d20ee8, 0xf85af30a,
+ 0xee020e26, 0x638af3c4, 0x2e62f3a3, 0xa3ea0e41, 0x02d309fb,
+ 0x8f5bf419, 0xc2b3f47e, 0x4f3b099c, 0x5963f4b0, 0xd4eb0952,
+ 0x99030935, 0x148bf4d7, 0xb014e09b, 0x3d9c1d79, 0x70741d1e,
+ 0xfdfce0fc, 0xeba41dd0, 0x662ce032, 0x2bc4e055, 0xa64c1db7,
+ 0x07751a0d, 0x8afde7ef, 0xc715e788, 0x4a9d1a6a, 0x5cc5e746,
+ 0xd14d1aa4, 0x9ca51ac3, 0x112de721, 0x05a613f6, 0x882eee14,
+ 0xc5c6ee73, 0x484e1391, 0x5e16eebd, 0xd39e135f, 0x9e761338,
+ 0x13feeeda, 0xb2c7e960, 0x3f4f1482, 0x72a714e5, 0xff2fe907,
+ 0xe977142b, 0x64ffe9c9, 0x2917e9ae, 0xa49f144c, 0xbb58c777,
+ 0x36d03a95, 0x7b383af2, 0xf6b0c710, 0xe0e83a3c, 0x6d60c7de,
+ 0x2088c7b9, 0xad003a5b, 0x0c393de1, 0x81b1c003, 0xcc59c064,
+ 0x41d13d86, 0x5789c0aa, 0xda013d48, 0x97e93d2f, 0x1a61c0cd,
+ 0x0eea341a, 0x8362c9f8, 0xce8ac99f, 0x4302347d, 0x555ac951,
+ 0xd8d234b3, 0x953a34d4, 0x18b2c936, 0xb98bce8c, 0x3403336e,
+ 0x79eb3309, 0xf463ceeb, 0xe23b33c7, 0x6fb3ce25, 0x225bce42,
+ 0xafd333a0, 0x0b4c27ec, 0x86c4da0e, 0xcb2cda69, 0x46a4278b,
+ 0x50fcdaa7, 0xdd742745, 0x909c2722, 0x1d14dac0, 0xbc2ddd7a,
+ 0x31a52098, 0x7c4d20ff, 0xf1c5dd1d, 0xe79d2031, 0x6a15ddd3,
+ 0x27fdddb4, 0xaa752056, 0xbefed481, 0x33762963, 0x7e9e2904,
+ 0xf316d4e6, 0xe54e29ca, 0x68c6d428, 0x252ed44f, 0xa8a629ad,
+ 0x099f2e17, 0x8417d3f5, 0xc9ffd392, 0x44772e70, 0x522fd35c,
+ 0xdfa72ebe, 0x924f2ed9, 0x1fc7d33b, 0xadc088af, 0x2048754d,
+ 0x6da0752a, 0xe02888c8, 0xf67075e4, 0x7bf88806, 0x36108861,
+ 0xbb987583, 0x1aa17239, 0x97298fdb, 0xdac18fbc, 0x5749725e,
+ 0x41118f72, 0xcc997290, 0x817172f7, 0x0cf98f15, 0x18727bc2,
+ 0x95fa8620, 0xd8128647, 0x559a7ba5, 0x43c28689, 0xce4a7b6b,
+ 0x83a27b0c, 0x0e2a86ee, 0xaf138154, 0x229b7cb6, 0x6f737cd1,
+ 0xe2fb8133, 0xf4a37c1f, 0x792b81fd, 0x34c3819a, 0xb94b7c78,
+ 0x1dd46834, 0x905c95d6, 0xddb495b1, 0x503c6853, 0x4664957f,
+ 0xcbec689d, 0x860468fa, 0x0b8c9518, 0xaab592a2, 0x273d6f40,
+ 0x6ad56f27, 0xe75d92c5, 0xf1056fe9, 0x7c8d920b, 0x3165926c,
+ 0xbced6f8e, 0xa8669b59, 0x25ee66bb, 0x680666dc, 0xe58e9b3e,
+ 0xf3d66612, 0x7e5e9bf0, 0x33b69b97, 0xbe3e6675, 0x1f0761cf,
+ 0x928f9c2d, 0xdf679c4a, 0x52ef61a8, 0x44b79c84, 0xc93f6166,
+ 0x84d76101, 0x095f9ce3, 0x16984fd8, 0x9b10b23a, 0xd6f8b25d,
+ 0x5b704fbf, 0x4d28b293, 0xc0a04f71, 0x8d484f16, 0x00c0b2f4,
+ 0xa1f9b54e, 0x2c7148ac, 0x619948cb, 0xec11b529, 0xfa494805,
+ 0x77c1b5e7, 0x3a29b580, 0xb7a14862, 0xa32abcb5, 0x2ea24157,
+ 0x634a4130, 0xeec2bcd2, 0xf89a41fe, 0x7512bc1c, 0x38fabc7b,
+ 0xb5724199, 0x144b4623, 0x99c3bbc1, 0xd42bbba6, 0x59a34644,
+ 0x4ffbbb68, 0xc273468a, 0x8f9b46ed, 0x0213bb0f, 0xa68caf43,
+ 0x2b0452a1, 0x66ec52c6, 0xeb64af24, 0xfd3c5208, 0x70b4afea,
+ 0x3d5caf8d, 0xb0d4526f, 0x11ed55d5, 0x9c65a837, 0xd18da850,
+ 0x5c0555b2, 0x4a5da89e, 0xc7d5557c, 0x8a3d551b, 0x07b5a8f9,
+ 0x133e5c2e, 0x9eb6a1cc, 0xd35ea1ab, 0x5ed65c49, 0x488ea165,
+ 0xc5065c87, 0x88ee5ce0, 0x0566a102, 0xa45fa6b8, 0x29d75b5a,
+ 0x643f5b3d, 0xe9b7a6df, 0xffef5bf3, 0x7267a611, 0x3f8fa676,
+ 0xb2075b94},
+ {0x00000000, 0x80f0171f, 0xda91287f, 0x5a613f60, 0x6e5356bf,
+ 0xeea341a0, 0xb4c27ec0, 0x343269df, 0xdca6ad7e, 0x5c56ba61,
+ 0x06378501, 0x86c7921e, 0xb2f5fbc1, 0x3205ecde, 0x6864d3be,
+ 0xe894c4a1, 0x623c5cbd, 0xe2cc4ba2, 0xb8ad74c2, 0x385d63dd,
+ 0x0c6f0a02, 0x8c9f1d1d, 0xd6fe227d, 0x560e3562, 0xbe9af1c3,
+ 0x3e6ae6dc, 0x640bd9bc, 0xe4fbcea3, 0xd0c9a77c, 0x5039b063,
+ 0x0a588f03, 0x8aa8981c, 0xc478b97a, 0x4488ae65, 0x1ee99105,
+ 0x9e19861a, 0xaa2befc5, 0x2adbf8da, 0x70bac7ba, 0xf04ad0a5,
+ 0x18de1404, 0x982e031b, 0xc24f3c7b, 0x42bf2b64, 0x768d42bb,
+ 0xf67d55a4, 0xac1c6ac4, 0x2cec7ddb, 0xa644e5c7, 0x26b4f2d8,
+ 0x7cd5cdb8, 0xfc25daa7, 0xc817b378, 0x48e7a467, 0x12869b07,
+ 0x92768c18, 0x7ae248b9, 0xfa125fa6, 0xa07360c6, 0x208377d9,
+ 0x14b11e06, 0x94410919, 0xce203679, 0x4ed02166, 0x538074b5,
+ 0xd37063aa, 0x89115cca, 0x09e14bd5, 0x3dd3220a, 0xbd233515,
+ 0xe7420a75, 0x67b21d6a, 0x8f26d9cb, 0x0fd6ced4, 0x55b7f1b4,
+ 0xd547e6ab, 0xe1758f74, 0x6185986b, 0x3be4a70b, 0xbb14b014,
+ 0x31bc2808, 0xb14c3f17, 0xeb2d0077, 0x6bdd1768, 0x5fef7eb7,
+ 0xdf1f69a8, 0x857e56c8, 0x058e41d7, 0xed1a8576, 0x6dea9269,
+ 0x378bad09, 0xb77bba16, 0x8349d3c9, 0x03b9c4d6, 0x59d8fbb6,
+ 0xd928eca9, 0x97f8cdcf, 0x1708dad0, 0x4d69e5b0, 0xcd99f2af,
+ 0xf9ab9b70, 0x795b8c6f, 0x233ab30f, 0xa3caa410, 0x4b5e60b1,
+ 0xcbae77ae, 0x91cf48ce, 0x113f5fd1, 0x250d360e, 0xa5fd2111,
+ 0xff9c1e71, 0x7f6c096e, 0xf5c49172, 0x7534866d, 0x2f55b90d,
+ 0xafa5ae12, 0x9b97c7cd, 0x1b67d0d2, 0x4106efb2, 0xc1f6f8ad,
+ 0x29623c0c, 0xa9922b13, 0xf3f31473, 0x7303036c, 0x47316ab3,
+ 0xc7c17dac, 0x9da042cc, 0x1d5055d3, 0xa700e96a, 0x27f0fe75,
+ 0x7d91c115, 0xfd61d60a, 0xc953bfd5, 0x49a3a8ca, 0x13c297aa,
+ 0x933280b5, 0x7ba64414, 0xfb56530b, 0xa1376c6b, 0x21c77b74,
+ 0x15f512ab, 0x950505b4, 0xcf643ad4, 0x4f942dcb, 0xc53cb5d7,
+ 0x45cca2c8, 0x1fad9da8, 0x9f5d8ab7, 0xab6fe368, 0x2b9ff477,
+ 0x71fecb17, 0xf10edc08, 0x199a18a9, 0x996a0fb6, 0xc30b30d6,
+ 0x43fb27c9, 0x77c94e16, 0xf7395909, 0xad586669, 0x2da87176,
+ 0x63785010, 0xe388470f, 0xb9e9786f, 0x39196f70, 0x0d2b06af,
+ 0x8ddb11b0, 0xd7ba2ed0, 0x574a39cf, 0xbfdefd6e, 0x3f2eea71,
+ 0x654fd511, 0xe5bfc20e, 0xd18dabd1, 0x517dbcce, 0x0b1c83ae,
+ 0x8bec94b1, 0x01440cad, 0x81b41bb2, 0xdbd524d2, 0x5b2533cd,
+ 0x6f175a12, 0xefe74d0d, 0xb586726d, 0x35766572, 0xdde2a1d3,
+ 0x5d12b6cc, 0x077389ac, 0x87839eb3, 0xb3b1f76c, 0x3341e073,
+ 0x6920df13, 0xe9d0c80c, 0xf4809ddf, 0x74708ac0, 0x2e11b5a0,
+ 0xaee1a2bf, 0x9ad3cb60, 0x1a23dc7f, 0x4042e31f, 0xc0b2f400,
+ 0x282630a1, 0xa8d627be, 0xf2b718de, 0x72470fc1, 0x4675661e,
+ 0xc6857101, 0x9ce44e61, 0x1c14597e, 0x96bcc162, 0x164cd67d,
+ 0x4c2de91d, 0xccddfe02, 0xf8ef97dd, 0x781f80c2, 0x227ebfa2,
+ 0xa28ea8bd, 0x4a1a6c1c, 0xcaea7b03, 0x908b4463, 0x107b537c,
+ 0x24493aa3, 0xa4b92dbc, 0xfed812dc, 0x7e2805c3, 0x30f824a5,
+ 0xb00833ba, 0xea690cda, 0x6a991bc5, 0x5eab721a, 0xde5b6505,
+ 0x843a5a65, 0x04ca4d7a, 0xec5e89db, 0x6cae9ec4, 0x36cfa1a4,
+ 0xb63fb6bb, 0x820ddf64, 0x02fdc87b, 0x589cf71b, 0xd86ce004,
+ 0x52c47818, 0xd2346f07, 0x88555067, 0x08a54778, 0x3c972ea7,
+ 0xbc6739b8, 0xe60606d8, 0x66f611c7, 0x8e62d566, 0x0e92c279,
+ 0x54f3fd19, 0xd403ea06, 0xe03183d9, 0x60c194c6, 0x3aa0aba6,
+ 0xba50bcb9},
+ {0x00000000, 0x9570d495, 0xf190af6b, 0x64e07bfe, 0x38505897,
+ 0xad208c02, 0xc9c0f7fc, 0x5cb02369, 0x70a0b12e, 0xe5d065bb,
+ 0x81301e45, 0x1440cad0, 0x48f0e9b9, 0xdd803d2c, 0xb96046d2,
+ 0x2c109247, 0xe141625c, 0x7431b6c9, 0x10d1cd37, 0x85a119a2,
+ 0xd9113acb, 0x4c61ee5e, 0x288195a0, 0xbdf14135, 0x91e1d372,
+ 0x049107e7, 0x60717c19, 0xf501a88c, 0xa9b18be5, 0x3cc15f70,
+ 0x5821248e, 0xcd51f01b, 0x19f3c2f9, 0x8c83166c, 0xe8636d92,
+ 0x7d13b907, 0x21a39a6e, 0xb4d34efb, 0xd0333505, 0x4543e190,
+ 0x695373d7, 0xfc23a742, 0x98c3dcbc, 0x0db30829, 0x51032b40,
+ 0xc473ffd5, 0xa093842b, 0x35e350be, 0xf8b2a0a5, 0x6dc27430,
+ 0x09220fce, 0x9c52db5b, 0xc0e2f832, 0x55922ca7, 0x31725759,
+ 0xa40283cc, 0x8812118b, 0x1d62c51e, 0x7982bee0, 0xecf26a75,
+ 0xb042491c, 0x25329d89, 0x41d2e677, 0xd4a232e2, 0x33e785f2,
+ 0xa6975167, 0xc2772a99, 0x5707fe0c, 0x0bb7dd65, 0x9ec709f0,
+ 0xfa27720e, 0x6f57a69b, 0x434734dc, 0xd637e049, 0xb2d79bb7,
+ 0x27a74f22, 0x7b176c4b, 0xee67b8de, 0x8a87c320, 0x1ff717b5,
+ 0xd2a6e7ae, 0x47d6333b, 0x233648c5, 0xb6469c50, 0xeaf6bf39,
+ 0x7f866bac, 0x1b661052, 0x8e16c4c7, 0xa2065680, 0x37768215,
+ 0x5396f9eb, 0xc6e62d7e, 0x9a560e17, 0x0f26da82, 0x6bc6a17c,
+ 0xfeb675e9, 0x2a14470b, 0xbf64939e, 0xdb84e860, 0x4ef43cf5,
+ 0x12441f9c, 0x8734cb09, 0xe3d4b0f7, 0x76a46462, 0x5ab4f625,
+ 0xcfc422b0, 0xab24594e, 0x3e548ddb, 0x62e4aeb2, 0xf7947a27,
+ 0x937401d9, 0x0604d54c, 0xcb552557, 0x5e25f1c2, 0x3ac58a3c,
+ 0xafb55ea9, 0xf3057dc0, 0x6675a955, 0x0295d2ab, 0x97e5063e,
+ 0xbbf59479, 0x2e8540ec, 0x4a653b12, 0xdf15ef87, 0x83a5ccee,
+ 0x16d5187b, 0x72356385, 0xe745b710, 0x67cf0be4, 0xf2bfdf71,
+ 0x965fa48f, 0x032f701a, 0x5f9f5373, 0xcaef87e6, 0xae0ffc18,
+ 0x3b7f288d, 0x176fbaca, 0x821f6e5f, 0xe6ff15a1, 0x738fc134,
+ 0x2f3fe25d, 0xba4f36c8, 0xdeaf4d36, 0x4bdf99a3, 0x868e69b8,
+ 0x13febd2d, 0x771ec6d3, 0xe26e1246, 0xbede312f, 0x2baee5ba,
+ 0x4f4e9e44, 0xda3e4ad1, 0xf62ed896, 0x635e0c03, 0x07be77fd,
+ 0x92cea368, 0xce7e8001, 0x5b0e5494, 0x3fee2f6a, 0xaa9efbff,
+ 0x7e3cc91d, 0xeb4c1d88, 0x8fac6676, 0x1adcb2e3, 0x466c918a,
+ 0xd31c451f, 0xb7fc3ee1, 0x228cea74, 0x0e9c7833, 0x9becaca6,
+ 0xff0cd758, 0x6a7c03cd, 0x36cc20a4, 0xa3bcf431, 0xc75c8fcf,
+ 0x522c5b5a, 0x9f7dab41, 0x0a0d7fd4, 0x6eed042a, 0xfb9dd0bf,
+ 0xa72df3d6, 0x325d2743, 0x56bd5cbd, 0xc3cd8828, 0xefdd1a6f,
+ 0x7aadcefa, 0x1e4db504, 0x8b3d6191, 0xd78d42f8, 0x42fd966d,
+ 0x261ded93, 0xb36d3906, 0x54288e16, 0xc1585a83, 0xa5b8217d,
+ 0x30c8f5e8, 0x6c78d681, 0xf9080214, 0x9de879ea, 0x0898ad7f,
+ 0x24883f38, 0xb1f8ebad, 0xd5189053, 0x406844c6, 0x1cd867af,
+ 0x89a8b33a, 0xed48c8c4, 0x78381c51, 0xb569ec4a, 0x201938df,
+ 0x44f94321, 0xd18997b4, 0x8d39b4dd, 0x18496048, 0x7ca91bb6,
+ 0xe9d9cf23, 0xc5c95d64, 0x50b989f1, 0x3459f20f, 0xa129269a,
+ 0xfd9905f3, 0x68e9d166, 0x0c09aa98, 0x99797e0d, 0x4ddb4cef,
+ 0xd8ab987a, 0xbc4be384, 0x293b3711, 0x758b1478, 0xe0fbc0ed,
+ 0x841bbb13, 0x116b6f86, 0x3d7bfdc1, 0xa80b2954, 0xcceb52aa,
+ 0x599b863f, 0x052ba556, 0x905b71c3, 0xf4bb0a3d, 0x61cbdea8,
+ 0xac9a2eb3, 0x39eafa26, 0x5d0a81d8, 0xc87a554d, 0x94ca7624,
+ 0x01baa2b1, 0x655ad94f, 0xf02a0dda, 0xdc3a9f9d, 0x494a4b08,
+ 0x2daa30f6, 0xb8dae463, 0xe46ac70a, 0x711a139f, 0x15fa6861,
+ 0x808abcf4},
+ {0x00000000, 0xcf9e17c8, 0x444d29d1, 0x8bd33e19, 0x889a53a2,
+ 0x4704446a, 0xccd77a73, 0x03496dbb, 0xca45a105, 0x05dbb6cd,
+ 0x8e0888d4, 0x41969f1c, 0x42dff2a7, 0x8d41e56f, 0x0692db76,
+ 0xc90cccbe, 0x4ffa444b, 0x80645383, 0x0bb76d9a, 0xc4297a52,
+ 0xc76017e9, 0x08fe0021, 0x832d3e38, 0x4cb329f0, 0x85bfe54e,
+ 0x4a21f286, 0xc1f2cc9f, 0x0e6cdb57, 0x0d25b6ec, 0xc2bba124,
+ 0x49689f3d, 0x86f688f5, 0x9ff48896, 0x506a9f5e, 0xdbb9a147,
+ 0x1427b68f, 0x176edb34, 0xd8f0ccfc, 0x5323f2e5, 0x9cbde52d,
+ 0x55b12993, 0x9a2f3e5b, 0x11fc0042, 0xde62178a, 0xdd2b7a31,
+ 0x12b56df9, 0x996653e0, 0x56f84428, 0xd00eccdd, 0x1f90db15,
+ 0x9443e50c, 0x5bddf2c4, 0x58949f7f, 0x970a88b7, 0x1cd9b6ae,
+ 0xd347a166, 0x1a4b6dd8, 0xd5d57a10, 0x5e064409, 0x919853c1,
+ 0x92d13e7a, 0x5d4f29b2, 0xd69c17ab, 0x19020063, 0xe498176d,
+ 0x2b0600a5, 0xa0d53ebc, 0x6f4b2974, 0x6c0244cf, 0xa39c5307,
+ 0x284f6d1e, 0xe7d17ad6, 0x2eddb668, 0xe143a1a0, 0x6a909fb9,
+ 0xa50e8871, 0xa647e5ca, 0x69d9f202, 0xe20acc1b, 0x2d94dbd3,
+ 0xab625326, 0x64fc44ee, 0xef2f7af7, 0x20b16d3f, 0x23f80084,
+ 0xec66174c, 0x67b52955, 0xa82b3e9d, 0x6127f223, 0xaeb9e5eb,
+ 0x256adbf2, 0xeaf4cc3a, 0xe9bda181, 0x2623b649, 0xadf08850,
+ 0x626e9f98, 0x7b6c9ffb, 0xb4f28833, 0x3f21b62a, 0xf0bfa1e2,
+ 0xf3f6cc59, 0x3c68db91, 0xb7bbe588, 0x7825f240, 0xb1293efe,
+ 0x7eb72936, 0xf564172f, 0x3afa00e7, 0x39b36d5c, 0xf62d7a94,
+ 0x7dfe448d, 0xb2605345, 0x3496dbb0, 0xfb08cc78, 0x70dbf261,
+ 0xbf45e5a9, 0xbc0c8812, 0x73929fda, 0xf841a1c3, 0x37dfb60b,
+ 0xfed37ab5, 0x314d6d7d, 0xba9e5364, 0x750044ac, 0x76492917,
+ 0xb9d73edf, 0x320400c6, 0xfd9a170e, 0x1241289b, 0xdddf3f53,
+ 0x560c014a, 0x99921682, 0x9adb7b39, 0x55456cf1, 0xde9652e8,
+ 0x11084520, 0xd804899e, 0x179a9e56, 0x9c49a04f, 0x53d7b787,
+ 0x509eda3c, 0x9f00cdf4, 0x14d3f3ed, 0xdb4de425, 0x5dbb6cd0,
+ 0x92257b18, 0x19f64501, 0xd66852c9, 0xd5213f72, 0x1abf28ba,
+ 0x916c16a3, 0x5ef2016b, 0x97fecdd5, 0x5860da1d, 0xd3b3e404,
+ 0x1c2df3cc, 0x1f649e77, 0xd0fa89bf, 0x5b29b7a6, 0x94b7a06e,
+ 0x8db5a00d, 0x422bb7c5, 0xc9f889dc, 0x06669e14, 0x052ff3af,
+ 0xcab1e467, 0x4162da7e, 0x8efccdb6, 0x47f00108, 0x886e16c0,
+ 0x03bd28d9, 0xcc233f11, 0xcf6a52aa, 0x00f44562, 0x8b277b7b,
+ 0x44b96cb3, 0xc24fe446, 0x0dd1f38e, 0x8602cd97, 0x499cda5f,
+ 0x4ad5b7e4, 0x854ba02c, 0x0e989e35, 0xc10689fd, 0x080a4543,
+ 0xc794528b, 0x4c476c92, 0x83d97b5a, 0x809016e1, 0x4f0e0129,
+ 0xc4dd3f30, 0x0b4328f8, 0xf6d93ff6, 0x3947283e, 0xb2941627,
+ 0x7d0a01ef, 0x7e436c54, 0xb1dd7b9c, 0x3a0e4585, 0xf590524d,
+ 0x3c9c9ef3, 0xf302893b, 0x78d1b722, 0xb74fa0ea, 0xb406cd51,
+ 0x7b98da99, 0xf04be480, 0x3fd5f348, 0xb9237bbd, 0x76bd6c75,
+ 0xfd6e526c, 0x32f045a4, 0x31b9281f, 0xfe273fd7, 0x75f401ce,
+ 0xba6a1606, 0x7366dab8, 0xbcf8cd70, 0x372bf369, 0xf8b5e4a1,
+ 0xfbfc891a, 0x34629ed2, 0xbfb1a0cb, 0x702fb703, 0x692db760,
+ 0xa6b3a0a8, 0x2d609eb1, 0xe2fe8979, 0xe1b7e4c2, 0x2e29f30a,
+ 0xa5facd13, 0x6a64dadb, 0xa3681665, 0x6cf601ad, 0xe7253fb4,
+ 0x28bb287c, 0x2bf245c7, 0xe46c520f, 0x6fbf6c16, 0xa0217bde,
+ 0x26d7f32b, 0xe949e4e3, 0x629adafa, 0xad04cd32, 0xae4da089,
+ 0x61d3b741, 0xea008958, 0x259e9e90, 0xec92522e, 0x230c45e6,
+ 0xa8df7bff, 0x67416c37, 0x6408018c, 0xab961644, 0x2045285d,
+ 0xefdb3f95},
+ {0x00000000, 0x24825136, 0x4904a26c, 0x6d86f35a, 0x920944d8,
+ 0xb68b15ee, 0xdb0de6b4, 0xff8fb782, 0xff638ff1, 0xdbe1dec7,
+ 0xb6672d9d, 0x92e57cab, 0x6d6acb29, 0x49e89a1f, 0x246e6945,
+ 0x00ec3873, 0x25b619a3, 0x01344895, 0x6cb2bbcf, 0x4830eaf9,
+ 0xb7bf5d7b, 0x933d0c4d, 0xfebbff17, 0xda39ae21, 0xdad59652,
+ 0xfe57c764, 0x93d1343e, 0xb7536508, 0x48dcd28a, 0x6c5e83bc,
+ 0x01d870e6, 0x255a21d0, 0x4b6c3346, 0x6fee6270, 0x0268912a,
+ 0x26eac01c, 0xd965779e, 0xfde726a8, 0x9061d5f2, 0xb4e384c4,
+ 0xb40fbcb7, 0x908ded81, 0xfd0b1edb, 0xd9894fed, 0x2606f86f,
+ 0x0284a959, 0x6f025a03, 0x4b800b35, 0x6eda2ae5, 0x4a587bd3,
+ 0x27de8889, 0x035cd9bf, 0xfcd36e3d, 0xd8513f0b, 0xb5d7cc51,
+ 0x91559d67, 0x91b9a514, 0xb53bf422, 0xd8bd0778, 0xfc3f564e,
+ 0x03b0e1cc, 0x2732b0fa, 0x4ab443a0, 0x6e361296, 0x96d8668c,
+ 0xb25a37ba, 0xdfdcc4e0, 0xfb5e95d6, 0x04d12254, 0x20537362,
+ 0x4dd58038, 0x6957d10e, 0x69bbe97d, 0x4d39b84b, 0x20bf4b11,
+ 0x043d1a27, 0xfbb2ada5, 0xdf30fc93, 0xb2b60fc9, 0x96345eff,
+ 0xb36e7f2f, 0x97ec2e19, 0xfa6add43, 0xdee88c75, 0x21673bf7,
+ 0x05e56ac1, 0x6863999b, 0x4ce1c8ad, 0x4c0df0de, 0x688fa1e8,
+ 0x050952b2, 0x218b0384, 0xde04b406, 0xfa86e530, 0x9700166a,
+ 0xb382475c, 0xddb455ca, 0xf93604fc, 0x94b0f7a6, 0xb032a690,
+ 0x4fbd1112, 0x6b3f4024, 0x06b9b37e, 0x223be248, 0x22d7da3b,
+ 0x06558b0d, 0x6bd37857, 0x4f512961, 0xb0de9ee3, 0x945ccfd5,
+ 0xf9da3c8f, 0xdd586db9, 0xf8024c69, 0xdc801d5f, 0xb106ee05,
+ 0x9584bf33, 0x6a0b08b1, 0x4e895987, 0x230faadd, 0x078dfbeb,
+ 0x0761c398, 0x23e392ae, 0x4e6561f4, 0x6ae730c2, 0x95688740,
+ 0xb1ead676, 0xdc6c252c, 0xf8ee741a, 0xf6c1cb59, 0xd2439a6f,
+ 0xbfc56935, 0x9b473803, 0x64c88f81, 0x404adeb7, 0x2dcc2ded,
+ 0x094e7cdb, 0x09a244a8, 0x2d20159e, 0x40a6e6c4, 0x6424b7f2,
+ 0x9bab0070, 0xbf295146, 0xd2afa21c, 0xf62df32a, 0xd377d2fa,
+ 0xf7f583cc, 0x9a737096, 0xbef121a0, 0x417e9622, 0x65fcc714,
+ 0x087a344e, 0x2cf86578, 0x2c145d0b, 0x08960c3d, 0x6510ff67,
+ 0x4192ae51, 0xbe1d19d3, 0x9a9f48e5, 0xf719bbbf, 0xd39bea89,
+ 0xbdadf81f, 0x992fa929, 0xf4a95a73, 0xd02b0b45, 0x2fa4bcc7,
+ 0x0b26edf1, 0x66a01eab, 0x42224f9d, 0x42ce77ee, 0x664c26d8,
+ 0x0bcad582, 0x2f4884b4, 0xd0c73336, 0xf4456200, 0x99c3915a,
+ 0xbd41c06c, 0x981be1bc, 0xbc99b08a, 0xd11f43d0, 0xf59d12e6,
+ 0x0a12a564, 0x2e90f452, 0x43160708, 0x6794563e, 0x67786e4d,
+ 0x43fa3f7b, 0x2e7ccc21, 0x0afe9d17, 0xf5712a95, 0xd1f37ba3,
+ 0xbc7588f9, 0x98f7d9cf, 0x6019add5, 0x449bfce3, 0x291d0fb9,
+ 0x0d9f5e8f, 0xf210e90d, 0xd692b83b, 0xbb144b61, 0x9f961a57,
+ 0x9f7a2224, 0xbbf87312, 0xd67e8048, 0xf2fcd17e, 0x0d7366fc,
+ 0x29f137ca, 0x4477c490, 0x60f595a6, 0x45afb476, 0x612de540,
+ 0x0cab161a, 0x2829472c, 0xd7a6f0ae, 0xf324a198, 0x9ea252c2,
+ 0xba2003f4, 0xbacc3b87, 0x9e4e6ab1, 0xf3c899eb, 0xd74ac8dd,
+ 0x28c57f5f, 0x0c472e69, 0x61c1dd33, 0x45438c05, 0x2b759e93,
+ 0x0ff7cfa5, 0x62713cff, 0x46f36dc9, 0xb97cda4b, 0x9dfe8b7d,
+ 0xf0787827, 0xd4fa2911, 0xd4161162, 0xf0944054, 0x9d12b30e,
+ 0xb990e238, 0x461f55ba, 0x629d048c, 0x0f1bf7d6, 0x2b99a6e0,
+ 0x0ec38730, 0x2a41d606, 0x47c7255c, 0x6345746a, 0x9ccac3e8,
+ 0xb84892de, 0xd5ce6184, 0xf14c30b2, 0xf1a008c1, 0xd52259f7,
+ 0xb8a4aaad, 0x9c26fb9b, 0x63a94c19, 0x472b1d2f, 0x2aadee75,
+ 0x0e2fbf43},
+ {0x00000000, 0x36f290f3, 0x6de521e6, 0x5b17b115, 0xdbca43cc,
+ 0xed38d33f, 0xb62f622a, 0x80ddf2d9, 0x6ce581d9, 0x5a17112a,
+ 0x0100a03f, 0x37f230cc, 0xb72fc215, 0x81dd52e6, 0xdacae3f3,
+ 0xec387300, 0xd9cb03b2, 0xef399341, 0xb42e2254, 0x82dcb2a7,
+ 0x0201407e, 0x34f3d08d, 0x6fe46198, 0x5916f16b, 0xb52e826b,
+ 0x83dc1298, 0xd8cba38d, 0xee39337e, 0x6ee4c1a7, 0x58165154,
+ 0x0301e041, 0x35f370b2, 0x68e70125, 0x5e1591d6, 0x050220c3,
+ 0x33f0b030, 0xb32d42e9, 0x85dfd21a, 0xdec8630f, 0xe83af3fc,
+ 0x040280fc, 0x32f0100f, 0x69e7a11a, 0x5f1531e9, 0xdfc8c330,
+ 0xe93a53c3, 0xb22de2d6, 0x84df7225, 0xb12c0297, 0x87de9264,
+ 0xdcc92371, 0xea3bb382, 0x6ae6415b, 0x5c14d1a8, 0x070360bd,
+ 0x31f1f04e, 0xddc9834e, 0xeb3b13bd, 0xb02ca2a8, 0x86de325b,
+ 0x0603c082, 0x30f15071, 0x6be6e164, 0x5d147197, 0xd1ce024a,
+ 0xe73c92b9, 0xbc2b23ac, 0x8ad9b35f, 0x0a044186, 0x3cf6d175,
+ 0x67e16060, 0x5113f093, 0xbd2b8393, 0x8bd91360, 0xd0cea275,
+ 0xe63c3286, 0x66e1c05f, 0x501350ac, 0x0b04e1b9, 0x3df6714a,
+ 0x080501f8, 0x3ef7910b, 0x65e0201e, 0x5312b0ed, 0xd3cf4234,
+ 0xe53dd2c7, 0xbe2a63d2, 0x88d8f321, 0x64e08021, 0x521210d2,
+ 0x0905a1c7, 0x3ff73134, 0xbf2ac3ed, 0x89d8531e, 0xd2cfe20b,
+ 0xe43d72f8, 0xb929036f, 0x8fdb939c, 0xd4cc2289, 0xe23eb27a,
+ 0x62e340a3, 0x5411d050, 0x0f066145, 0x39f4f1b6, 0xd5cc82b6,
+ 0xe33e1245, 0xb829a350, 0x8edb33a3, 0x0e06c17a, 0x38f45189,
+ 0x63e3e09c, 0x5511706f, 0x60e200dd, 0x5610902e, 0x0d07213b,
+ 0x3bf5b1c8, 0xbb284311, 0x8ddad3e2, 0xd6cd62f7, 0xe03ff204,
+ 0x0c078104, 0x3af511f7, 0x61e2a0e2, 0x57103011, 0xd7cdc2c8,
+ 0xe13f523b, 0xba28e32e, 0x8cda73dd, 0x78ed02d5, 0x4e1f9226,
+ 0x15082333, 0x23fab3c0, 0xa3274119, 0x95d5d1ea, 0xcec260ff,
+ 0xf830f00c, 0x1408830c, 0x22fa13ff, 0x79eda2ea, 0x4f1f3219,
+ 0xcfc2c0c0, 0xf9305033, 0xa227e126, 0x94d571d5, 0xa1260167,
+ 0x97d49194, 0xccc32081, 0xfa31b072, 0x7aec42ab, 0x4c1ed258,
+ 0x1709634d, 0x21fbf3be, 0xcdc380be, 0xfb31104d, 0xa026a158,
+ 0x96d431ab, 0x1609c372, 0x20fb5381, 0x7bece294, 0x4d1e7267,
+ 0x100a03f0, 0x26f89303, 0x7def2216, 0x4b1db2e5, 0xcbc0403c,
+ 0xfd32d0cf, 0xa62561da, 0x90d7f129, 0x7cef8229, 0x4a1d12da,
+ 0x110aa3cf, 0x27f8333c, 0xa725c1e5, 0x91d75116, 0xcac0e003,
+ 0xfc3270f0, 0xc9c10042, 0xff3390b1, 0xa42421a4, 0x92d6b157,
+ 0x120b438e, 0x24f9d37d, 0x7fee6268, 0x491cf29b, 0xa524819b,
+ 0x93d61168, 0xc8c1a07d, 0xfe33308e, 0x7eeec257, 0x481c52a4,
+ 0x130be3b1, 0x25f97342, 0xa923009f, 0x9fd1906c, 0xc4c62179,
+ 0xf234b18a, 0x72e94353, 0x441bd3a0, 0x1f0c62b5, 0x29fef246,
+ 0xc5c68146, 0xf33411b5, 0xa823a0a0, 0x9ed13053, 0x1e0cc28a,
+ 0x28fe5279, 0x73e9e36c, 0x451b739f, 0x70e8032d, 0x461a93de,
+ 0x1d0d22cb, 0x2bffb238, 0xab2240e1, 0x9dd0d012, 0xc6c76107,
+ 0xf035f1f4, 0x1c0d82f4, 0x2aff1207, 0x71e8a312, 0x471a33e1,
+ 0xc7c7c138, 0xf13551cb, 0xaa22e0de, 0x9cd0702d, 0xc1c401ba,
+ 0xf7369149, 0xac21205c, 0x9ad3b0af, 0x1a0e4276, 0x2cfcd285,
+ 0x77eb6390, 0x4119f363, 0xad218063, 0x9bd31090, 0xc0c4a185,
+ 0xf6363176, 0x76ebc3af, 0x4019535c, 0x1b0ee249, 0x2dfc72ba,
+ 0x180f0208, 0x2efd92fb, 0x75ea23ee, 0x4318b31d, 0xc3c541c4,
+ 0xf537d137, 0xae206022, 0x98d2f0d1, 0x74ea83d1, 0x42181322,
+ 0x190fa237, 0x2ffd32c4, 0xaf20c01d, 0x99d250ee, 0xc2c5e1fb,
+ 0xf4377108}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x0000000000000000, 0xf390f23600000000, 0xe621e56d00000000,
+ 0x15b1175b00000000, 0xcc43cadb00000000, 0x3fd338ed00000000,
+ 0x2a622fb600000000, 0xd9f2dd8000000000, 0xd981e56c00000000,
+ 0x2a11175a00000000, 0x3fa0000100000000, 0xcc30f23700000000,
+ 0x15c22fb700000000, 0xe652dd8100000000, 0xf3e3cada00000000,
+ 0x007338ec00000000, 0xb203cbd900000000, 0x419339ef00000000,
+ 0x54222eb400000000, 0xa7b2dc8200000000, 0x7e40010200000000,
+ 0x8dd0f33400000000, 0x9861e46f00000000, 0x6bf1165900000000,
+ 0x6b822eb500000000, 0x9812dc8300000000, 0x8da3cbd800000000,
+ 0x7e3339ee00000000, 0xa7c1e46e00000000, 0x5451165800000000,
+ 0x41e0010300000000, 0xb270f33500000000, 0x2501e76800000000,
+ 0xd691155e00000000, 0xc320020500000000, 0x30b0f03300000000,
+ 0xe9422db300000000, 0x1ad2df8500000000, 0x0f63c8de00000000,
+ 0xfcf33ae800000000, 0xfc80020400000000, 0x0f10f03200000000,
+ 0x1aa1e76900000000, 0xe931155f00000000, 0x30c3c8df00000000,
+ 0xc3533ae900000000, 0xd6e22db200000000, 0x2572df8400000000,
+ 0x97022cb100000000, 0x6492de8700000000, 0x7123c9dc00000000,
+ 0x82b33bea00000000, 0x5b41e66a00000000, 0xa8d1145c00000000,
+ 0xbd60030700000000, 0x4ef0f13100000000, 0x4e83c9dd00000000,
+ 0xbd133beb00000000, 0xa8a22cb000000000, 0x5b32de8600000000,
+ 0x82c0030600000000, 0x7150f13000000000, 0x64e1e66b00000000,
+ 0x9771145d00000000, 0x4a02ced100000000, 0xb9923ce700000000,
+ 0xac232bbc00000000, 0x5fb3d98a00000000, 0x8641040a00000000,
+ 0x75d1f63c00000000, 0x6060e16700000000, 0x93f0135100000000,
+ 0x93832bbd00000000, 0x6013d98b00000000, 0x75a2ced000000000,
+ 0x86323ce600000000, 0x5fc0e16600000000, 0xac50135000000000,
+ 0xb9e1040b00000000, 0x4a71f63d00000000, 0xf801050800000000,
+ 0x0b91f73e00000000, 0x1e20e06500000000, 0xedb0125300000000,
+ 0x3442cfd300000000, 0xc7d23de500000000, 0xd2632abe00000000,
+ 0x21f3d88800000000, 0x2180e06400000000, 0xd210125200000000,
+ 0xc7a1050900000000, 0x3431f73f00000000, 0xedc32abf00000000,
+ 0x1e53d88900000000, 0x0be2cfd200000000, 0xf8723de400000000,
+ 0x6f0329b900000000, 0x9c93db8f00000000, 0x8922ccd400000000,
+ 0x7ab23ee200000000, 0xa340e36200000000, 0x50d0115400000000,
+ 0x4561060f00000000, 0xb6f1f43900000000, 0xb682ccd500000000,
+ 0x45123ee300000000, 0x50a329b800000000, 0xa333db8e00000000,
+ 0x7ac1060e00000000, 0x8951f43800000000, 0x9ce0e36300000000,
+ 0x6f70115500000000, 0xdd00e26000000000, 0x2e90105600000000,
+ 0x3b21070d00000000, 0xc8b1f53b00000000, 0x114328bb00000000,
+ 0xe2d3da8d00000000, 0xf762cdd600000000, 0x04f23fe000000000,
+ 0x0481070c00000000, 0xf711f53a00000000, 0xe2a0e26100000000,
+ 0x1130105700000000, 0xc8c2cdd700000000, 0x3b523fe100000000,
+ 0x2ee328ba00000000, 0xdd73da8c00000000, 0xd502ed7800000000,
+ 0x26921f4e00000000, 0x3323081500000000, 0xc0b3fa2300000000,
+ 0x194127a300000000, 0xead1d59500000000, 0xff60c2ce00000000,
+ 0x0cf030f800000000, 0x0c83081400000000, 0xff13fa2200000000,
+ 0xeaa2ed7900000000, 0x19321f4f00000000, 0xc0c0c2cf00000000,
+ 0x335030f900000000, 0x26e127a200000000, 0xd571d59400000000,
+ 0x670126a100000000, 0x9491d49700000000, 0x8120c3cc00000000,
+ 0x72b031fa00000000, 0xab42ec7a00000000, 0x58d21e4c00000000,
+ 0x4d63091700000000, 0xbef3fb2100000000, 0xbe80c3cd00000000,
+ 0x4d1031fb00000000, 0x58a126a000000000, 0xab31d49600000000,
+ 0x72c3091600000000, 0x8153fb2000000000, 0x94e2ec7b00000000,
+ 0x67721e4d00000000, 0xf0030a1000000000, 0x0393f82600000000,
+ 0x1622ef7d00000000, 0xe5b21d4b00000000, 0x3c40c0cb00000000,
+ 0xcfd032fd00000000, 0xda6125a600000000, 0x29f1d79000000000,
+ 0x2982ef7c00000000, 0xda121d4a00000000, 0xcfa30a1100000000,
+ 0x3c33f82700000000, 0xe5c125a700000000, 0x1651d79100000000,
+ 0x03e0c0ca00000000, 0xf07032fc00000000, 0x4200c1c900000000,
+ 0xb19033ff00000000, 0xa42124a400000000, 0x57b1d69200000000,
+ 0x8e430b1200000000, 0x7dd3f92400000000, 0x6862ee7f00000000,
+ 0x9bf21c4900000000, 0x9b8124a500000000, 0x6811d69300000000,
+ 0x7da0c1c800000000, 0x8e3033fe00000000, 0x57c2ee7e00000000,
+ 0xa4521c4800000000, 0xb1e30b1300000000, 0x4273f92500000000,
+ 0x9f0023a900000000, 0x6c90d19f00000000, 0x7921c6c400000000,
+ 0x8ab134f200000000, 0x5343e97200000000, 0xa0d31b4400000000,
+ 0xb5620c1f00000000, 0x46f2fe2900000000, 0x4681c6c500000000,
+ 0xb51134f300000000, 0xa0a023a800000000, 0x5330d19e00000000,
+ 0x8ac20c1e00000000, 0x7952fe2800000000, 0x6ce3e97300000000,
+ 0x9f731b4500000000, 0x2d03e87000000000, 0xde931a4600000000,
+ 0xcb220d1d00000000, 0x38b2ff2b00000000, 0xe14022ab00000000,
+ 0x12d0d09d00000000, 0x0761c7c600000000, 0xf4f135f000000000,
+ 0xf4820d1c00000000, 0x0712ff2a00000000, 0x12a3e87100000000,
+ 0xe1331a4700000000, 0x38c1c7c700000000, 0xcb5135f100000000,
+ 0xdee022aa00000000, 0x2d70d09c00000000, 0xba01c4c100000000,
+ 0x499136f700000000, 0x5c2021ac00000000, 0xafb0d39a00000000,
+ 0x76420e1a00000000, 0x85d2fc2c00000000, 0x9063eb7700000000,
+ 0x63f3194100000000, 0x638021ad00000000, 0x9010d39b00000000,
+ 0x85a1c4c000000000, 0x763136f600000000, 0xafc3eb7600000000,
+ 0x5c53194000000000, 0x49e20e1b00000000, 0xba72fc2d00000000,
+ 0x08020f1800000000, 0xfb92fd2e00000000, 0xee23ea7500000000,
+ 0x1db3184300000000, 0xc441c5c300000000, 0x37d137f500000000,
+ 0x226020ae00000000, 0xd1f0d29800000000, 0xd183ea7400000000,
+ 0x2213184200000000, 0x37a20f1900000000, 0xc432fd2f00000000,
+ 0x1dc020af00000000, 0xee50d29900000000, 0xfbe1c5c200000000,
+ 0x087137f400000000},
+ {0x0000000000000000, 0x3651822400000000, 0x6ca2044900000000,
+ 0x5af3866d00000000, 0xd844099200000000, 0xee158bb600000000,
+ 0xb4e60ddb00000000, 0x82b78fff00000000, 0xf18f63ff00000000,
+ 0xc7dee1db00000000, 0x9d2d67b600000000, 0xab7ce59200000000,
+ 0x29cb6a6d00000000, 0x1f9ae84900000000, 0x45696e2400000000,
+ 0x7338ec0000000000, 0xa319b62500000000, 0x9548340100000000,
+ 0xcfbbb26c00000000, 0xf9ea304800000000, 0x7b5dbfb700000000,
+ 0x4d0c3d9300000000, 0x17ffbbfe00000000, 0x21ae39da00000000,
+ 0x5296d5da00000000, 0x64c757fe00000000, 0x3e34d19300000000,
+ 0x086553b700000000, 0x8ad2dc4800000000, 0xbc835e6c00000000,
+ 0xe670d80100000000, 0xd0215a2500000000, 0x46336c4b00000000,
+ 0x7062ee6f00000000, 0x2a91680200000000, 0x1cc0ea2600000000,
+ 0x9e7765d900000000, 0xa826e7fd00000000, 0xf2d5619000000000,
+ 0xc484e3b400000000, 0xb7bc0fb400000000, 0x81ed8d9000000000,
+ 0xdb1e0bfd00000000, 0xed4f89d900000000, 0x6ff8062600000000,
+ 0x59a9840200000000, 0x035a026f00000000, 0x350b804b00000000,
+ 0xe52ada6e00000000, 0xd37b584a00000000, 0x8988de2700000000,
+ 0xbfd95c0300000000, 0x3d6ed3fc00000000, 0x0b3f51d800000000,
+ 0x51ccd7b500000000, 0x679d559100000000, 0x14a5b99100000000,
+ 0x22f43bb500000000, 0x7807bdd800000000, 0x4e563ffc00000000,
+ 0xcce1b00300000000, 0xfab0322700000000, 0xa043b44a00000000,
+ 0x9612366e00000000, 0x8c66d89600000000, 0xba375ab200000000,
+ 0xe0c4dcdf00000000, 0xd6955efb00000000, 0x5422d10400000000,
+ 0x6273532000000000, 0x3880d54d00000000, 0x0ed1576900000000,
+ 0x7de9bb6900000000, 0x4bb8394d00000000, 0x114bbf2000000000,
+ 0x271a3d0400000000, 0xa5adb2fb00000000, 0x93fc30df00000000,
+ 0xc90fb6b200000000, 0xff5e349600000000, 0x2f7f6eb300000000,
+ 0x192eec9700000000, 0x43dd6afa00000000, 0x758ce8de00000000,
+ 0xf73b672100000000, 0xc16ae50500000000, 0x9b99636800000000,
+ 0xadc8e14c00000000, 0xdef00d4c00000000, 0xe8a18f6800000000,
+ 0xb252090500000000, 0x84038b2100000000, 0x06b404de00000000,
+ 0x30e586fa00000000, 0x6a16009700000000, 0x5c4782b300000000,
+ 0xca55b4dd00000000, 0xfc0436f900000000, 0xa6f7b09400000000,
+ 0x90a632b000000000, 0x1211bd4f00000000, 0x24403f6b00000000,
+ 0x7eb3b90600000000, 0x48e23b2200000000, 0x3bdad72200000000,
+ 0x0d8b550600000000, 0x5778d36b00000000, 0x6129514f00000000,
+ 0xe39edeb000000000, 0xd5cf5c9400000000, 0x8f3cdaf900000000,
+ 0xb96d58dd00000000, 0x694c02f800000000, 0x5f1d80dc00000000,
+ 0x05ee06b100000000, 0x33bf849500000000, 0xb1080b6a00000000,
+ 0x8759894e00000000, 0xddaa0f2300000000, 0xebfb8d0700000000,
+ 0x98c3610700000000, 0xae92e32300000000, 0xf461654e00000000,
+ 0xc230e76a00000000, 0x4087689500000000, 0x76d6eab100000000,
+ 0x2c256cdc00000000, 0x1a74eef800000000, 0x59cbc1f600000000,
+ 0x6f9a43d200000000, 0x3569c5bf00000000, 0x0338479b00000000,
+ 0x818fc86400000000, 0xb7de4a4000000000, 0xed2dcc2d00000000,
+ 0xdb7c4e0900000000, 0xa844a20900000000, 0x9e15202d00000000,
+ 0xc4e6a64000000000, 0xf2b7246400000000, 0x7000ab9b00000000,
+ 0x465129bf00000000, 0x1ca2afd200000000, 0x2af32df600000000,
+ 0xfad277d300000000, 0xcc83f5f700000000, 0x9670739a00000000,
+ 0xa021f1be00000000, 0x22967e4100000000, 0x14c7fc6500000000,
+ 0x4e347a0800000000, 0x7865f82c00000000, 0x0b5d142c00000000,
+ 0x3d0c960800000000, 0x67ff106500000000, 0x51ae924100000000,
+ 0xd3191dbe00000000, 0xe5489f9a00000000, 0xbfbb19f700000000,
+ 0x89ea9bd300000000, 0x1ff8adbd00000000, 0x29a92f9900000000,
+ 0x735aa9f400000000, 0x450b2bd000000000, 0xc7bca42f00000000,
+ 0xf1ed260b00000000, 0xab1ea06600000000, 0x9d4f224200000000,
+ 0xee77ce4200000000, 0xd8264c6600000000, 0x82d5ca0b00000000,
+ 0xb484482f00000000, 0x3633c7d000000000, 0x006245f400000000,
+ 0x5a91c39900000000, 0x6cc041bd00000000, 0xbce11b9800000000,
+ 0x8ab099bc00000000, 0xd0431fd100000000, 0xe6129df500000000,
+ 0x64a5120a00000000, 0x52f4902e00000000, 0x0807164300000000,
+ 0x3e56946700000000, 0x4d6e786700000000, 0x7b3ffa4300000000,
+ 0x21cc7c2e00000000, 0x179dfe0a00000000, 0x952a71f500000000,
+ 0xa37bf3d100000000, 0xf98875bc00000000, 0xcfd9f79800000000,
+ 0xd5ad196000000000, 0xe3fc9b4400000000, 0xb90f1d2900000000,
+ 0x8f5e9f0d00000000, 0x0de910f200000000, 0x3bb892d600000000,
+ 0x614b14bb00000000, 0x571a969f00000000, 0x24227a9f00000000,
+ 0x1273f8bb00000000, 0x48807ed600000000, 0x7ed1fcf200000000,
+ 0xfc66730d00000000, 0xca37f12900000000, 0x90c4774400000000,
+ 0xa695f56000000000, 0x76b4af4500000000, 0x40e52d6100000000,
+ 0x1a16ab0c00000000, 0x2c47292800000000, 0xaef0a6d700000000,
+ 0x98a124f300000000, 0xc252a29e00000000, 0xf40320ba00000000,
+ 0x873bccba00000000, 0xb16a4e9e00000000, 0xeb99c8f300000000,
+ 0xddc84ad700000000, 0x5f7fc52800000000, 0x692e470c00000000,
+ 0x33ddc16100000000, 0x058c434500000000, 0x939e752b00000000,
+ 0xa5cff70f00000000, 0xff3c716200000000, 0xc96df34600000000,
+ 0x4bda7cb900000000, 0x7d8bfe9d00000000, 0x277878f000000000,
+ 0x1129fad400000000, 0x621116d400000000, 0x544094f000000000,
+ 0x0eb3129d00000000, 0x38e290b900000000, 0xba551f4600000000,
+ 0x8c049d6200000000, 0xd6f71b0f00000000, 0xe0a6992b00000000,
+ 0x3087c30e00000000, 0x06d6412a00000000, 0x5c25c74700000000,
+ 0x6a74456300000000, 0xe8c3ca9c00000000, 0xde9248b800000000,
+ 0x8461ced500000000, 0xb2304cf100000000, 0xc108a0f100000000,
+ 0xf75922d500000000, 0xadaaa4b800000000, 0x9bfb269c00000000,
+ 0x194ca96300000000, 0x2f1d2b4700000000, 0x75eead2a00000000,
+ 0x43bf2f0e00000000},
+ {0x0000000000000000, 0xc8179ecf00000000, 0xd1294d4400000000,
+ 0x193ed38b00000000, 0xa2539a8800000000, 0x6a44044700000000,
+ 0x737ad7cc00000000, 0xbb6d490300000000, 0x05a145ca00000000,
+ 0xcdb6db0500000000, 0xd488088e00000000, 0x1c9f964100000000,
+ 0xa7f2df4200000000, 0x6fe5418d00000000, 0x76db920600000000,
+ 0xbecc0cc900000000, 0x4b44fa4f00000000, 0x8353648000000000,
+ 0x9a6db70b00000000, 0x527a29c400000000, 0xe91760c700000000,
+ 0x2100fe0800000000, 0x383e2d8300000000, 0xf029b34c00000000,
+ 0x4ee5bf8500000000, 0x86f2214a00000000, 0x9fccf2c100000000,
+ 0x57db6c0e00000000, 0xecb6250d00000000, 0x24a1bbc200000000,
+ 0x3d9f684900000000, 0xf588f68600000000, 0x9688f49f00000000,
+ 0x5e9f6a5000000000, 0x47a1b9db00000000, 0x8fb6271400000000,
+ 0x34db6e1700000000, 0xfcccf0d800000000, 0xe5f2235300000000,
+ 0x2de5bd9c00000000, 0x9329b15500000000, 0x5b3e2f9a00000000,
+ 0x4200fc1100000000, 0x8a1762de00000000, 0x317a2bdd00000000,
+ 0xf96db51200000000, 0xe053669900000000, 0x2844f85600000000,
+ 0xddcc0ed000000000, 0x15db901f00000000, 0x0ce5439400000000,
+ 0xc4f2dd5b00000000, 0x7f9f945800000000, 0xb7880a9700000000,
+ 0xaeb6d91c00000000, 0x66a147d300000000, 0xd86d4b1a00000000,
+ 0x107ad5d500000000, 0x0944065e00000000, 0xc153989100000000,
+ 0x7a3ed19200000000, 0xb2294f5d00000000, 0xab179cd600000000,
+ 0x6300021900000000, 0x6d1798e400000000, 0xa500062b00000000,
+ 0xbc3ed5a000000000, 0x74294b6f00000000, 0xcf44026c00000000,
+ 0x07539ca300000000, 0x1e6d4f2800000000, 0xd67ad1e700000000,
+ 0x68b6dd2e00000000, 0xa0a143e100000000, 0xb99f906a00000000,
+ 0x71880ea500000000, 0xcae547a600000000, 0x02f2d96900000000,
+ 0x1bcc0ae200000000, 0xd3db942d00000000, 0x265362ab00000000,
+ 0xee44fc6400000000, 0xf77a2fef00000000, 0x3f6db12000000000,
+ 0x8400f82300000000, 0x4c1766ec00000000, 0x5529b56700000000,
+ 0x9d3e2ba800000000, 0x23f2276100000000, 0xebe5b9ae00000000,
+ 0xf2db6a2500000000, 0x3accf4ea00000000, 0x81a1bde900000000,
+ 0x49b6232600000000, 0x5088f0ad00000000, 0x989f6e6200000000,
+ 0xfb9f6c7b00000000, 0x3388f2b400000000, 0x2ab6213f00000000,
+ 0xe2a1bff000000000, 0x59ccf6f300000000, 0x91db683c00000000,
+ 0x88e5bbb700000000, 0x40f2257800000000, 0xfe3e29b100000000,
+ 0x3629b77e00000000, 0x2f1764f500000000, 0xe700fa3a00000000,
+ 0x5c6db33900000000, 0x947a2df600000000, 0x8d44fe7d00000000,
+ 0x455360b200000000, 0xb0db963400000000, 0x78cc08fb00000000,
+ 0x61f2db7000000000, 0xa9e545bf00000000, 0x12880cbc00000000,
+ 0xda9f927300000000, 0xc3a141f800000000, 0x0bb6df3700000000,
+ 0xb57ad3fe00000000, 0x7d6d4d3100000000, 0x64539eba00000000,
+ 0xac44007500000000, 0x1729497600000000, 0xdf3ed7b900000000,
+ 0xc600043200000000, 0x0e179afd00000000, 0x9b28411200000000,
+ 0x533fdfdd00000000, 0x4a010c5600000000, 0x8216929900000000,
+ 0x397bdb9a00000000, 0xf16c455500000000, 0xe85296de00000000,
+ 0x2045081100000000, 0x9e8904d800000000, 0x569e9a1700000000,
+ 0x4fa0499c00000000, 0x87b7d75300000000, 0x3cda9e5000000000,
+ 0xf4cd009f00000000, 0xedf3d31400000000, 0x25e44ddb00000000,
+ 0xd06cbb5d00000000, 0x187b259200000000, 0x0145f61900000000,
+ 0xc95268d600000000, 0x723f21d500000000, 0xba28bf1a00000000,
+ 0xa3166c9100000000, 0x6b01f25e00000000, 0xd5cdfe9700000000,
+ 0x1dda605800000000, 0x04e4b3d300000000, 0xccf32d1c00000000,
+ 0x779e641f00000000, 0xbf89fad000000000, 0xa6b7295b00000000,
+ 0x6ea0b79400000000, 0x0da0b58d00000000, 0xc5b72b4200000000,
+ 0xdc89f8c900000000, 0x149e660600000000, 0xaff32f0500000000,
+ 0x67e4b1ca00000000, 0x7eda624100000000, 0xb6cdfc8e00000000,
+ 0x0801f04700000000, 0xc0166e8800000000, 0xd928bd0300000000,
+ 0x113f23cc00000000, 0xaa526acf00000000, 0x6245f40000000000,
+ 0x7b7b278b00000000, 0xb36cb94400000000, 0x46e44fc200000000,
+ 0x8ef3d10d00000000, 0x97cd028600000000, 0x5fda9c4900000000,
+ 0xe4b7d54a00000000, 0x2ca04b8500000000, 0x359e980e00000000,
+ 0xfd8906c100000000, 0x43450a0800000000, 0x8b5294c700000000,
+ 0x926c474c00000000, 0x5a7bd98300000000, 0xe116908000000000,
+ 0x29010e4f00000000, 0x303fddc400000000, 0xf828430b00000000,
+ 0xf63fd9f600000000, 0x3e28473900000000, 0x271694b200000000,
+ 0xef010a7d00000000, 0x546c437e00000000, 0x9c7bddb100000000,
+ 0x85450e3a00000000, 0x4d5290f500000000, 0xf39e9c3c00000000,
+ 0x3b8902f300000000, 0x22b7d17800000000, 0xeaa04fb700000000,
+ 0x51cd06b400000000, 0x99da987b00000000, 0x80e44bf000000000,
+ 0x48f3d53f00000000, 0xbd7b23b900000000, 0x756cbd7600000000,
+ 0x6c526efd00000000, 0xa445f03200000000, 0x1f28b93100000000,
+ 0xd73f27fe00000000, 0xce01f47500000000, 0x06166aba00000000,
+ 0xb8da667300000000, 0x70cdf8bc00000000, 0x69f32b3700000000,
+ 0xa1e4b5f800000000, 0x1a89fcfb00000000, 0xd29e623400000000,
+ 0xcba0b1bf00000000, 0x03b72f7000000000, 0x60b72d6900000000,
+ 0xa8a0b3a600000000, 0xb19e602d00000000, 0x7989fee200000000,
+ 0xc2e4b7e100000000, 0x0af3292e00000000, 0x13cdfaa500000000,
+ 0xdbda646a00000000, 0x651668a300000000, 0xad01f66c00000000,
+ 0xb43f25e700000000, 0x7c28bb2800000000, 0xc745f22b00000000,
+ 0x0f526ce400000000, 0x166cbf6f00000000, 0xde7b21a000000000,
+ 0x2bf3d72600000000, 0xe3e449e900000000, 0xfada9a6200000000,
+ 0x32cd04ad00000000, 0x89a04dae00000000, 0x41b7d36100000000,
+ 0x588900ea00000000, 0x909e9e2500000000, 0x2e5292ec00000000,
+ 0xe6450c2300000000, 0xff7bdfa800000000, 0x376c416700000000,
+ 0x8c01086400000000, 0x441696ab00000000, 0x5d28452000000000,
+ 0x953fdbef00000000},
+ {0x0000000000000000, 0x95d4709500000000, 0x6baf90f100000000,
+ 0xfe7be06400000000, 0x9758503800000000, 0x028c20ad00000000,
+ 0xfcf7c0c900000000, 0x6923b05c00000000, 0x2eb1a07000000000,
+ 0xbb65d0e500000000, 0x451e308100000000, 0xd0ca401400000000,
+ 0xb9e9f04800000000, 0x2c3d80dd00000000, 0xd24660b900000000,
+ 0x4792102c00000000, 0x5c6241e100000000, 0xc9b6317400000000,
+ 0x37cdd11000000000, 0xa219a18500000000, 0xcb3a11d900000000,
+ 0x5eee614c00000000, 0xa095812800000000, 0x3541f1bd00000000,
+ 0x72d3e19100000000, 0xe707910400000000, 0x197c716000000000,
+ 0x8ca801f500000000, 0xe58bb1a900000000, 0x705fc13c00000000,
+ 0x8e24215800000000, 0x1bf051cd00000000, 0xf9c2f31900000000,
+ 0x6c16838c00000000, 0x926d63e800000000, 0x07b9137d00000000,
+ 0x6e9aa32100000000, 0xfb4ed3b400000000, 0x053533d000000000,
+ 0x90e1434500000000, 0xd773536900000000, 0x42a723fc00000000,
+ 0xbcdcc39800000000, 0x2908b30d00000000, 0x402b035100000000,
+ 0xd5ff73c400000000, 0x2b8493a000000000, 0xbe50e33500000000,
+ 0xa5a0b2f800000000, 0x3074c26d00000000, 0xce0f220900000000,
+ 0x5bdb529c00000000, 0x32f8e2c000000000, 0xa72c925500000000,
+ 0x5957723100000000, 0xcc8302a400000000, 0x8b11128800000000,
+ 0x1ec5621d00000000, 0xe0be827900000000, 0x756af2ec00000000,
+ 0x1c4942b000000000, 0x899d322500000000, 0x77e6d24100000000,
+ 0xe232a2d400000000, 0xf285e73300000000, 0x675197a600000000,
+ 0x992a77c200000000, 0x0cfe075700000000, 0x65ddb70b00000000,
+ 0xf009c79e00000000, 0x0e7227fa00000000, 0x9ba6576f00000000,
+ 0xdc34474300000000, 0x49e037d600000000, 0xb79bd7b200000000,
+ 0x224fa72700000000, 0x4b6c177b00000000, 0xdeb867ee00000000,
+ 0x20c3878a00000000, 0xb517f71f00000000, 0xaee7a6d200000000,
+ 0x3b33d64700000000, 0xc548362300000000, 0x509c46b600000000,
+ 0x39bff6ea00000000, 0xac6b867f00000000, 0x5210661b00000000,
+ 0xc7c4168e00000000, 0x805606a200000000, 0x1582763700000000,
+ 0xebf9965300000000, 0x7e2de6c600000000, 0x170e569a00000000,
+ 0x82da260f00000000, 0x7ca1c66b00000000, 0xe975b6fe00000000,
+ 0x0b47142a00000000, 0x9e9364bf00000000, 0x60e884db00000000,
+ 0xf53cf44e00000000, 0x9c1f441200000000, 0x09cb348700000000,
+ 0xf7b0d4e300000000, 0x6264a47600000000, 0x25f6b45a00000000,
+ 0xb022c4cf00000000, 0x4e5924ab00000000, 0xdb8d543e00000000,
+ 0xb2aee46200000000, 0x277a94f700000000, 0xd901749300000000,
+ 0x4cd5040600000000, 0x572555cb00000000, 0xc2f1255e00000000,
+ 0x3c8ac53a00000000, 0xa95eb5af00000000, 0xc07d05f300000000,
+ 0x55a9756600000000, 0xabd2950200000000, 0x3e06e59700000000,
+ 0x7994f5bb00000000, 0xec40852e00000000, 0x123b654a00000000,
+ 0x87ef15df00000000, 0xeecca58300000000, 0x7b18d51600000000,
+ 0x8563357200000000, 0x10b745e700000000, 0xe40bcf6700000000,
+ 0x71dfbff200000000, 0x8fa45f9600000000, 0x1a702f0300000000,
+ 0x73539f5f00000000, 0xe687efca00000000, 0x18fc0fae00000000,
+ 0x8d287f3b00000000, 0xcaba6f1700000000, 0x5f6e1f8200000000,
+ 0xa115ffe600000000, 0x34c18f7300000000, 0x5de23f2f00000000,
+ 0xc8364fba00000000, 0x364dafde00000000, 0xa399df4b00000000,
+ 0xb8698e8600000000, 0x2dbdfe1300000000, 0xd3c61e7700000000,
+ 0x46126ee200000000, 0x2f31debe00000000, 0xbae5ae2b00000000,
+ 0x449e4e4f00000000, 0xd14a3eda00000000, 0x96d82ef600000000,
+ 0x030c5e6300000000, 0xfd77be0700000000, 0x68a3ce9200000000,
+ 0x01807ece00000000, 0x94540e5b00000000, 0x6a2fee3f00000000,
+ 0xfffb9eaa00000000, 0x1dc93c7e00000000, 0x881d4ceb00000000,
+ 0x7666ac8f00000000, 0xe3b2dc1a00000000, 0x8a916c4600000000,
+ 0x1f451cd300000000, 0xe13efcb700000000, 0x74ea8c2200000000,
+ 0x33789c0e00000000, 0xa6acec9b00000000, 0x58d70cff00000000,
+ 0xcd037c6a00000000, 0xa420cc3600000000, 0x31f4bca300000000,
+ 0xcf8f5cc700000000, 0x5a5b2c5200000000, 0x41ab7d9f00000000,
+ 0xd47f0d0a00000000, 0x2a04ed6e00000000, 0xbfd09dfb00000000,
+ 0xd6f32da700000000, 0x43275d3200000000, 0xbd5cbd5600000000,
+ 0x2888cdc300000000, 0x6f1addef00000000, 0xfacead7a00000000,
+ 0x04b54d1e00000000, 0x91613d8b00000000, 0xf8428dd700000000,
+ 0x6d96fd4200000000, 0x93ed1d2600000000, 0x06396db300000000,
+ 0x168e285400000000, 0x835a58c100000000, 0x7d21b8a500000000,
+ 0xe8f5c83000000000, 0x81d6786c00000000, 0x140208f900000000,
+ 0xea79e89d00000000, 0x7fad980800000000, 0x383f882400000000,
+ 0xadebf8b100000000, 0x539018d500000000, 0xc644684000000000,
+ 0xaf67d81c00000000, 0x3ab3a88900000000, 0xc4c848ed00000000,
+ 0x511c387800000000, 0x4aec69b500000000, 0xdf38192000000000,
+ 0x2143f94400000000, 0xb49789d100000000, 0xddb4398d00000000,
+ 0x4860491800000000, 0xb61ba97c00000000, 0x23cfd9e900000000,
+ 0x645dc9c500000000, 0xf189b95000000000, 0x0ff2593400000000,
+ 0x9a2629a100000000, 0xf30599fd00000000, 0x66d1e96800000000,
+ 0x98aa090c00000000, 0x0d7e799900000000, 0xef4cdb4d00000000,
+ 0x7a98abd800000000, 0x84e34bbc00000000, 0x11373b2900000000,
+ 0x78148b7500000000, 0xedc0fbe000000000, 0x13bb1b8400000000,
+ 0x866f6b1100000000, 0xc1fd7b3d00000000, 0x54290ba800000000,
+ 0xaa52ebcc00000000, 0x3f869b5900000000, 0x56a52b0500000000,
+ 0xc3715b9000000000, 0x3d0abbf400000000, 0xa8decb6100000000,
+ 0xb32e9aac00000000, 0x26faea3900000000, 0xd8810a5d00000000,
+ 0x4d557ac800000000, 0x2476ca9400000000, 0xb1a2ba0100000000,
+ 0x4fd95a6500000000, 0xda0d2af000000000, 0x9d9f3adc00000000,
+ 0x084b4a4900000000, 0xf630aa2d00000000, 0x63e4dab800000000,
+ 0x0ac76ae400000000, 0x9f131a7100000000, 0x6168fa1500000000,
+ 0xf4bc8a8000000000},
+ {0x0000000000000000, 0x1f17f08000000000, 0x7f2891da00000000,
+ 0x603f615a00000000, 0xbf56536e00000000, 0xa041a3ee00000000,
+ 0xc07ec2b400000000, 0xdf69323400000000, 0x7eada6dc00000000,
+ 0x61ba565c00000000, 0x0185370600000000, 0x1e92c78600000000,
+ 0xc1fbf5b200000000, 0xdeec053200000000, 0xbed3646800000000,
+ 0xa1c494e800000000, 0xbd5c3c6200000000, 0xa24bcce200000000,
+ 0xc274adb800000000, 0xdd635d3800000000, 0x020a6f0c00000000,
+ 0x1d1d9f8c00000000, 0x7d22fed600000000, 0x62350e5600000000,
+ 0xc3f19abe00000000, 0xdce66a3e00000000, 0xbcd90b6400000000,
+ 0xa3cefbe400000000, 0x7ca7c9d000000000, 0x63b0395000000000,
+ 0x038f580a00000000, 0x1c98a88a00000000, 0x7ab978c400000000,
+ 0x65ae884400000000, 0x0591e91e00000000, 0x1a86199e00000000,
+ 0xc5ef2baa00000000, 0xdaf8db2a00000000, 0xbac7ba7000000000,
+ 0xa5d04af000000000, 0x0414de1800000000, 0x1b032e9800000000,
+ 0x7b3c4fc200000000, 0x642bbf4200000000, 0xbb428d7600000000,
+ 0xa4557df600000000, 0xc46a1cac00000000, 0xdb7dec2c00000000,
+ 0xc7e544a600000000, 0xd8f2b42600000000, 0xb8cdd57c00000000,
+ 0xa7da25fc00000000, 0x78b317c800000000, 0x67a4e74800000000,
+ 0x079b861200000000, 0x188c769200000000, 0xb948e27a00000000,
+ 0xa65f12fa00000000, 0xc66073a000000000, 0xd977832000000000,
+ 0x061eb11400000000, 0x1909419400000000, 0x793620ce00000000,
+ 0x6621d04e00000000, 0xb574805300000000, 0xaa6370d300000000,
+ 0xca5c118900000000, 0xd54be10900000000, 0x0a22d33d00000000,
+ 0x153523bd00000000, 0x750a42e700000000, 0x6a1db26700000000,
+ 0xcbd9268f00000000, 0xd4ced60f00000000, 0xb4f1b75500000000,
+ 0xabe647d500000000, 0x748f75e100000000, 0x6b98856100000000,
+ 0x0ba7e43b00000000, 0x14b014bb00000000, 0x0828bc3100000000,
+ 0x173f4cb100000000, 0x77002deb00000000, 0x6817dd6b00000000,
+ 0xb77eef5f00000000, 0xa8691fdf00000000, 0xc8567e8500000000,
+ 0xd7418e0500000000, 0x76851aed00000000, 0x6992ea6d00000000,
+ 0x09ad8b3700000000, 0x16ba7bb700000000, 0xc9d3498300000000,
+ 0xd6c4b90300000000, 0xb6fbd85900000000, 0xa9ec28d900000000,
+ 0xcfcdf89700000000, 0xd0da081700000000, 0xb0e5694d00000000,
+ 0xaff299cd00000000, 0x709babf900000000, 0x6f8c5b7900000000,
+ 0x0fb33a2300000000, 0x10a4caa300000000, 0xb1605e4b00000000,
+ 0xae77aecb00000000, 0xce48cf9100000000, 0xd15f3f1100000000,
+ 0x0e360d2500000000, 0x1121fda500000000, 0x711e9cff00000000,
+ 0x6e096c7f00000000, 0x7291c4f500000000, 0x6d86347500000000,
+ 0x0db9552f00000000, 0x12aea5af00000000, 0xcdc7979b00000000,
+ 0xd2d0671b00000000, 0xb2ef064100000000, 0xadf8f6c100000000,
+ 0x0c3c622900000000, 0x132b92a900000000, 0x7314f3f300000000,
+ 0x6c03037300000000, 0xb36a314700000000, 0xac7dc1c700000000,
+ 0xcc42a09d00000000, 0xd355501d00000000, 0x6ae900a700000000,
+ 0x75fef02700000000, 0x15c1917d00000000, 0x0ad661fd00000000,
+ 0xd5bf53c900000000, 0xcaa8a34900000000, 0xaa97c21300000000,
+ 0xb580329300000000, 0x1444a67b00000000, 0x0b5356fb00000000,
+ 0x6b6c37a100000000, 0x747bc72100000000, 0xab12f51500000000,
+ 0xb405059500000000, 0xd43a64cf00000000, 0xcb2d944f00000000,
+ 0xd7b53cc500000000, 0xc8a2cc4500000000, 0xa89dad1f00000000,
+ 0xb78a5d9f00000000, 0x68e36fab00000000, 0x77f49f2b00000000,
+ 0x17cbfe7100000000, 0x08dc0ef100000000, 0xa9189a1900000000,
+ 0xb60f6a9900000000, 0xd6300bc300000000, 0xc927fb4300000000,
+ 0x164ec97700000000, 0x095939f700000000, 0x696658ad00000000,
+ 0x7671a82d00000000, 0x1050786300000000, 0x0f4788e300000000,
+ 0x6f78e9b900000000, 0x706f193900000000, 0xaf062b0d00000000,
+ 0xb011db8d00000000, 0xd02ebad700000000, 0xcf394a5700000000,
+ 0x6efddebf00000000, 0x71ea2e3f00000000, 0x11d54f6500000000,
+ 0x0ec2bfe500000000, 0xd1ab8dd100000000, 0xcebc7d5100000000,
+ 0xae831c0b00000000, 0xb194ec8b00000000, 0xad0c440100000000,
+ 0xb21bb48100000000, 0xd224d5db00000000, 0xcd33255b00000000,
+ 0x125a176f00000000, 0x0d4de7ef00000000, 0x6d7286b500000000,
+ 0x7265763500000000, 0xd3a1e2dd00000000, 0xccb6125d00000000,
+ 0xac89730700000000, 0xb39e838700000000, 0x6cf7b1b300000000,
+ 0x73e0413300000000, 0x13df206900000000, 0x0cc8d0e900000000,
+ 0xdf9d80f400000000, 0xc08a707400000000, 0xa0b5112e00000000,
+ 0xbfa2e1ae00000000, 0x60cbd39a00000000, 0x7fdc231a00000000,
+ 0x1fe3424000000000, 0x00f4b2c000000000, 0xa130262800000000,
+ 0xbe27d6a800000000, 0xde18b7f200000000, 0xc10f477200000000,
+ 0x1e66754600000000, 0x017185c600000000, 0x614ee49c00000000,
+ 0x7e59141c00000000, 0x62c1bc9600000000, 0x7dd64c1600000000,
+ 0x1de92d4c00000000, 0x02feddcc00000000, 0xdd97eff800000000,
+ 0xc2801f7800000000, 0xa2bf7e2200000000, 0xbda88ea200000000,
+ 0x1c6c1a4a00000000, 0x037beaca00000000, 0x63448b9000000000,
+ 0x7c537b1000000000, 0xa33a492400000000, 0xbc2db9a400000000,
+ 0xdc12d8fe00000000, 0xc305287e00000000, 0xa524f83000000000,
+ 0xba3308b000000000, 0xda0c69ea00000000, 0xc51b996a00000000,
+ 0x1a72ab5e00000000, 0x05655bde00000000, 0x655a3a8400000000,
+ 0x7a4dca0400000000, 0xdb895eec00000000, 0xc49eae6c00000000,
+ 0xa4a1cf3600000000, 0xbbb63fb600000000, 0x64df0d8200000000,
+ 0x7bc8fd0200000000, 0x1bf79c5800000000, 0x04e06cd800000000,
+ 0x1878c45200000000, 0x076f34d200000000, 0x6750558800000000,
+ 0x7847a50800000000, 0xa72e973c00000000, 0xb83967bc00000000,
+ 0xd80606e600000000, 0xc711f66600000000, 0x66d5628e00000000,
+ 0x79c2920e00000000, 0x19fdf35400000000, 0x06ea03d400000000,
+ 0xd98331e000000000, 0xc694c16000000000, 0xa6aba03a00000000,
+ 0xb9bc50ba00000000},
+ {0x0000000000000000, 0xe2fd888d00000000, 0x85fd60c000000000,
+ 0x6700e84d00000000, 0x4bfdb05b00000000, 0xa90038d600000000,
+ 0xce00d09b00000000, 0x2cfd581600000000, 0x96fa61b700000000,
+ 0x7407e93a00000000, 0x1307017700000000, 0xf1fa89fa00000000,
+ 0xdd07d1ec00000000, 0x3ffa596100000000, 0x58fab12c00000000,
+ 0xba0739a100000000, 0x6df3b2b500000000, 0x8f0e3a3800000000,
+ 0xe80ed27500000000, 0x0af35af800000000, 0x260e02ee00000000,
+ 0xc4f38a6300000000, 0xa3f3622e00000000, 0x410eeaa300000000,
+ 0xfb09d30200000000, 0x19f45b8f00000000, 0x7ef4b3c200000000,
+ 0x9c093b4f00000000, 0xb0f4635900000000, 0x5209ebd400000000,
+ 0x3509039900000000, 0xd7f48b1400000000, 0x9be014b000000000,
+ 0x791d9c3d00000000, 0x1e1d747000000000, 0xfce0fcfd00000000,
+ 0xd01da4eb00000000, 0x32e02c6600000000, 0x55e0c42b00000000,
+ 0xb71d4ca600000000, 0x0d1a750700000000, 0xefe7fd8a00000000,
+ 0x88e715c700000000, 0x6a1a9d4a00000000, 0x46e7c55c00000000,
+ 0xa41a4dd100000000, 0xc31aa59c00000000, 0x21e72d1100000000,
+ 0xf613a60500000000, 0x14ee2e8800000000, 0x73eec6c500000000,
+ 0x91134e4800000000, 0xbdee165e00000000, 0x5f139ed300000000,
+ 0x3813769e00000000, 0xdaeefe1300000000, 0x60e9c7b200000000,
+ 0x82144f3f00000000, 0xe514a77200000000, 0x07e92fff00000000,
+ 0x2b1477e900000000, 0xc9e9ff6400000000, 0xaee9172900000000,
+ 0x4c149fa400000000, 0x77c758bb00000000, 0x953ad03600000000,
+ 0xf23a387b00000000, 0x10c7b0f600000000, 0x3c3ae8e000000000,
+ 0xdec7606d00000000, 0xb9c7882000000000, 0x5b3a00ad00000000,
+ 0xe13d390c00000000, 0x03c0b18100000000, 0x64c059cc00000000,
+ 0x863dd14100000000, 0xaac0895700000000, 0x483d01da00000000,
+ 0x2f3de99700000000, 0xcdc0611a00000000, 0x1a34ea0e00000000,
+ 0xf8c9628300000000, 0x9fc98ace00000000, 0x7d34024300000000,
+ 0x51c95a5500000000, 0xb334d2d800000000, 0xd4343a9500000000,
+ 0x36c9b21800000000, 0x8cce8bb900000000, 0x6e33033400000000,
+ 0x0933eb7900000000, 0xebce63f400000000, 0xc7333be200000000,
+ 0x25ceb36f00000000, 0x42ce5b2200000000, 0xa033d3af00000000,
+ 0xec274c0b00000000, 0x0edac48600000000, 0x69da2ccb00000000,
+ 0x8b27a44600000000, 0xa7dafc5000000000, 0x452774dd00000000,
+ 0x22279c9000000000, 0xc0da141d00000000, 0x7add2dbc00000000,
+ 0x9820a53100000000, 0xff204d7c00000000, 0x1dddc5f100000000,
+ 0x31209de700000000, 0xd3dd156a00000000, 0xb4ddfd2700000000,
+ 0x562075aa00000000, 0x81d4febe00000000, 0x6329763300000000,
+ 0x04299e7e00000000, 0xe6d416f300000000, 0xca294ee500000000,
+ 0x28d4c66800000000, 0x4fd42e2500000000, 0xad29a6a800000000,
+ 0x172e9f0900000000, 0xf5d3178400000000, 0x92d3ffc900000000,
+ 0x702e774400000000, 0x5cd32f5200000000, 0xbe2ea7df00000000,
+ 0xd92e4f9200000000, 0x3bd3c71f00000000, 0xaf88c0ad00000000,
+ 0x4d75482000000000, 0x2a75a06d00000000, 0xc88828e000000000,
+ 0xe47570f600000000, 0x0688f87b00000000, 0x6188103600000000,
+ 0x837598bb00000000, 0x3972a11a00000000, 0xdb8f299700000000,
+ 0xbc8fc1da00000000, 0x5e72495700000000, 0x728f114100000000,
+ 0x907299cc00000000, 0xf772718100000000, 0x158ff90c00000000,
+ 0xc27b721800000000, 0x2086fa9500000000, 0x478612d800000000,
+ 0xa57b9a5500000000, 0x8986c24300000000, 0x6b7b4ace00000000,
+ 0x0c7ba28300000000, 0xee862a0e00000000, 0x548113af00000000,
+ 0xb67c9b2200000000, 0xd17c736f00000000, 0x3381fbe200000000,
+ 0x1f7ca3f400000000, 0xfd812b7900000000, 0x9a81c33400000000,
+ 0x787c4bb900000000, 0x3468d41d00000000, 0xd6955c9000000000,
+ 0xb195b4dd00000000, 0x53683c5000000000, 0x7f95644600000000,
+ 0x9d68eccb00000000, 0xfa68048600000000, 0x18958c0b00000000,
+ 0xa292b5aa00000000, 0x406f3d2700000000, 0x276fd56a00000000,
+ 0xc5925de700000000, 0xe96f05f100000000, 0x0b928d7c00000000,
+ 0x6c92653100000000, 0x8e6fedbc00000000, 0x599b66a800000000,
+ 0xbb66ee2500000000, 0xdc66066800000000, 0x3e9b8ee500000000,
+ 0x1266d6f300000000, 0xf09b5e7e00000000, 0x979bb63300000000,
+ 0x75663ebe00000000, 0xcf61071f00000000, 0x2d9c8f9200000000,
+ 0x4a9c67df00000000, 0xa861ef5200000000, 0x849cb74400000000,
+ 0x66613fc900000000, 0x0161d78400000000, 0xe39c5f0900000000,
+ 0xd84f981600000000, 0x3ab2109b00000000, 0x5db2f8d600000000,
+ 0xbf4f705b00000000, 0x93b2284d00000000, 0x714fa0c000000000,
+ 0x164f488d00000000, 0xf4b2c00000000000, 0x4eb5f9a100000000,
+ 0xac48712c00000000, 0xcb48996100000000, 0x29b511ec00000000,
+ 0x054849fa00000000, 0xe7b5c17700000000, 0x80b5293a00000000,
+ 0x6248a1b700000000, 0xb5bc2aa300000000, 0x5741a22e00000000,
+ 0x30414a6300000000, 0xd2bcc2ee00000000, 0xfe419af800000000,
+ 0x1cbc127500000000, 0x7bbcfa3800000000, 0x994172b500000000,
+ 0x23464b1400000000, 0xc1bbc39900000000, 0xa6bb2bd400000000,
+ 0x4446a35900000000, 0x68bbfb4f00000000, 0x8a4673c200000000,
+ 0xed469b8f00000000, 0x0fbb130200000000, 0x43af8ca600000000,
+ 0xa152042b00000000, 0xc652ec6600000000, 0x24af64eb00000000,
+ 0x08523cfd00000000, 0xeaafb47000000000, 0x8daf5c3d00000000,
+ 0x6f52d4b000000000, 0xd555ed1100000000, 0x37a8659c00000000,
+ 0x50a88dd100000000, 0xb255055c00000000, 0x9ea85d4a00000000,
+ 0x7c55d5c700000000, 0x1b553d8a00000000, 0xf9a8b50700000000,
+ 0x2e5c3e1300000000, 0xcca1b69e00000000, 0xaba15ed300000000,
+ 0x495cd65e00000000, 0x65a18e4800000000, 0x875c06c500000000,
+ 0xe05cee8800000000, 0x02a1660500000000, 0xb8a65fa400000000,
+ 0x5a5bd72900000000, 0x3d5b3f6400000000, 0xdfa6b7e900000000,
+ 0xf35befff00000000, 0x11a6677200000000, 0x76a68f3f00000000,
+ 0x945b07b200000000},
+ {0x0000000000000000, 0xa90b894e00000000, 0x5217129d00000000,
+ 0xfb1c9bd300000000, 0xe52855e100000000, 0x4c23dcaf00000000,
+ 0xb73f477c00000000, 0x1e34ce3200000000, 0x8b57db1900000000,
+ 0x225c525700000000, 0xd940c98400000000, 0x704b40ca00000000,
+ 0x6e7f8ef800000000, 0xc77407b600000000, 0x3c689c6500000000,
+ 0x9563152b00000000, 0x16afb63300000000, 0xbfa43f7d00000000,
+ 0x44b8a4ae00000000, 0xedb32de000000000, 0xf387e3d200000000,
+ 0x5a8c6a9c00000000, 0xa190f14f00000000, 0x089b780100000000,
+ 0x9df86d2a00000000, 0x34f3e46400000000, 0xcfef7fb700000000,
+ 0x66e4f6f900000000, 0x78d038cb00000000, 0xd1dbb18500000000,
+ 0x2ac72a5600000000, 0x83cca31800000000, 0x2c5e6d6700000000,
+ 0x8555e42900000000, 0x7e497ffa00000000, 0xd742f6b400000000,
+ 0xc976388600000000, 0x607db1c800000000, 0x9b612a1b00000000,
+ 0x326aa35500000000, 0xa709b67e00000000, 0x0e023f3000000000,
+ 0xf51ea4e300000000, 0x5c152dad00000000, 0x4221e39f00000000,
+ 0xeb2a6ad100000000, 0x1036f10200000000, 0xb93d784c00000000,
+ 0x3af1db5400000000, 0x93fa521a00000000, 0x68e6c9c900000000,
+ 0xc1ed408700000000, 0xdfd98eb500000000, 0x76d207fb00000000,
+ 0x8dce9c2800000000, 0x24c5156600000000, 0xb1a6004d00000000,
+ 0x18ad890300000000, 0xe3b112d000000000, 0x4aba9b9e00000000,
+ 0x548e55ac00000000, 0xfd85dce200000000, 0x0699473100000000,
+ 0xaf92ce7f00000000, 0x58bcdace00000000, 0xf1b7538000000000,
+ 0x0aabc85300000000, 0xa3a0411d00000000, 0xbd948f2f00000000,
+ 0x149f066100000000, 0xef839db200000000, 0x468814fc00000000,
+ 0xd3eb01d700000000, 0x7ae0889900000000, 0x81fc134a00000000,
+ 0x28f79a0400000000, 0x36c3543600000000, 0x9fc8dd7800000000,
+ 0x64d446ab00000000, 0xcddfcfe500000000, 0x4e136cfd00000000,
+ 0xe718e5b300000000, 0x1c047e6000000000, 0xb50ff72e00000000,
+ 0xab3b391c00000000, 0x0230b05200000000, 0xf92c2b8100000000,
+ 0x5027a2cf00000000, 0xc544b7e400000000, 0x6c4f3eaa00000000,
+ 0x9753a57900000000, 0x3e582c3700000000, 0x206ce20500000000,
+ 0x89676b4b00000000, 0x727bf09800000000, 0xdb7079d600000000,
+ 0x74e2b7a900000000, 0xdde93ee700000000, 0x26f5a53400000000,
+ 0x8ffe2c7a00000000, 0x91cae24800000000, 0x38c16b0600000000,
+ 0xc3ddf0d500000000, 0x6ad6799b00000000, 0xffb56cb000000000,
+ 0x56bee5fe00000000, 0xada27e2d00000000, 0x04a9f76300000000,
+ 0x1a9d395100000000, 0xb396b01f00000000, 0x488a2bcc00000000,
+ 0xe181a28200000000, 0x624d019a00000000, 0xcb4688d400000000,
+ 0x305a130700000000, 0x99519a4900000000, 0x8765547b00000000,
+ 0x2e6edd3500000000, 0xd57246e600000000, 0x7c79cfa800000000,
+ 0xe91ada8300000000, 0x401153cd00000000, 0xbb0dc81e00000000,
+ 0x1206415000000000, 0x0c328f6200000000, 0xa539062c00000000,
+ 0x5e259dff00000000, 0xf72e14b100000000, 0xf17ec44600000000,
+ 0x58754d0800000000, 0xa369d6db00000000, 0x0a625f9500000000,
+ 0x145691a700000000, 0xbd5d18e900000000, 0x4641833a00000000,
+ 0xef4a0a7400000000, 0x7a291f5f00000000, 0xd322961100000000,
+ 0x283e0dc200000000, 0x8135848c00000000, 0x9f014abe00000000,
+ 0x360ac3f000000000, 0xcd16582300000000, 0x641dd16d00000000,
+ 0xe7d1727500000000, 0x4edafb3b00000000, 0xb5c660e800000000,
+ 0x1ccde9a600000000, 0x02f9279400000000, 0xabf2aeda00000000,
+ 0x50ee350900000000, 0xf9e5bc4700000000, 0x6c86a96c00000000,
+ 0xc58d202200000000, 0x3e91bbf100000000, 0x979a32bf00000000,
+ 0x89aefc8d00000000, 0x20a575c300000000, 0xdbb9ee1000000000,
+ 0x72b2675e00000000, 0xdd20a92100000000, 0x742b206f00000000,
+ 0x8f37bbbc00000000, 0x263c32f200000000, 0x3808fcc000000000,
+ 0x9103758e00000000, 0x6a1fee5d00000000, 0xc314671300000000,
+ 0x5677723800000000, 0xff7cfb7600000000, 0x046060a500000000,
+ 0xad6be9eb00000000, 0xb35f27d900000000, 0x1a54ae9700000000,
+ 0xe148354400000000, 0x4843bc0a00000000, 0xcb8f1f1200000000,
+ 0x6284965c00000000, 0x99980d8f00000000, 0x309384c100000000,
+ 0x2ea74af300000000, 0x87acc3bd00000000, 0x7cb0586e00000000,
+ 0xd5bbd12000000000, 0x40d8c40b00000000, 0xe9d34d4500000000,
+ 0x12cfd69600000000, 0xbbc45fd800000000, 0xa5f091ea00000000,
+ 0x0cfb18a400000000, 0xf7e7837700000000, 0x5eec0a3900000000,
+ 0xa9c21e8800000000, 0x00c997c600000000, 0xfbd50c1500000000,
+ 0x52de855b00000000, 0x4cea4b6900000000, 0xe5e1c22700000000,
+ 0x1efd59f400000000, 0xb7f6d0ba00000000, 0x2295c59100000000,
+ 0x8b9e4cdf00000000, 0x7082d70c00000000, 0xd9895e4200000000,
+ 0xc7bd907000000000, 0x6eb6193e00000000, 0x95aa82ed00000000,
+ 0x3ca10ba300000000, 0xbf6da8bb00000000, 0x166621f500000000,
+ 0xed7aba2600000000, 0x4471336800000000, 0x5a45fd5a00000000,
+ 0xf34e741400000000, 0x0852efc700000000, 0xa159668900000000,
+ 0x343a73a200000000, 0x9d31faec00000000, 0x662d613f00000000,
+ 0xcf26e87100000000, 0xd112264300000000, 0x7819af0d00000000,
+ 0x830534de00000000, 0x2a0ebd9000000000, 0x859c73ef00000000,
+ 0x2c97faa100000000, 0xd78b617200000000, 0x7e80e83c00000000,
+ 0x60b4260e00000000, 0xc9bfaf4000000000, 0x32a3349300000000,
+ 0x9ba8bddd00000000, 0x0ecba8f600000000, 0xa7c021b800000000,
+ 0x5cdcba6b00000000, 0xf5d7332500000000, 0xebe3fd1700000000,
+ 0x42e8745900000000, 0xb9f4ef8a00000000, 0x10ff66c400000000,
+ 0x9333c5dc00000000, 0x3a384c9200000000, 0xc124d74100000000,
+ 0x682f5e0f00000000, 0x761b903d00000000, 0xdf10197300000000,
+ 0x240c82a000000000, 0x8d070bee00000000, 0x18641ec500000000,
+ 0xb16f978b00000000, 0x4a730c5800000000, 0xe378851600000000,
+ 0xfd4c4b2400000000, 0x5447c26a00000000, 0xaf5b59b900000000,
+ 0x0650d0f700000000},
+ {0x0000000000000000, 0x479244af00000000, 0xcf22f88500000000,
+ 0x88b0bc2a00000000, 0xdf4381d000000000, 0x98d1c57f00000000,
+ 0x1061795500000000, 0x57f33dfa00000000, 0xff81737a00000000,
+ 0xb81337d500000000, 0x30a38bff00000000, 0x7731cf5000000000,
+ 0x20c2f2aa00000000, 0x6750b60500000000, 0xefe00a2f00000000,
+ 0xa8724e8000000000, 0xfe03e7f400000000, 0xb991a35b00000000,
+ 0x31211f7100000000, 0x76b35bde00000000, 0x2140662400000000,
+ 0x66d2228b00000000, 0xee629ea100000000, 0xa9f0da0e00000000,
+ 0x0182948e00000000, 0x4610d02100000000, 0xcea06c0b00000000,
+ 0x893228a400000000, 0xdec1155e00000000, 0x995351f100000000,
+ 0x11e3eddb00000000, 0x5671a97400000000, 0xbd01bf3200000000,
+ 0xfa93fb9d00000000, 0x722347b700000000, 0x35b1031800000000,
+ 0x62423ee200000000, 0x25d07a4d00000000, 0xad60c66700000000,
+ 0xeaf282c800000000, 0x4280cc4800000000, 0x051288e700000000,
+ 0x8da234cd00000000, 0xca30706200000000, 0x9dc34d9800000000,
+ 0xda51093700000000, 0x52e1b51d00000000, 0x1573f1b200000000,
+ 0x430258c600000000, 0x04901c6900000000, 0x8c20a04300000000,
+ 0xcbb2e4ec00000000, 0x9c41d91600000000, 0xdbd39db900000000,
+ 0x5363219300000000, 0x14f1653c00000000, 0xbc832bbc00000000,
+ 0xfb116f1300000000, 0x73a1d33900000000, 0x3433979600000000,
+ 0x63c0aa6c00000000, 0x2452eec300000000, 0xace252e900000000,
+ 0xeb70164600000000, 0x7a037e6500000000, 0x3d913aca00000000,
+ 0xb52186e000000000, 0xf2b3c24f00000000, 0xa540ffb500000000,
+ 0xe2d2bb1a00000000, 0x6a62073000000000, 0x2df0439f00000000,
+ 0x85820d1f00000000, 0xc21049b000000000, 0x4aa0f59a00000000,
+ 0x0d32b13500000000, 0x5ac18ccf00000000, 0x1d53c86000000000,
+ 0x95e3744a00000000, 0xd27130e500000000, 0x8400999100000000,
+ 0xc392dd3e00000000, 0x4b22611400000000, 0x0cb025bb00000000,
+ 0x5b43184100000000, 0x1cd15cee00000000, 0x9461e0c400000000,
+ 0xd3f3a46b00000000, 0x7b81eaeb00000000, 0x3c13ae4400000000,
+ 0xb4a3126e00000000, 0xf33156c100000000, 0xa4c26b3b00000000,
+ 0xe3502f9400000000, 0x6be093be00000000, 0x2c72d71100000000,
+ 0xc702c15700000000, 0x809085f800000000, 0x082039d200000000,
+ 0x4fb27d7d00000000, 0x1841408700000000, 0x5fd3042800000000,
+ 0xd763b80200000000, 0x90f1fcad00000000, 0x3883b22d00000000,
+ 0x7f11f68200000000, 0xf7a14aa800000000, 0xb0330e0700000000,
+ 0xe7c033fd00000000, 0xa052775200000000, 0x28e2cb7800000000,
+ 0x6f708fd700000000, 0x390126a300000000, 0x7e93620c00000000,
+ 0xf623de2600000000, 0xb1b19a8900000000, 0xe642a77300000000,
+ 0xa1d0e3dc00000000, 0x29605ff600000000, 0x6ef21b5900000000,
+ 0xc68055d900000000, 0x8112117600000000, 0x09a2ad5c00000000,
+ 0x4e30e9f300000000, 0x19c3d40900000000, 0x5e5190a600000000,
+ 0xd6e12c8c00000000, 0x9173682300000000, 0xf406fcca00000000,
+ 0xb394b86500000000, 0x3b24044f00000000, 0x7cb640e000000000,
+ 0x2b457d1a00000000, 0x6cd739b500000000, 0xe467859f00000000,
+ 0xa3f5c13000000000, 0x0b878fb000000000, 0x4c15cb1f00000000,
+ 0xc4a5773500000000, 0x8337339a00000000, 0xd4c40e6000000000,
+ 0x93564acf00000000, 0x1be6f6e500000000, 0x5c74b24a00000000,
+ 0x0a051b3e00000000, 0x4d975f9100000000, 0xc527e3bb00000000,
+ 0x82b5a71400000000, 0xd5469aee00000000, 0x92d4de4100000000,
+ 0x1a64626b00000000, 0x5df626c400000000, 0xf584684400000000,
+ 0xb2162ceb00000000, 0x3aa690c100000000, 0x7d34d46e00000000,
+ 0x2ac7e99400000000, 0x6d55ad3b00000000, 0xe5e5111100000000,
+ 0xa27755be00000000, 0x490743f800000000, 0x0e95075700000000,
+ 0x8625bb7d00000000, 0xc1b7ffd200000000, 0x9644c22800000000,
+ 0xd1d6868700000000, 0x59663aad00000000, 0x1ef47e0200000000,
+ 0xb686308200000000, 0xf114742d00000000, 0x79a4c80700000000,
+ 0x3e368ca800000000, 0x69c5b15200000000, 0x2e57f5fd00000000,
+ 0xa6e749d700000000, 0xe1750d7800000000, 0xb704a40c00000000,
+ 0xf096e0a300000000, 0x78265c8900000000, 0x3fb4182600000000,
+ 0x684725dc00000000, 0x2fd5617300000000, 0xa765dd5900000000,
+ 0xe0f799f600000000, 0x4885d77600000000, 0x0f1793d900000000,
+ 0x87a72ff300000000, 0xc0356b5c00000000, 0x97c656a600000000,
+ 0xd054120900000000, 0x58e4ae2300000000, 0x1f76ea8c00000000,
+ 0x8e0582af00000000, 0xc997c60000000000, 0x41277a2a00000000,
+ 0x06b53e8500000000, 0x5146037f00000000, 0x16d447d000000000,
+ 0x9e64fbfa00000000, 0xd9f6bf5500000000, 0x7184f1d500000000,
+ 0x3616b57a00000000, 0xbea6095000000000, 0xf9344dff00000000,
+ 0xaec7700500000000, 0xe95534aa00000000, 0x61e5888000000000,
+ 0x2677cc2f00000000, 0x7006655b00000000, 0x379421f400000000,
+ 0xbf249dde00000000, 0xf8b6d97100000000, 0xaf45e48b00000000,
+ 0xe8d7a02400000000, 0x60671c0e00000000, 0x27f558a100000000,
+ 0x8f87162100000000, 0xc815528e00000000, 0x40a5eea400000000,
+ 0x0737aa0b00000000, 0x50c497f100000000, 0x1756d35e00000000,
+ 0x9fe66f7400000000, 0xd8742bdb00000000, 0x33043d9d00000000,
+ 0x7496793200000000, 0xfc26c51800000000, 0xbbb481b700000000,
+ 0xec47bc4d00000000, 0xabd5f8e200000000, 0x236544c800000000,
+ 0x64f7006700000000, 0xcc854ee700000000, 0x8b170a4800000000,
+ 0x03a7b66200000000, 0x4435f2cd00000000, 0x13c6cf3700000000,
+ 0x54548b9800000000, 0xdce437b200000000, 0x9b76731d00000000,
+ 0xcd07da6900000000, 0x8a959ec600000000, 0x022522ec00000000,
+ 0x45b7664300000000, 0x12445bb900000000, 0x55d61f1600000000,
+ 0xdd66a33c00000000, 0x9af4e79300000000, 0x3286a91300000000,
+ 0x7514edbc00000000, 0xfda4519600000000, 0xba36153900000000,
+ 0xedc528c300000000, 0xaa576c6c00000000, 0x22e7d04600000000,
+ 0x657594e900000000}};
+
+#else /* W == 4 */
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0x65673b46, 0xcace768c, 0xafa94dca, 0x4eedeb59,
+ 0x2b8ad01f, 0x84239dd5, 0xe144a693, 0x9ddbd6b2, 0xf8bcedf4,
+ 0x5715a03e, 0x32729b78, 0xd3363deb, 0xb65106ad, 0x19f84b67,
+ 0x7c9f7021, 0xe0c6ab25, 0x85a19063, 0x2a08dda9, 0x4f6fe6ef,
+ 0xae2b407c, 0xcb4c7b3a, 0x64e536f0, 0x01820db6, 0x7d1d7d97,
+ 0x187a46d1, 0xb7d30b1b, 0xd2b4305d, 0x33f096ce, 0x5697ad88,
+ 0xf93ee042, 0x9c59db04, 0x1afc500b, 0x7f9b6b4d, 0xd0322687,
+ 0xb5551dc1, 0x5411bb52, 0x31768014, 0x9edfcdde, 0xfbb8f698,
+ 0x872786b9, 0xe240bdff, 0x4de9f035, 0x288ecb73, 0xc9ca6de0,
+ 0xacad56a6, 0x03041b6c, 0x6663202a, 0xfa3afb2e, 0x9f5dc068,
+ 0x30f48da2, 0x5593b6e4, 0xb4d71077, 0xd1b02b31, 0x7e1966fb,
+ 0x1b7e5dbd, 0x67e12d9c, 0x028616da, 0xad2f5b10, 0xc8486056,
+ 0x290cc6c5, 0x4c6bfd83, 0xe3c2b049, 0x86a58b0f, 0x35f8a016,
+ 0x509f9b50, 0xff36d69a, 0x9a51eddc, 0x7b154b4f, 0x1e727009,
+ 0xb1db3dc3, 0xd4bc0685, 0xa82376a4, 0xcd444de2, 0x62ed0028,
+ 0x078a3b6e, 0xe6ce9dfd, 0x83a9a6bb, 0x2c00eb71, 0x4967d037,
+ 0xd53e0b33, 0xb0593075, 0x1ff07dbf, 0x7a9746f9, 0x9bd3e06a,
+ 0xfeb4db2c, 0x511d96e6, 0x347aada0, 0x48e5dd81, 0x2d82e6c7,
+ 0x822bab0d, 0xe74c904b, 0x060836d8, 0x636f0d9e, 0xccc64054,
+ 0xa9a17b12, 0x2f04f01d, 0x4a63cb5b, 0xe5ca8691, 0x80adbdd7,
+ 0x61e91b44, 0x048e2002, 0xab276dc8, 0xce40568e, 0xb2df26af,
+ 0xd7b81de9, 0x78115023, 0x1d766b65, 0xfc32cdf6, 0x9955f6b0,
+ 0x36fcbb7a, 0x539b803c, 0xcfc25b38, 0xaaa5607e, 0x050c2db4,
+ 0x606b16f2, 0x812fb061, 0xe4488b27, 0x4be1c6ed, 0x2e86fdab,
+ 0x52198d8a, 0x377eb6cc, 0x98d7fb06, 0xfdb0c040, 0x1cf466d3,
+ 0x79935d95, 0xd63a105f, 0xb35d2b19, 0x6bf1402c, 0x0e967b6a,
+ 0xa13f36a0, 0xc4580de6, 0x251cab75, 0x407b9033, 0xefd2ddf9,
+ 0x8ab5e6bf, 0xf62a969e, 0x934dadd8, 0x3ce4e012, 0x5983db54,
+ 0xb8c77dc7, 0xdda04681, 0x72090b4b, 0x176e300d, 0x8b37eb09,
+ 0xee50d04f, 0x41f99d85, 0x249ea6c3, 0xc5da0050, 0xa0bd3b16,
+ 0x0f1476dc, 0x6a734d9a, 0x16ec3dbb, 0x738b06fd, 0xdc224b37,
+ 0xb9457071, 0x5801d6e2, 0x3d66eda4, 0x92cfa06e, 0xf7a89b28,
+ 0x710d1027, 0x146a2b61, 0xbbc366ab, 0xdea45ded, 0x3fe0fb7e,
+ 0x5a87c038, 0xf52e8df2, 0x9049b6b4, 0xecd6c695, 0x89b1fdd3,
+ 0x2618b019, 0x437f8b5f, 0xa23b2dcc, 0xc75c168a, 0x68f55b40,
+ 0x0d926006, 0x91cbbb02, 0xf4ac8044, 0x5b05cd8e, 0x3e62f6c8,
+ 0xdf26505b, 0xba416b1d, 0x15e826d7, 0x708f1d91, 0x0c106db0,
+ 0x697756f6, 0xc6de1b3c, 0xa3b9207a, 0x42fd86e9, 0x279abdaf,
+ 0x8833f065, 0xed54cb23, 0x5e09e03a, 0x3b6edb7c, 0x94c796b6,
+ 0xf1a0adf0, 0x10e40b63, 0x75833025, 0xda2a7def, 0xbf4d46a9,
+ 0xc3d23688, 0xa6b50dce, 0x091c4004, 0x6c7b7b42, 0x8d3fddd1,
+ 0xe858e697, 0x47f1ab5d, 0x2296901b, 0xbecf4b1f, 0xdba87059,
+ 0x74013d93, 0x116606d5, 0xf022a046, 0x95459b00, 0x3aecd6ca,
+ 0x5f8bed8c, 0x23149dad, 0x4673a6eb, 0xe9daeb21, 0x8cbdd067,
+ 0x6df976f4, 0x089e4db2, 0xa7370078, 0xc2503b3e, 0x44f5b031,
+ 0x21928b77, 0x8e3bc6bd, 0xeb5cfdfb, 0x0a185b68, 0x6f7f602e,
+ 0xc0d62de4, 0xa5b116a2, 0xd92e6683, 0xbc495dc5, 0x13e0100f,
+ 0x76872b49, 0x97c38dda, 0xf2a4b69c, 0x5d0dfb56, 0x386ac010,
+ 0xa4331b14, 0xc1542052, 0x6efd6d98, 0x0b9a56de, 0xeadef04d,
+ 0x8fb9cb0b, 0x201086c1, 0x4577bd87, 0x39e8cda6, 0x5c8ff6e0,
+ 0xf326bb2a, 0x9641806c, 0x770526ff, 0x12621db9, 0xbdcb5073,
+ 0xd8ac6b35},
+ {0x00000000, 0xd7e28058, 0x74b406f1, 0xa35686a9, 0xe9680de2,
+ 0x3e8a8dba, 0x9ddc0b13, 0x4a3e8b4b, 0x09a11d85, 0xde439ddd,
+ 0x7d151b74, 0xaaf79b2c, 0xe0c91067, 0x372b903f, 0x947d1696,
+ 0x439f96ce, 0x13423b0a, 0xc4a0bb52, 0x67f63dfb, 0xb014bda3,
+ 0xfa2a36e8, 0x2dc8b6b0, 0x8e9e3019, 0x597cb041, 0x1ae3268f,
+ 0xcd01a6d7, 0x6e57207e, 0xb9b5a026, 0xf38b2b6d, 0x2469ab35,
+ 0x873f2d9c, 0x50ddadc4, 0x26847614, 0xf166f64c, 0x523070e5,
+ 0x85d2f0bd, 0xcfec7bf6, 0x180efbae, 0xbb587d07, 0x6cbafd5f,
+ 0x2f256b91, 0xf8c7ebc9, 0x5b916d60, 0x8c73ed38, 0xc64d6673,
+ 0x11afe62b, 0xb2f96082, 0x651be0da, 0x35c64d1e, 0xe224cd46,
+ 0x41724bef, 0x9690cbb7, 0xdcae40fc, 0x0b4cc0a4, 0xa81a460d,
+ 0x7ff8c655, 0x3c67509b, 0xeb85d0c3, 0x48d3566a, 0x9f31d632,
+ 0xd50f5d79, 0x02eddd21, 0xa1bb5b88, 0x7659dbd0, 0x4d08ec28,
+ 0x9aea6c70, 0x39bcead9, 0xee5e6a81, 0xa460e1ca, 0x73826192,
+ 0xd0d4e73b, 0x07366763, 0x44a9f1ad, 0x934b71f5, 0x301df75c,
+ 0xe7ff7704, 0xadc1fc4f, 0x7a237c17, 0xd975fabe, 0x0e977ae6,
+ 0x5e4ad722, 0x89a8577a, 0x2afed1d3, 0xfd1c518b, 0xb722dac0,
+ 0x60c05a98, 0xc396dc31, 0x14745c69, 0x57ebcaa7, 0x80094aff,
+ 0x235fcc56, 0xf4bd4c0e, 0xbe83c745, 0x6961471d, 0xca37c1b4,
+ 0x1dd541ec, 0x6b8c9a3c, 0xbc6e1a64, 0x1f389ccd, 0xc8da1c95,
+ 0x82e497de, 0x55061786, 0xf650912f, 0x21b21177, 0x622d87b9,
+ 0xb5cf07e1, 0x16998148, 0xc17b0110, 0x8b458a5b, 0x5ca70a03,
+ 0xfff18caa, 0x28130cf2, 0x78cea136, 0xaf2c216e, 0x0c7aa7c7,
+ 0xdb98279f, 0x91a6acd4, 0x46442c8c, 0xe512aa25, 0x32f02a7d,
+ 0x716fbcb3, 0xa68d3ceb, 0x05dbba42, 0xd2393a1a, 0x9807b151,
+ 0x4fe53109, 0xecb3b7a0, 0x3b5137f8, 0x9a11d850, 0x4df35808,
+ 0xeea5dea1, 0x39475ef9, 0x7379d5b2, 0xa49b55ea, 0x07cdd343,
+ 0xd02f531b, 0x93b0c5d5, 0x4452458d, 0xe704c324, 0x30e6437c,
+ 0x7ad8c837, 0xad3a486f, 0x0e6ccec6, 0xd98e4e9e, 0x8953e35a,
+ 0x5eb16302, 0xfde7e5ab, 0x2a0565f3, 0x603beeb8, 0xb7d96ee0,
+ 0x148fe849, 0xc36d6811, 0x80f2fedf, 0x57107e87, 0xf446f82e,
+ 0x23a47876, 0x699af33d, 0xbe787365, 0x1d2ef5cc, 0xcacc7594,
+ 0xbc95ae44, 0x6b772e1c, 0xc821a8b5, 0x1fc328ed, 0x55fda3a6,
+ 0x821f23fe, 0x2149a557, 0xf6ab250f, 0xb534b3c1, 0x62d63399,
+ 0xc180b530, 0x16623568, 0x5c5cbe23, 0x8bbe3e7b, 0x28e8b8d2,
+ 0xff0a388a, 0xafd7954e, 0x78351516, 0xdb6393bf, 0x0c8113e7,
+ 0x46bf98ac, 0x915d18f4, 0x320b9e5d, 0xe5e91e05, 0xa67688cb,
+ 0x71940893, 0xd2c28e3a, 0x05200e62, 0x4f1e8529, 0x98fc0571,
+ 0x3baa83d8, 0xec480380, 0xd7193478, 0x00fbb420, 0xa3ad3289,
+ 0x744fb2d1, 0x3e71399a, 0xe993b9c2, 0x4ac53f6b, 0x9d27bf33,
+ 0xdeb829fd, 0x095aa9a5, 0xaa0c2f0c, 0x7deeaf54, 0x37d0241f,
+ 0xe032a447, 0x436422ee, 0x9486a2b6, 0xc45b0f72, 0x13b98f2a,
+ 0xb0ef0983, 0x670d89db, 0x2d330290, 0xfad182c8, 0x59870461,
+ 0x8e658439, 0xcdfa12f7, 0x1a1892af, 0xb94e1406, 0x6eac945e,
+ 0x24921f15, 0xf3709f4d, 0x502619e4, 0x87c499bc, 0xf19d426c,
+ 0x267fc234, 0x8529449d, 0x52cbc4c5, 0x18f54f8e, 0xcf17cfd6,
+ 0x6c41497f, 0xbba3c927, 0xf83c5fe9, 0x2fdedfb1, 0x8c885918,
+ 0x5b6ad940, 0x1154520b, 0xc6b6d253, 0x65e054fa, 0xb202d4a2,
+ 0xe2df7966, 0x353df93e, 0x966b7f97, 0x4189ffcf, 0x0bb77484,
+ 0xdc55f4dc, 0x7f037275, 0xa8e1f22d, 0xeb7e64e3, 0x3c9ce4bb,
+ 0x9fca6212, 0x4828e24a, 0x02166901, 0xd5f4e959, 0x76a26ff0,
+ 0xa140efa8},
+ {0x00000000, 0xef52b6e1, 0x05d46b83, 0xea86dd62, 0x0ba8d706,
+ 0xe4fa61e7, 0x0e7cbc85, 0xe12e0a64, 0x1751ae0c, 0xf80318ed,
+ 0x1285c58f, 0xfdd7736e, 0x1cf9790a, 0xf3abcfeb, 0x192d1289,
+ 0xf67fa468, 0x2ea35c18, 0xc1f1eaf9, 0x2b77379b, 0xc425817a,
+ 0x250b8b1e, 0xca593dff, 0x20dfe09d, 0xcf8d567c, 0x39f2f214,
+ 0xd6a044f5, 0x3c269997, 0xd3742f76, 0x325a2512, 0xdd0893f3,
+ 0x378e4e91, 0xd8dcf870, 0x5d46b830, 0xb2140ed1, 0x5892d3b3,
+ 0xb7c06552, 0x56ee6f36, 0xb9bcd9d7, 0x533a04b5, 0xbc68b254,
+ 0x4a17163c, 0xa545a0dd, 0x4fc37dbf, 0xa091cb5e, 0x41bfc13a,
+ 0xaeed77db, 0x446baab9, 0xab391c58, 0x73e5e428, 0x9cb752c9,
+ 0x76318fab, 0x9963394a, 0x784d332e, 0x971f85cf, 0x7d9958ad,
+ 0x92cbee4c, 0x64b44a24, 0x8be6fcc5, 0x616021a7, 0x8e329746,
+ 0x6f1c9d22, 0x804e2bc3, 0x6ac8f6a1, 0x859a4040, 0xba8d7060,
+ 0x55dfc681, 0xbf591be3, 0x500bad02, 0xb125a766, 0x5e771187,
+ 0xb4f1cce5, 0x5ba37a04, 0xaddcde6c, 0x428e688d, 0xa808b5ef,
+ 0x475a030e, 0xa674096a, 0x4926bf8b, 0xa3a062e9, 0x4cf2d408,
+ 0x942e2c78, 0x7b7c9a99, 0x91fa47fb, 0x7ea8f11a, 0x9f86fb7e,
+ 0x70d44d9f, 0x9a5290fd, 0x7500261c, 0x837f8274, 0x6c2d3495,
+ 0x86abe9f7, 0x69f95f16, 0x88d75572, 0x6785e393, 0x8d033ef1,
+ 0x62518810, 0xe7cbc850, 0x08997eb1, 0xe21fa3d3, 0x0d4d1532,
+ 0xec631f56, 0x0331a9b7, 0xe9b774d5, 0x06e5c234, 0xf09a665c,
+ 0x1fc8d0bd, 0xf54e0ddf, 0x1a1cbb3e, 0xfb32b15a, 0x146007bb,
+ 0xfee6dad9, 0x11b46c38, 0xc9689448, 0x263a22a9, 0xccbcffcb,
+ 0x23ee492a, 0xc2c0434e, 0x2d92f5af, 0xc71428cd, 0x28469e2c,
+ 0xde393a44, 0x316b8ca5, 0xdbed51c7, 0x34bfe726, 0xd591ed42,
+ 0x3ac35ba3, 0xd04586c1, 0x3f173020, 0xae6be681, 0x41395060,
+ 0xabbf8d02, 0x44ed3be3, 0xa5c33187, 0x4a918766, 0xa0175a04,
+ 0x4f45ece5, 0xb93a488d, 0x5668fe6c, 0xbcee230e, 0x53bc95ef,
+ 0xb2929f8b, 0x5dc0296a, 0xb746f408, 0x581442e9, 0x80c8ba99,
+ 0x6f9a0c78, 0x851cd11a, 0x6a4e67fb, 0x8b606d9f, 0x6432db7e,
+ 0x8eb4061c, 0x61e6b0fd, 0x97991495, 0x78cba274, 0x924d7f16,
+ 0x7d1fc9f7, 0x9c31c393, 0x73637572, 0x99e5a810, 0x76b71ef1,
+ 0xf32d5eb1, 0x1c7fe850, 0xf6f93532, 0x19ab83d3, 0xf88589b7,
+ 0x17d73f56, 0xfd51e234, 0x120354d5, 0xe47cf0bd, 0x0b2e465c,
+ 0xe1a89b3e, 0x0efa2ddf, 0xefd427bb, 0x0086915a, 0xea004c38,
+ 0x0552fad9, 0xdd8e02a9, 0x32dcb448, 0xd85a692a, 0x3708dfcb,
+ 0xd626d5af, 0x3974634e, 0xd3f2be2c, 0x3ca008cd, 0xcadfaca5,
+ 0x258d1a44, 0xcf0bc726, 0x205971c7, 0xc1777ba3, 0x2e25cd42,
+ 0xc4a31020, 0x2bf1a6c1, 0x14e696e1, 0xfbb42000, 0x1132fd62,
+ 0xfe604b83, 0x1f4e41e7, 0xf01cf706, 0x1a9a2a64, 0xf5c89c85,
+ 0x03b738ed, 0xece58e0c, 0x0663536e, 0xe931e58f, 0x081fefeb,
+ 0xe74d590a, 0x0dcb8468, 0xe2993289, 0x3a45caf9, 0xd5177c18,
+ 0x3f91a17a, 0xd0c3179b, 0x31ed1dff, 0xdebfab1e, 0x3439767c,
+ 0xdb6bc09d, 0x2d1464f5, 0xc246d214, 0x28c00f76, 0xc792b997,
+ 0x26bcb3f3, 0xc9ee0512, 0x2368d870, 0xcc3a6e91, 0x49a02ed1,
+ 0xa6f29830, 0x4c744552, 0xa326f3b3, 0x4208f9d7, 0xad5a4f36,
+ 0x47dc9254, 0xa88e24b5, 0x5ef180dd, 0xb1a3363c, 0x5b25eb5e,
+ 0xb4775dbf, 0x555957db, 0xba0be13a, 0x508d3c58, 0xbfdf8ab9,
+ 0x670372c9, 0x8851c428, 0x62d7194a, 0x8d85afab, 0x6caba5cf,
+ 0x83f9132e, 0x697fce4c, 0x862d78ad, 0x7052dcc5, 0x9f006a24,
+ 0x7586b746, 0x9ad401a7, 0x7bfa0bc3, 0x94a8bd22, 0x7e2e6040,
+ 0x917cd6a1},
+ {0x00000000, 0x87a6cb43, 0xd43c90c7, 0x539a5b84, 0x730827cf,
+ 0xf4aeec8c, 0xa734b708, 0x20927c4b, 0xe6104f9e, 0x61b684dd,
+ 0x322cdf59, 0xb58a141a, 0x95186851, 0x12bea312, 0x4124f896,
+ 0xc68233d5, 0x1751997d, 0x90f7523e, 0xc36d09ba, 0x44cbc2f9,
+ 0x6459beb2, 0xe3ff75f1, 0xb0652e75, 0x37c3e536, 0xf141d6e3,
+ 0x76e71da0, 0x257d4624, 0xa2db8d67, 0x8249f12c, 0x05ef3a6f,
+ 0x567561eb, 0xd1d3aaa8, 0x2ea332fa, 0xa905f9b9, 0xfa9fa23d,
+ 0x7d39697e, 0x5dab1535, 0xda0dde76, 0x899785f2, 0x0e314eb1,
+ 0xc8b37d64, 0x4f15b627, 0x1c8feda3, 0x9b2926e0, 0xbbbb5aab,
+ 0x3c1d91e8, 0x6f87ca6c, 0xe821012f, 0x39f2ab87, 0xbe5460c4,
+ 0xedce3b40, 0x6a68f003, 0x4afa8c48, 0xcd5c470b, 0x9ec61c8f,
+ 0x1960d7cc, 0xdfe2e419, 0x58442f5a, 0x0bde74de, 0x8c78bf9d,
+ 0xaceac3d6, 0x2b4c0895, 0x78d65311, 0xff709852, 0x5d4665f4,
+ 0xdae0aeb7, 0x897af533, 0x0edc3e70, 0x2e4e423b, 0xa9e88978,
+ 0xfa72d2fc, 0x7dd419bf, 0xbb562a6a, 0x3cf0e129, 0x6f6abaad,
+ 0xe8cc71ee, 0xc85e0da5, 0x4ff8c6e6, 0x1c629d62, 0x9bc45621,
+ 0x4a17fc89, 0xcdb137ca, 0x9e2b6c4e, 0x198da70d, 0x391fdb46,
+ 0xbeb91005, 0xed234b81, 0x6a8580c2, 0xac07b317, 0x2ba17854,
+ 0x783b23d0, 0xff9de893, 0xdf0f94d8, 0x58a95f9b, 0x0b33041f,
+ 0x8c95cf5c, 0x73e5570e, 0xf4439c4d, 0xa7d9c7c9, 0x207f0c8a,
+ 0x00ed70c1, 0x874bbb82, 0xd4d1e006, 0x53772b45, 0x95f51890,
+ 0x1253d3d3, 0x41c98857, 0xc66f4314, 0xe6fd3f5f, 0x615bf41c,
+ 0x32c1af98, 0xb56764db, 0x64b4ce73, 0xe3120530, 0xb0885eb4,
+ 0x372e95f7, 0x17bce9bc, 0x901a22ff, 0xc380797b, 0x4426b238,
+ 0x82a481ed, 0x05024aae, 0x5698112a, 0xd13eda69, 0xf1aca622,
+ 0x760a6d61, 0x259036e5, 0xa236fda6, 0xba8ccbe8, 0x3d2a00ab,
+ 0x6eb05b2f, 0xe916906c, 0xc984ec27, 0x4e222764, 0x1db87ce0,
+ 0x9a1eb7a3, 0x5c9c8476, 0xdb3a4f35, 0x88a014b1, 0x0f06dff2,
+ 0x2f94a3b9, 0xa83268fa, 0xfba8337e, 0x7c0ef83d, 0xaddd5295,
+ 0x2a7b99d6, 0x79e1c252, 0xfe470911, 0xded5755a, 0x5973be19,
+ 0x0ae9e59d, 0x8d4f2ede, 0x4bcd1d0b, 0xcc6bd648, 0x9ff18dcc,
+ 0x1857468f, 0x38c53ac4, 0xbf63f187, 0xecf9aa03, 0x6b5f6140,
+ 0x942ff912, 0x13893251, 0x401369d5, 0xc7b5a296, 0xe727dedd,
+ 0x6081159e, 0x331b4e1a, 0xb4bd8559, 0x723fb68c, 0xf5997dcf,
+ 0xa603264b, 0x21a5ed08, 0x01379143, 0x86915a00, 0xd50b0184,
+ 0x52adcac7, 0x837e606f, 0x04d8ab2c, 0x5742f0a8, 0xd0e43beb,
+ 0xf07647a0, 0x77d08ce3, 0x244ad767, 0xa3ec1c24, 0x656e2ff1,
+ 0xe2c8e4b2, 0xb152bf36, 0x36f47475, 0x1666083e, 0x91c0c37d,
+ 0xc25a98f9, 0x45fc53ba, 0xe7caae1c, 0x606c655f, 0x33f63edb,
+ 0xb450f598, 0x94c289d3, 0x13644290, 0x40fe1914, 0xc758d257,
+ 0x01dae182, 0x867c2ac1, 0xd5e67145, 0x5240ba06, 0x72d2c64d,
+ 0xf5740d0e, 0xa6ee568a, 0x21489dc9, 0xf09b3761, 0x773dfc22,
+ 0x24a7a7a6, 0xa3016ce5, 0x839310ae, 0x0435dbed, 0x57af8069,
+ 0xd0094b2a, 0x168b78ff, 0x912db3bc, 0xc2b7e838, 0x4511237b,
+ 0x65835f30, 0xe2259473, 0xb1bfcff7, 0x361904b4, 0xc9699ce6,
+ 0x4ecf57a5, 0x1d550c21, 0x9af3c762, 0xba61bb29, 0x3dc7706a,
+ 0x6e5d2bee, 0xe9fbe0ad, 0x2f79d378, 0xa8df183b, 0xfb4543bf,
+ 0x7ce388fc, 0x5c71f4b7, 0xdbd73ff4, 0x884d6470, 0x0febaf33,
+ 0xde38059b, 0x599eced8, 0x0a04955c, 0x8da25e1f, 0xad302254,
+ 0x2a96e917, 0x790cb293, 0xfeaa79d0, 0x38284a05, 0xbf8e8146,
+ 0xec14dac2, 0x6bb21181, 0x4b206dca, 0xcc86a689, 0x9f1cfd0d,
+ 0x18ba364e}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x00000000, 0x43cba687, 0xc7903cd4, 0x845b9a53, 0xcf270873,
+ 0x8cecaef4, 0x08b734a7, 0x4b7c9220, 0x9e4f10e6, 0xdd84b661,
+ 0x59df2c32, 0x1a148ab5, 0x51681895, 0x12a3be12, 0x96f82441,
+ 0xd53382c6, 0x7d995117, 0x3e52f790, 0xba096dc3, 0xf9c2cb44,
+ 0xb2be5964, 0xf175ffe3, 0x752e65b0, 0x36e5c337, 0xe3d641f1,
+ 0xa01de776, 0x24467d25, 0x678ddba2, 0x2cf14982, 0x6f3aef05,
+ 0xeb617556, 0xa8aad3d1, 0xfa32a32e, 0xb9f905a9, 0x3da29ffa,
+ 0x7e69397d, 0x3515ab5d, 0x76de0dda, 0xf2859789, 0xb14e310e,
+ 0x647db3c8, 0x27b6154f, 0xa3ed8f1c, 0xe026299b, 0xab5abbbb,
+ 0xe8911d3c, 0x6cca876f, 0x2f0121e8, 0x87abf239, 0xc46054be,
+ 0x403bceed, 0x03f0686a, 0x488cfa4a, 0x0b475ccd, 0x8f1cc69e,
+ 0xccd76019, 0x19e4e2df, 0x5a2f4458, 0xde74de0b, 0x9dbf788c,
+ 0xd6c3eaac, 0x95084c2b, 0x1153d678, 0x529870ff, 0xf465465d,
+ 0xb7aee0da, 0x33f57a89, 0x703edc0e, 0x3b424e2e, 0x7889e8a9,
+ 0xfcd272fa, 0xbf19d47d, 0x6a2a56bb, 0x29e1f03c, 0xadba6a6f,
+ 0xee71cce8, 0xa50d5ec8, 0xe6c6f84f, 0x629d621c, 0x2156c49b,
+ 0x89fc174a, 0xca37b1cd, 0x4e6c2b9e, 0x0da78d19, 0x46db1f39,
+ 0x0510b9be, 0x814b23ed, 0xc280856a, 0x17b307ac, 0x5478a12b,
+ 0xd0233b78, 0x93e89dff, 0xd8940fdf, 0x9b5fa958, 0x1f04330b,
+ 0x5ccf958c, 0x0e57e573, 0x4d9c43f4, 0xc9c7d9a7, 0x8a0c7f20,
+ 0xc170ed00, 0x82bb4b87, 0x06e0d1d4, 0x452b7753, 0x9018f595,
+ 0xd3d35312, 0x5788c941, 0x14436fc6, 0x5f3ffde6, 0x1cf45b61,
+ 0x98afc132, 0xdb6467b5, 0x73ceb464, 0x300512e3, 0xb45e88b0,
+ 0xf7952e37, 0xbce9bc17, 0xff221a90, 0x7b7980c3, 0x38b22644,
+ 0xed81a482, 0xae4a0205, 0x2a119856, 0x69da3ed1, 0x22a6acf1,
+ 0x616d0a76, 0xe5369025, 0xa6fd36a2, 0xe8cb8cba, 0xab002a3d,
+ 0x2f5bb06e, 0x6c9016e9, 0x27ec84c9, 0x6427224e, 0xe07cb81d,
+ 0xa3b71e9a, 0x76849c5c, 0x354f3adb, 0xb114a088, 0xf2df060f,
+ 0xb9a3942f, 0xfa6832a8, 0x7e33a8fb, 0x3df80e7c, 0x9552ddad,
+ 0xd6997b2a, 0x52c2e179, 0x110947fe, 0x5a75d5de, 0x19be7359,
+ 0x9de5e90a, 0xde2e4f8d, 0x0b1dcd4b, 0x48d66bcc, 0xcc8df19f,
+ 0x8f465718, 0xc43ac538, 0x87f163bf, 0x03aaf9ec, 0x40615f6b,
+ 0x12f92f94, 0x51328913, 0xd5691340, 0x96a2b5c7, 0xddde27e7,
+ 0x9e158160, 0x1a4e1b33, 0x5985bdb4, 0x8cb63f72, 0xcf7d99f5,
+ 0x4b2603a6, 0x08eda521, 0x43913701, 0x005a9186, 0x84010bd5,
+ 0xc7caad52, 0x6f607e83, 0x2cabd804, 0xa8f04257, 0xeb3be4d0,
+ 0xa04776f0, 0xe38cd077, 0x67d74a24, 0x241ceca3, 0xf12f6e65,
+ 0xb2e4c8e2, 0x36bf52b1, 0x7574f436, 0x3e086616, 0x7dc3c091,
+ 0xf9985ac2, 0xba53fc45, 0x1caecae7, 0x5f656c60, 0xdb3ef633,
+ 0x98f550b4, 0xd389c294, 0x90426413, 0x1419fe40, 0x57d258c7,
+ 0x82e1da01, 0xc12a7c86, 0x4571e6d5, 0x06ba4052, 0x4dc6d272,
+ 0x0e0d74f5, 0x8a56eea6, 0xc99d4821, 0x61379bf0, 0x22fc3d77,
+ 0xa6a7a724, 0xe56c01a3, 0xae109383, 0xeddb3504, 0x6980af57,
+ 0x2a4b09d0, 0xff788b16, 0xbcb32d91, 0x38e8b7c2, 0x7b231145,
+ 0x305f8365, 0x739425e2, 0xf7cfbfb1, 0xb4041936, 0xe69c69c9,
+ 0xa557cf4e, 0x210c551d, 0x62c7f39a, 0x29bb61ba, 0x6a70c73d,
+ 0xee2b5d6e, 0xade0fbe9, 0x78d3792f, 0x3b18dfa8, 0xbf4345fb,
+ 0xfc88e37c, 0xb7f4715c, 0xf43fd7db, 0x70644d88, 0x33afeb0f,
+ 0x9b0538de, 0xd8ce9e59, 0x5c95040a, 0x1f5ea28d, 0x542230ad,
+ 0x17e9962a, 0x93b20c79, 0xd079aafe, 0x054a2838, 0x46818ebf,
+ 0xc2da14ec, 0x8111b26b, 0xca6d204b, 0x89a686cc, 0x0dfd1c9f,
+ 0x4e36ba18},
+ {0x00000000, 0xe1b652ef, 0x836bd405, 0x62dd86ea, 0x06d7a80b,
+ 0xe761fae4, 0x85bc7c0e, 0x640a2ee1, 0x0cae5117, 0xed1803f8,
+ 0x8fc58512, 0x6e73d7fd, 0x0a79f91c, 0xebcfabf3, 0x89122d19,
+ 0x68a47ff6, 0x185ca32e, 0xf9eaf1c1, 0x9b37772b, 0x7a8125c4,
+ 0x1e8b0b25, 0xff3d59ca, 0x9de0df20, 0x7c568dcf, 0x14f2f239,
+ 0xf544a0d6, 0x9799263c, 0x762f74d3, 0x12255a32, 0xf39308dd,
+ 0x914e8e37, 0x70f8dcd8, 0x30b8465d, 0xd10e14b2, 0xb3d39258,
+ 0x5265c0b7, 0x366fee56, 0xd7d9bcb9, 0xb5043a53, 0x54b268bc,
+ 0x3c16174a, 0xdda045a5, 0xbf7dc34f, 0x5ecb91a0, 0x3ac1bf41,
+ 0xdb77edae, 0xb9aa6b44, 0x581c39ab, 0x28e4e573, 0xc952b79c,
+ 0xab8f3176, 0x4a396399, 0x2e334d78, 0xcf851f97, 0xad58997d,
+ 0x4ceecb92, 0x244ab464, 0xc5fce68b, 0xa7216061, 0x4697328e,
+ 0x229d1c6f, 0xc32b4e80, 0xa1f6c86a, 0x40409a85, 0x60708dba,
+ 0x81c6df55, 0xe31b59bf, 0x02ad0b50, 0x66a725b1, 0x8711775e,
+ 0xe5ccf1b4, 0x047aa35b, 0x6cdedcad, 0x8d688e42, 0xefb508a8,
+ 0x0e035a47, 0x6a0974a6, 0x8bbf2649, 0xe962a0a3, 0x08d4f24c,
+ 0x782c2e94, 0x999a7c7b, 0xfb47fa91, 0x1af1a87e, 0x7efb869f,
+ 0x9f4dd470, 0xfd90529a, 0x1c260075, 0x74827f83, 0x95342d6c,
+ 0xf7e9ab86, 0x165ff969, 0x7255d788, 0x93e38567, 0xf13e038d,
+ 0x10885162, 0x50c8cbe7, 0xb17e9908, 0xd3a31fe2, 0x32154d0d,
+ 0x561f63ec, 0xb7a93103, 0xd574b7e9, 0x34c2e506, 0x5c669af0,
+ 0xbdd0c81f, 0xdf0d4ef5, 0x3ebb1c1a, 0x5ab132fb, 0xbb076014,
+ 0xd9dae6fe, 0x386cb411, 0x489468c9, 0xa9223a26, 0xcbffbccc,
+ 0x2a49ee23, 0x4e43c0c2, 0xaff5922d, 0xcd2814c7, 0x2c9e4628,
+ 0x443a39de, 0xa58c6b31, 0xc751eddb, 0x26e7bf34, 0x42ed91d5,
+ 0xa35bc33a, 0xc18645d0, 0x2030173f, 0x81e66bae, 0x60503941,
+ 0x028dbfab, 0xe33bed44, 0x8731c3a5, 0x6687914a, 0x045a17a0,
+ 0xe5ec454f, 0x8d483ab9, 0x6cfe6856, 0x0e23eebc, 0xef95bc53,
+ 0x8b9f92b2, 0x6a29c05d, 0x08f446b7, 0xe9421458, 0x99bac880,
+ 0x780c9a6f, 0x1ad11c85, 0xfb674e6a, 0x9f6d608b, 0x7edb3264,
+ 0x1c06b48e, 0xfdb0e661, 0x95149997, 0x74a2cb78, 0x167f4d92,
+ 0xf7c91f7d, 0x93c3319c, 0x72756373, 0x10a8e599, 0xf11eb776,
+ 0xb15e2df3, 0x50e87f1c, 0x3235f9f6, 0xd383ab19, 0xb78985f8,
+ 0x563fd717, 0x34e251fd, 0xd5540312, 0xbdf07ce4, 0x5c462e0b,
+ 0x3e9ba8e1, 0xdf2dfa0e, 0xbb27d4ef, 0x5a918600, 0x384c00ea,
+ 0xd9fa5205, 0xa9028edd, 0x48b4dc32, 0x2a695ad8, 0xcbdf0837,
+ 0xafd526d6, 0x4e637439, 0x2cbef2d3, 0xcd08a03c, 0xa5acdfca,
+ 0x441a8d25, 0x26c70bcf, 0xc7715920, 0xa37b77c1, 0x42cd252e,
+ 0x2010a3c4, 0xc1a6f12b, 0xe196e614, 0x0020b4fb, 0x62fd3211,
+ 0x834b60fe, 0xe7414e1f, 0x06f71cf0, 0x642a9a1a, 0x859cc8f5,
+ 0xed38b703, 0x0c8ee5ec, 0x6e536306, 0x8fe531e9, 0xebef1f08,
+ 0x0a594de7, 0x6884cb0d, 0x893299e2, 0xf9ca453a, 0x187c17d5,
+ 0x7aa1913f, 0x9b17c3d0, 0xff1ded31, 0x1eabbfde, 0x7c763934,
+ 0x9dc06bdb, 0xf564142d, 0x14d246c2, 0x760fc028, 0x97b992c7,
+ 0xf3b3bc26, 0x1205eec9, 0x70d86823, 0x916e3acc, 0xd12ea049,
+ 0x3098f2a6, 0x5245744c, 0xb3f326a3, 0xd7f90842, 0x364f5aad,
+ 0x5492dc47, 0xb5248ea8, 0xdd80f15e, 0x3c36a3b1, 0x5eeb255b,
+ 0xbf5d77b4, 0xdb575955, 0x3ae10bba, 0x583c8d50, 0xb98adfbf,
+ 0xc9720367, 0x28c45188, 0x4a19d762, 0xabaf858d, 0xcfa5ab6c,
+ 0x2e13f983, 0x4cce7f69, 0xad782d86, 0xc5dc5270, 0x246a009f,
+ 0x46b78675, 0xa701d49a, 0xc30bfa7b, 0x22bda894, 0x40602e7e,
+ 0xa1d67c91},
+ {0x00000000, 0x5880e2d7, 0xf106b474, 0xa98656a3, 0xe20d68e9,
+ 0xba8d8a3e, 0x130bdc9d, 0x4b8b3e4a, 0x851da109, 0xdd9d43de,
+ 0x741b157d, 0x2c9bf7aa, 0x6710c9e0, 0x3f902b37, 0x96167d94,
+ 0xce969f43, 0x0a3b4213, 0x52bba0c4, 0xfb3df667, 0xa3bd14b0,
+ 0xe8362afa, 0xb0b6c82d, 0x19309e8e, 0x41b07c59, 0x8f26e31a,
+ 0xd7a601cd, 0x7e20576e, 0x26a0b5b9, 0x6d2b8bf3, 0x35ab6924,
+ 0x9c2d3f87, 0xc4addd50, 0x14768426, 0x4cf666f1, 0xe5703052,
+ 0xbdf0d285, 0xf67beccf, 0xaefb0e18, 0x077d58bb, 0x5ffdba6c,
+ 0x916b252f, 0xc9ebc7f8, 0x606d915b, 0x38ed738c, 0x73664dc6,
+ 0x2be6af11, 0x8260f9b2, 0xdae01b65, 0x1e4dc635, 0x46cd24e2,
+ 0xef4b7241, 0xb7cb9096, 0xfc40aedc, 0xa4c04c0b, 0x0d461aa8,
+ 0x55c6f87f, 0x9b50673c, 0xc3d085eb, 0x6a56d348, 0x32d6319f,
+ 0x795d0fd5, 0x21dded02, 0x885bbba1, 0xd0db5976, 0x28ec084d,
+ 0x706cea9a, 0xd9eabc39, 0x816a5eee, 0xcae160a4, 0x92618273,
+ 0x3be7d4d0, 0x63673607, 0xadf1a944, 0xf5714b93, 0x5cf71d30,
+ 0x0477ffe7, 0x4ffcc1ad, 0x177c237a, 0xbefa75d9, 0xe67a970e,
+ 0x22d74a5e, 0x7a57a889, 0xd3d1fe2a, 0x8b511cfd, 0xc0da22b7,
+ 0x985ac060, 0x31dc96c3, 0x695c7414, 0xa7caeb57, 0xff4a0980,
+ 0x56cc5f23, 0x0e4cbdf4, 0x45c783be, 0x1d476169, 0xb4c137ca,
+ 0xec41d51d, 0x3c9a8c6b, 0x641a6ebc, 0xcd9c381f, 0x951cdac8,
+ 0xde97e482, 0x86170655, 0x2f9150f6, 0x7711b221, 0xb9872d62,
+ 0xe107cfb5, 0x48819916, 0x10017bc1, 0x5b8a458b, 0x030aa75c,
+ 0xaa8cf1ff, 0xf20c1328, 0x36a1ce78, 0x6e212caf, 0xc7a77a0c,
+ 0x9f2798db, 0xd4aca691, 0x8c2c4446, 0x25aa12e5, 0x7d2af032,
+ 0xb3bc6f71, 0xeb3c8da6, 0x42badb05, 0x1a3a39d2, 0x51b10798,
+ 0x0931e54f, 0xa0b7b3ec, 0xf837513b, 0x50d8119a, 0x0858f34d,
+ 0xa1dea5ee, 0xf95e4739, 0xb2d57973, 0xea559ba4, 0x43d3cd07,
+ 0x1b532fd0, 0xd5c5b093, 0x8d455244, 0x24c304e7, 0x7c43e630,
+ 0x37c8d87a, 0x6f483aad, 0xc6ce6c0e, 0x9e4e8ed9, 0x5ae35389,
+ 0x0263b15e, 0xabe5e7fd, 0xf365052a, 0xb8ee3b60, 0xe06ed9b7,
+ 0x49e88f14, 0x11686dc3, 0xdffef280, 0x877e1057, 0x2ef846f4,
+ 0x7678a423, 0x3df39a69, 0x657378be, 0xccf52e1d, 0x9475ccca,
+ 0x44ae95bc, 0x1c2e776b, 0xb5a821c8, 0xed28c31f, 0xa6a3fd55,
+ 0xfe231f82, 0x57a54921, 0x0f25abf6, 0xc1b334b5, 0x9933d662,
+ 0x30b580c1, 0x68356216, 0x23be5c5c, 0x7b3ebe8b, 0xd2b8e828,
+ 0x8a380aff, 0x4e95d7af, 0x16153578, 0xbf9363db, 0xe713810c,
+ 0xac98bf46, 0xf4185d91, 0x5d9e0b32, 0x051ee9e5, 0xcb8876a6,
+ 0x93089471, 0x3a8ec2d2, 0x620e2005, 0x29851e4f, 0x7105fc98,
+ 0xd883aa3b, 0x800348ec, 0x783419d7, 0x20b4fb00, 0x8932ada3,
+ 0xd1b24f74, 0x9a39713e, 0xc2b993e9, 0x6b3fc54a, 0x33bf279d,
+ 0xfd29b8de, 0xa5a95a09, 0x0c2f0caa, 0x54afee7d, 0x1f24d037,
+ 0x47a432e0, 0xee226443, 0xb6a28694, 0x720f5bc4, 0x2a8fb913,
+ 0x8309efb0, 0xdb890d67, 0x9002332d, 0xc882d1fa, 0x61048759,
+ 0x3984658e, 0xf712facd, 0xaf92181a, 0x06144eb9, 0x5e94ac6e,
+ 0x151f9224, 0x4d9f70f3, 0xe4192650, 0xbc99c487, 0x6c429df1,
+ 0x34c27f26, 0x9d442985, 0xc5c4cb52, 0x8e4ff518, 0xd6cf17cf,
+ 0x7f49416c, 0x27c9a3bb, 0xe95f3cf8, 0xb1dfde2f, 0x1859888c,
+ 0x40d96a5b, 0x0b525411, 0x53d2b6c6, 0xfa54e065, 0xa2d402b2,
+ 0x6679dfe2, 0x3ef93d35, 0x977f6b96, 0xcfff8941, 0x8474b70b,
+ 0xdcf455dc, 0x7572037f, 0x2df2e1a8, 0xe3647eeb, 0xbbe49c3c,
+ 0x1262ca9f, 0x4ae22848, 0x01691602, 0x59e9f4d5, 0xf06fa276,
+ 0xa8ef40a1},
+ {0x00000000, 0x463b6765, 0x8c76ceca, 0xca4da9af, 0x59ebed4e,
+ 0x1fd08a2b, 0xd59d2384, 0x93a644e1, 0xb2d6db9d, 0xf4edbcf8,
+ 0x3ea01557, 0x789b7232, 0xeb3d36d3, 0xad0651b6, 0x674bf819,
+ 0x21709f7c, 0x25abc6e0, 0x6390a185, 0xa9dd082a, 0xefe66f4f,
+ 0x7c402bae, 0x3a7b4ccb, 0xf036e564, 0xb60d8201, 0x977d1d7d,
+ 0xd1467a18, 0x1b0bd3b7, 0x5d30b4d2, 0xce96f033, 0x88ad9756,
+ 0x42e03ef9, 0x04db599c, 0x0b50fc1a, 0x4d6b9b7f, 0x872632d0,
+ 0xc11d55b5, 0x52bb1154, 0x14807631, 0xdecddf9e, 0x98f6b8fb,
+ 0xb9862787, 0xffbd40e2, 0x35f0e94d, 0x73cb8e28, 0xe06dcac9,
+ 0xa656adac, 0x6c1b0403, 0x2a206366, 0x2efb3afa, 0x68c05d9f,
+ 0xa28df430, 0xe4b69355, 0x7710d7b4, 0x312bb0d1, 0xfb66197e,
+ 0xbd5d7e1b, 0x9c2de167, 0xda168602, 0x105b2fad, 0x566048c8,
+ 0xc5c60c29, 0x83fd6b4c, 0x49b0c2e3, 0x0f8ba586, 0x16a0f835,
+ 0x509b9f50, 0x9ad636ff, 0xdced519a, 0x4f4b157b, 0x0970721e,
+ 0xc33ddbb1, 0x8506bcd4, 0xa47623a8, 0xe24d44cd, 0x2800ed62,
+ 0x6e3b8a07, 0xfd9dcee6, 0xbba6a983, 0x71eb002c, 0x37d06749,
+ 0x330b3ed5, 0x753059b0, 0xbf7df01f, 0xf946977a, 0x6ae0d39b,
+ 0x2cdbb4fe, 0xe6961d51, 0xa0ad7a34, 0x81dde548, 0xc7e6822d,
+ 0x0dab2b82, 0x4b904ce7, 0xd8360806, 0x9e0d6f63, 0x5440c6cc,
+ 0x127ba1a9, 0x1df0042f, 0x5bcb634a, 0x9186cae5, 0xd7bdad80,
+ 0x441be961, 0x02208e04, 0xc86d27ab, 0x8e5640ce, 0xaf26dfb2,
+ 0xe91db8d7, 0x23501178, 0x656b761d, 0xf6cd32fc, 0xb0f65599,
+ 0x7abbfc36, 0x3c809b53, 0x385bc2cf, 0x7e60a5aa, 0xb42d0c05,
+ 0xf2166b60, 0x61b02f81, 0x278b48e4, 0xedc6e14b, 0xabfd862e,
+ 0x8a8d1952, 0xccb67e37, 0x06fbd798, 0x40c0b0fd, 0xd366f41c,
+ 0x955d9379, 0x5f103ad6, 0x192b5db3, 0x2c40f16b, 0x6a7b960e,
+ 0xa0363fa1, 0xe60d58c4, 0x75ab1c25, 0x33907b40, 0xf9ddd2ef,
+ 0xbfe6b58a, 0x9e962af6, 0xd8ad4d93, 0x12e0e43c, 0x54db8359,
+ 0xc77dc7b8, 0x8146a0dd, 0x4b0b0972, 0x0d306e17, 0x09eb378b,
+ 0x4fd050ee, 0x859df941, 0xc3a69e24, 0x5000dac5, 0x163bbda0,
+ 0xdc76140f, 0x9a4d736a, 0xbb3dec16, 0xfd068b73, 0x374b22dc,
+ 0x717045b9, 0xe2d60158, 0xa4ed663d, 0x6ea0cf92, 0x289ba8f7,
+ 0x27100d71, 0x612b6a14, 0xab66c3bb, 0xed5da4de, 0x7efbe03f,
+ 0x38c0875a, 0xf28d2ef5, 0xb4b64990, 0x95c6d6ec, 0xd3fdb189,
+ 0x19b01826, 0x5f8b7f43, 0xcc2d3ba2, 0x8a165cc7, 0x405bf568,
+ 0x0660920d, 0x02bbcb91, 0x4480acf4, 0x8ecd055b, 0xc8f6623e,
+ 0x5b5026df, 0x1d6b41ba, 0xd726e815, 0x911d8f70, 0xb06d100c,
+ 0xf6567769, 0x3c1bdec6, 0x7a20b9a3, 0xe986fd42, 0xafbd9a27,
+ 0x65f03388, 0x23cb54ed, 0x3ae0095e, 0x7cdb6e3b, 0xb696c794,
+ 0xf0ada0f1, 0x630be410, 0x25308375, 0xef7d2ada, 0xa9464dbf,
+ 0x8836d2c3, 0xce0db5a6, 0x04401c09, 0x427b7b6c, 0xd1dd3f8d,
+ 0x97e658e8, 0x5dabf147, 0x1b909622, 0x1f4bcfbe, 0x5970a8db,
+ 0x933d0174, 0xd5066611, 0x46a022f0, 0x009b4595, 0xcad6ec3a,
+ 0x8ced8b5f, 0xad9d1423, 0xeba67346, 0x21ebdae9, 0x67d0bd8c,
+ 0xf476f96d, 0xb24d9e08, 0x780037a7, 0x3e3b50c2, 0x31b0f544,
+ 0x778b9221, 0xbdc63b8e, 0xfbfd5ceb, 0x685b180a, 0x2e607f6f,
+ 0xe42dd6c0, 0xa216b1a5, 0x83662ed9, 0xc55d49bc, 0x0f10e013,
+ 0x492b8776, 0xda8dc397, 0x9cb6a4f2, 0x56fb0d5d, 0x10c06a38,
+ 0x141b33a4, 0x522054c1, 0x986dfd6e, 0xde569a0b, 0x4df0deea,
+ 0x0bcbb98f, 0xc1861020, 0x87bd7745, 0xa6cde839, 0xe0f68f5c,
+ 0x2abb26f3, 0x6c804196, 0xff260577, 0xb91d6212, 0x7350cbbd,
+ 0x356bacd8}};
+
+#endif
+
+#endif
+
+#if N == 6
+
+#if W == 8
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0x3db1ecdc, 0x7b63d9b8, 0x46d23564, 0xf6c7b370,
+ 0xcb765fac, 0x8da46ac8, 0xb0158614, 0x36fe60a1, 0x0b4f8c7d,
+ 0x4d9db919, 0x702c55c5, 0xc039d3d1, 0xfd883f0d, 0xbb5a0a69,
+ 0x86ebe6b5, 0x6dfcc142, 0x504d2d9e, 0x169f18fa, 0x2b2ef426,
+ 0x9b3b7232, 0xa68a9eee, 0xe058ab8a, 0xdde94756, 0x5b02a1e3,
+ 0x66b34d3f, 0x2061785b, 0x1dd09487, 0xadc51293, 0x9074fe4f,
+ 0xd6a6cb2b, 0xeb1727f7, 0xdbf98284, 0xe6486e58, 0xa09a5b3c,
+ 0x9d2bb7e0, 0x2d3e31f4, 0x108fdd28, 0x565de84c, 0x6bec0490,
+ 0xed07e225, 0xd0b60ef9, 0x96643b9d, 0xabd5d741, 0x1bc05155,
+ 0x2671bd89, 0x60a388ed, 0x5d126431, 0xb60543c6, 0x8bb4af1a,
+ 0xcd669a7e, 0xf0d776a2, 0x40c2f0b6, 0x7d731c6a, 0x3ba1290e,
+ 0x0610c5d2, 0x80fb2367, 0xbd4acfbb, 0xfb98fadf, 0xc6291603,
+ 0x763c9017, 0x4b8d7ccb, 0x0d5f49af, 0x30eea573, 0x6c820349,
+ 0x5133ef95, 0x17e1daf1, 0x2a50362d, 0x9a45b039, 0xa7f45ce5,
+ 0xe1266981, 0xdc97855d, 0x5a7c63e8, 0x67cd8f34, 0x211fba50,
+ 0x1cae568c, 0xacbbd098, 0x910a3c44, 0xd7d80920, 0xea69e5fc,
+ 0x017ec20b, 0x3ccf2ed7, 0x7a1d1bb3, 0x47acf76f, 0xf7b9717b,
+ 0xca089da7, 0x8cdaa8c3, 0xb16b441f, 0x3780a2aa, 0x0a314e76,
+ 0x4ce37b12, 0x715297ce, 0xc14711da, 0xfcf6fd06, 0xba24c862,
+ 0x879524be, 0xb77b81cd, 0x8aca6d11, 0xcc185875, 0xf1a9b4a9,
+ 0x41bc32bd, 0x7c0dde61, 0x3adfeb05, 0x076e07d9, 0x8185e16c,
+ 0xbc340db0, 0xfae638d4, 0xc757d408, 0x7742521c, 0x4af3bec0,
+ 0x0c218ba4, 0x31906778, 0xda87408f, 0xe736ac53, 0xa1e49937,
+ 0x9c5575eb, 0x2c40f3ff, 0x11f11f23, 0x57232a47, 0x6a92c69b,
+ 0xec79202e, 0xd1c8ccf2, 0x971af996, 0xaaab154a, 0x1abe935e,
+ 0x270f7f82, 0x61dd4ae6, 0x5c6ca63a, 0xd9040692, 0xe4b5ea4e,
+ 0xa267df2a, 0x9fd633f6, 0x2fc3b5e2, 0x1272593e, 0x54a06c5a,
+ 0x69118086, 0xeffa6633, 0xd24b8aef, 0x9499bf8b, 0xa9285357,
+ 0x193dd543, 0x248c399f, 0x625e0cfb, 0x5fefe027, 0xb4f8c7d0,
+ 0x89492b0c, 0xcf9b1e68, 0xf22af2b4, 0x423f74a0, 0x7f8e987c,
+ 0x395cad18, 0x04ed41c4, 0x8206a771, 0xbfb74bad, 0xf9657ec9,
+ 0xc4d49215, 0x74c11401, 0x4970f8dd, 0x0fa2cdb9, 0x32132165,
+ 0x02fd8416, 0x3f4c68ca, 0x799e5dae, 0x442fb172, 0xf43a3766,
+ 0xc98bdbba, 0x8f59eede, 0xb2e80202, 0x3403e4b7, 0x09b2086b,
+ 0x4f603d0f, 0x72d1d1d3, 0xc2c457c7, 0xff75bb1b, 0xb9a78e7f,
+ 0x841662a3, 0x6f014554, 0x52b0a988, 0x14629cec, 0x29d37030,
+ 0x99c6f624, 0xa4771af8, 0xe2a52f9c, 0xdf14c340, 0x59ff25f5,
+ 0x644ec929, 0x229cfc4d, 0x1f2d1091, 0xaf389685, 0x92897a59,
+ 0xd45b4f3d, 0xe9eaa3e1, 0xb58605db, 0x8837e907, 0xcee5dc63,
+ 0xf35430bf, 0x4341b6ab, 0x7ef05a77, 0x38226f13, 0x059383cf,
+ 0x8378657a, 0xbec989a6, 0xf81bbcc2, 0xc5aa501e, 0x75bfd60a,
+ 0x480e3ad6, 0x0edc0fb2, 0x336de36e, 0xd87ac499, 0xe5cb2845,
+ 0xa3191d21, 0x9ea8f1fd, 0x2ebd77e9, 0x130c9b35, 0x55deae51,
+ 0x686f428d, 0xee84a438, 0xd33548e4, 0x95e77d80, 0xa856915c,
+ 0x18431748, 0x25f2fb94, 0x6320cef0, 0x5e91222c, 0x6e7f875f,
+ 0x53ce6b83, 0x151c5ee7, 0x28adb23b, 0x98b8342f, 0xa509d8f3,
+ 0xe3dbed97, 0xde6a014b, 0x5881e7fe, 0x65300b22, 0x23e23e46,
+ 0x1e53d29a, 0xae46548e, 0x93f7b852, 0xd5258d36, 0xe89461ea,
+ 0x0383461d, 0x3e32aac1, 0x78e09fa5, 0x45517379, 0xf544f56d,
+ 0xc8f519b1, 0x8e272cd5, 0xb396c009, 0x357d26bc, 0x08ccca60,
+ 0x4e1eff04, 0x73af13d8, 0xc3ba95cc, 0xfe0b7910, 0xb8d94c74,
+ 0x8568a0a8},
+ {0x00000000, 0x69790b65, 0xd2f216ca, 0xbb8b1daf, 0x7e952bd5,
+ 0x17ec20b0, 0xac673d1f, 0xc51e367a, 0xfd2a57aa, 0x94535ccf,
+ 0x2fd84160, 0x46a14a05, 0x83bf7c7f, 0xeac6771a, 0x514d6ab5,
+ 0x383461d0, 0x2125a915, 0x485ca270, 0xf3d7bfdf, 0x9aaeb4ba,
+ 0x5fb082c0, 0x36c989a5, 0x8d42940a, 0xe43b9f6f, 0xdc0ffebf,
+ 0xb576f5da, 0x0efde875, 0x6784e310, 0xa29ad56a, 0xcbe3de0f,
+ 0x7068c3a0, 0x1911c8c5, 0x424b522a, 0x2b32594f, 0x90b944e0,
+ 0xf9c04f85, 0x3cde79ff, 0x55a7729a, 0xee2c6f35, 0x87556450,
+ 0xbf610580, 0xd6180ee5, 0x6d93134a, 0x04ea182f, 0xc1f42e55,
+ 0xa88d2530, 0x1306389f, 0x7a7f33fa, 0x636efb3f, 0x0a17f05a,
+ 0xb19cedf5, 0xd8e5e690, 0x1dfbd0ea, 0x7482db8f, 0xcf09c620,
+ 0xa670cd45, 0x9e44ac95, 0xf73da7f0, 0x4cb6ba5f, 0x25cfb13a,
+ 0xe0d18740, 0x89a88c25, 0x3223918a, 0x5b5a9aef, 0x8496a454,
+ 0xedefaf31, 0x5664b29e, 0x3f1db9fb, 0xfa038f81, 0x937a84e4,
+ 0x28f1994b, 0x4188922e, 0x79bcf3fe, 0x10c5f89b, 0xab4ee534,
+ 0xc237ee51, 0x0729d82b, 0x6e50d34e, 0xd5dbcee1, 0xbca2c584,
+ 0xa5b30d41, 0xccca0624, 0x77411b8b, 0x1e3810ee, 0xdb262694,
+ 0xb25f2df1, 0x09d4305e, 0x60ad3b3b, 0x58995aeb, 0x31e0518e,
+ 0x8a6b4c21, 0xe3124744, 0x260c713e, 0x4f757a5b, 0xf4fe67f4,
+ 0x9d876c91, 0xc6ddf67e, 0xafa4fd1b, 0x142fe0b4, 0x7d56ebd1,
+ 0xb848ddab, 0xd131d6ce, 0x6abacb61, 0x03c3c004, 0x3bf7a1d4,
+ 0x528eaab1, 0xe905b71e, 0x807cbc7b, 0x45628a01, 0x2c1b8164,
+ 0x97909ccb, 0xfee997ae, 0xe7f85f6b, 0x8e81540e, 0x350a49a1,
+ 0x5c7342c4, 0x996d74be, 0xf0147fdb, 0x4b9f6274, 0x22e66911,
+ 0x1ad208c1, 0x73ab03a4, 0xc8201e0b, 0xa159156e, 0x64472314,
+ 0x0d3e2871, 0xb6b535de, 0xdfcc3ebb, 0xd25c4ee9, 0xbb25458c,
+ 0x00ae5823, 0x69d75346, 0xacc9653c, 0xc5b06e59, 0x7e3b73f6,
+ 0x17427893, 0x2f761943, 0x460f1226, 0xfd840f89, 0x94fd04ec,
+ 0x51e33296, 0x389a39f3, 0x8311245c, 0xea682f39, 0xf379e7fc,
+ 0x9a00ec99, 0x218bf136, 0x48f2fa53, 0x8deccc29, 0xe495c74c,
+ 0x5f1edae3, 0x3667d186, 0x0e53b056, 0x672abb33, 0xdca1a69c,
+ 0xb5d8adf9, 0x70c69b83, 0x19bf90e6, 0xa2348d49, 0xcb4d862c,
+ 0x90171cc3, 0xf96e17a6, 0x42e50a09, 0x2b9c016c, 0xee823716,
+ 0x87fb3c73, 0x3c7021dc, 0x55092ab9, 0x6d3d4b69, 0x0444400c,
+ 0xbfcf5da3, 0xd6b656c6, 0x13a860bc, 0x7ad16bd9, 0xc15a7676,
+ 0xa8237d13, 0xb132b5d6, 0xd84bbeb3, 0x63c0a31c, 0x0ab9a879,
+ 0xcfa79e03, 0xa6de9566, 0x1d5588c9, 0x742c83ac, 0x4c18e27c,
+ 0x2561e919, 0x9eeaf4b6, 0xf793ffd3, 0x328dc9a9, 0x5bf4c2cc,
+ 0xe07fdf63, 0x8906d406, 0x56caeabd, 0x3fb3e1d8, 0x8438fc77,
+ 0xed41f712, 0x285fc168, 0x4126ca0d, 0xfaadd7a2, 0x93d4dcc7,
+ 0xabe0bd17, 0xc299b672, 0x7912abdd, 0x106ba0b8, 0xd57596c2,
+ 0xbc0c9da7, 0x07878008, 0x6efe8b6d, 0x77ef43a8, 0x1e9648cd,
+ 0xa51d5562, 0xcc645e07, 0x097a687d, 0x60036318, 0xdb887eb7,
+ 0xb2f175d2, 0x8ac51402, 0xe3bc1f67, 0x583702c8, 0x314e09ad,
+ 0xf4503fd7, 0x9d2934b2, 0x26a2291d, 0x4fdb2278, 0x1481b897,
+ 0x7df8b3f2, 0xc673ae5d, 0xaf0aa538, 0x6a149342, 0x036d9827,
+ 0xb8e68588, 0xd19f8eed, 0xe9abef3d, 0x80d2e458, 0x3b59f9f7,
+ 0x5220f292, 0x973ec4e8, 0xfe47cf8d, 0x45ccd222, 0x2cb5d947,
+ 0x35a41182, 0x5cdd1ae7, 0xe7560748, 0x8e2f0c2d, 0x4b313a57,
+ 0x22483132, 0x99c32c9d, 0xf0ba27f8, 0xc88e4628, 0xa1f74d4d,
+ 0x1a7c50e2, 0x73055b87, 0xb61b6dfd, 0xdf626698, 0x64e97b37,
+ 0x0d907052},
+ {0x00000000, 0x7fc99b93, 0xff933726, 0x805aacb5, 0x2457680d,
+ 0x5b9ef39e, 0xdbc45f2b, 0xa40dc4b8, 0x48aed01a, 0x37674b89,
+ 0xb73de73c, 0xc8f47caf, 0x6cf9b817, 0x13302384, 0x936a8f31,
+ 0xeca314a2, 0x915da034, 0xee943ba7, 0x6ece9712, 0x11070c81,
+ 0xb50ac839, 0xcac353aa, 0x4a99ff1f, 0x3550648c, 0xd9f3702e,
+ 0xa63aebbd, 0x26604708, 0x59a9dc9b, 0xfda41823, 0x826d83b0,
+ 0x02372f05, 0x7dfeb496, 0xf9ca4629, 0x8603ddba, 0x0659710f,
+ 0x7990ea9c, 0xdd9d2e24, 0xa254b5b7, 0x220e1902, 0x5dc78291,
+ 0xb1649633, 0xcead0da0, 0x4ef7a115, 0x313e3a86, 0x9533fe3e,
+ 0xeafa65ad, 0x6aa0c918, 0x1569528b, 0x6897e61d, 0x175e7d8e,
+ 0x9704d13b, 0xe8cd4aa8, 0x4cc08e10, 0x33091583, 0xb353b936,
+ 0xcc9a22a5, 0x20393607, 0x5ff0ad94, 0xdfaa0121, 0xa0639ab2,
+ 0x046e5e0a, 0x7ba7c599, 0xfbfd692c, 0x8434f2bf, 0x28e58a13,
+ 0x572c1180, 0xd776bd35, 0xa8bf26a6, 0x0cb2e21e, 0x737b798d,
+ 0xf321d538, 0x8ce84eab, 0x604b5a09, 0x1f82c19a, 0x9fd86d2f,
+ 0xe011f6bc, 0x441c3204, 0x3bd5a997, 0xbb8f0522, 0xc4469eb1,
+ 0xb9b82a27, 0xc671b1b4, 0x462b1d01, 0x39e28692, 0x9def422a,
+ 0xe226d9b9, 0x627c750c, 0x1db5ee9f, 0xf116fa3d, 0x8edf61ae,
+ 0x0e85cd1b, 0x714c5688, 0xd5419230, 0xaa8809a3, 0x2ad2a516,
+ 0x551b3e85, 0xd12fcc3a, 0xaee657a9, 0x2ebcfb1c, 0x5175608f,
+ 0xf578a437, 0x8ab13fa4, 0x0aeb9311, 0x75220882, 0x99811c20,
+ 0xe64887b3, 0x66122b06, 0x19dbb095, 0xbdd6742d, 0xc21fefbe,
+ 0x4245430b, 0x3d8cd898, 0x40726c0e, 0x3fbbf79d, 0xbfe15b28,
+ 0xc028c0bb, 0x64250403, 0x1bec9f90, 0x9bb63325, 0xe47fa8b6,
+ 0x08dcbc14, 0x77152787, 0xf74f8b32, 0x888610a1, 0x2c8bd419,
+ 0x53424f8a, 0xd318e33f, 0xacd178ac, 0x51cb1426, 0x2e028fb5,
+ 0xae582300, 0xd191b893, 0x759c7c2b, 0x0a55e7b8, 0x8a0f4b0d,
+ 0xf5c6d09e, 0x1965c43c, 0x66ac5faf, 0xe6f6f31a, 0x993f6889,
+ 0x3d32ac31, 0x42fb37a2, 0xc2a19b17, 0xbd680084, 0xc096b412,
+ 0xbf5f2f81, 0x3f058334, 0x40cc18a7, 0xe4c1dc1f, 0x9b08478c,
+ 0x1b52eb39, 0x649b70aa, 0x88386408, 0xf7f1ff9b, 0x77ab532e,
+ 0x0862c8bd, 0xac6f0c05, 0xd3a69796, 0x53fc3b23, 0x2c35a0b0,
+ 0xa801520f, 0xd7c8c99c, 0x57926529, 0x285bfeba, 0x8c563a02,
+ 0xf39fa191, 0x73c50d24, 0x0c0c96b7, 0xe0af8215, 0x9f661986,
+ 0x1f3cb533, 0x60f52ea0, 0xc4f8ea18, 0xbb31718b, 0x3b6bdd3e,
+ 0x44a246ad, 0x395cf23b, 0x469569a8, 0xc6cfc51d, 0xb9065e8e,
+ 0x1d0b9a36, 0x62c201a5, 0xe298ad10, 0x9d513683, 0x71f22221,
+ 0x0e3bb9b2, 0x8e611507, 0xf1a88e94, 0x55a54a2c, 0x2a6cd1bf,
+ 0xaa367d0a, 0xd5ffe699, 0x792e9e35, 0x06e705a6, 0x86bda913,
+ 0xf9743280, 0x5d79f638, 0x22b06dab, 0xa2eac11e, 0xdd235a8d,
+ 0x31804e2f, 0x4e49d5bc, 0xce137909, 0xb1dae29a, 0x15d72622,
+ 0x6a1ebdb1, 0xea441104, 0x958d8a97, 0xe8733e01, 0x97baa592,
+ 0x17e00927, 0x682992b4, 0xcc24560c, 0xb3edcd9f, 0x33b7612a,
+ 0x4c7efab9, 0xa0ddee1b, 0xdf147588, 0x5f4ed93d, 0x208742ae,
+ 0x848a8616, 0xfb431d85, 0x7b19b130, 0x04d02aa3, 0x80e4d81c,
+ 0xff2d438f, 0x7f77ef3a, 0x00be74a9, 0xa4b3b011, 0xdb7a2b82,
+ 0x5b208737, 0x24e91ca4, 0xc84a0806, 0xb7839395, 0x37d93f20,
+ 0x4810a4b3, 0xec1d600b, 0x93d4fb98, 0x138e572d, 0x6c47ccbe,
+ 0x11b97828, 0x6e70e3bb, 0xee2a4f0e, 0x91e3d49d, 0x35ee1025,
+ 0x4a278bb6, 0xca7d2703, 0xb5b4bc90, 0x5917a832, 0x26de33a1,
+ 0xa6849f14, 0xd94d0487, 0x7d40c03f, 0x02895bac, 0x82d3f719,
+ 0xfd1a6c8a},
+ {0x00000000, 0xa396284c, 0x9c5d56d9, 0x3fcb7e95, 0xe3cbabf3,
+ 0x405d83bf, 0x7f96fd2a, 0xdc00d566, 0x1ce651a7, 0xbf7079eb,
+ 0x80bb077e, 0x232d2f32, 0xff2dfa54, 0x5cbbd218, 0x6370ac8d,
+ 0xc0e684c1, 0x39cca34e, 0x9a5a8b02, 0xa591f597, 0x0607dddb,
+ 0xda0708bd, 0x799120f1, 0x465a5e64, 0xe5cc7628, 0x252af2e9,
+ 0x86bcdaa5, 0xb977a430, 0x1ae18c7c, 0xc6e1591a, 0x65777156,
+ 0x5abc0fc3, 0xf92a278f, 0x7399469c, 0xd00f6ed0, 0xefc41045,
+ 0x4c523809, 0x9052ed6f, 0x33c4c523, 0x0c0fbbb6, 0xaf9993fa,
+ 0x6f7f173b, 0xcce93f77, 0xf32241e2, 0x50b469ae, 0x8cb4bcc8,
+ 0x2f229484, 0x10e9ea11, 0xb37fc25d, 0x4a55e5d2, 0xe9c3cd9e,
+ 0xd608b30b, 0x759e9b47, 0xa99e4e21, 0x0a08666d, 0x35c318f8,
+ 0x965530b4, 0x56b3b475, 0xf5259c39, 0xcaeee2ac, 0x6978cae0,
+ 0xb5781f86, 0x16ee37ca, 0x2925495f, 0x8ab36113, 0xe7328d38,
+ 0x44a4a574, 0x7b6fdbe1, 0xd8f9f3ad, 0x04f926cb, 0xa76f0e87,
+ 0x98a47012, 0x3b32585e, 0xfbd4dc9f, 0x5842f4d3, 0x67898a46,
+ 0xc41fa20a, 0x181f776c, 0xbb895f20, 0x844221b5, 0x27d409f9,
+ 0xdefe2e76, 0x7d68063a, 0x42a378af, 0xe13550e3, 0x3d358585,
+ 0x9ea3adc9, 0xa168d35c, 0x02fefb10, 0xc2187fd1, 0x618e579d,
+ 0x5e452908, 0xfdd30144, 0x21d3d422, 0x8245fc6e, 0xbd8e82fb,
+ 0x1e18aab7, 0x94abcba4, 0x373de3e8, 0x08f69d7d, 0xab60b531,
+ 0x77606057, 0xd4f6481b, 0xeb3d368e, 0x48ab1ec2, 0x884d9a03,
+ 0x2bdbb24f, 0x1410ccda, 0xb786e496, 0x6b8631f0, 0xc81019bc,
+ 0xf7db6729, 0x544d4f65, 0xad6768ea, 0x0ef140a6, 0x313a3e33,
+ 0x92ac167f, 0x4eacc319, 0xed3aeb55, 0xd2f195c0, 0x7167bd8c,
+ 0xb181394d, 0x12171101, 0x2ddc6f94, 0x8e4a47d8, 0x524a92be,
+ 0xf1dcbaf2, 0xce17c467, 0x6d81ec2b, 0x15141c31, 0xb682347d,
+ 0x89494ae8, 0x2adf62a4, 0xf6dfb7c2, 0x55499f8e, 0x6a82e11b,
+ 0xc914c957, 0x09f24d96, 0xaa6465da, 0x95af1b4f, 0x36393303,
+ 0xea39e665, 0x49afce29, 0x7664b0bc, 0xd5f298f0, 0x2cd8bf7f,
+ 0x8f4e9733, 0xb085e9a6, 0x1313c1ea, 0xcf13148c, 0x6c853cc0,
+ 0x534e4255, 0xf0d86a19, 0x303eeed8, 0x93a8c694, 0xac63b801,
+ 0x0ff5904d, 0xd3f5452b, 0x70636d67, 0x4fa813f2, 0xec3e3bbe,
+ 0x668d5aad, 0xc51b72e1, 0xfad00c74, 0x59462438, 0x8546f15e,
+ 0x26d0d912, 0x191ba787, 0xba8d8fcb, 0x7a6b0b0a, 0xd9fd2346,
+ 0xe6365dd3, 0x45a0759f, 0x99a0a0f9, 0x3a3688b5, 0x05fdf620,
+ 0xa66bde6c, 0x5f41f9e3, 0xfcd7d1af, 0xc31caf3a, 0x608a8776,
+ 0xbc8a5210, 0x1f1c7a5c, 0x20d704c9, 0x83412c85, 0x43a7a844,
+ 0xe0318008, 0xdffafe9d, 0x7c6cd6d1, 0xa06c03b7, 0x03fa2bfb,
+ 0x3c31556e, 0x9fa77d22, 0xf2269109, 0x51b0b945, 0x6e7bc7d0,
+ 0xcdedef9c, 0x11ed3afa, 0xb27b12b6, 0x8db06c23, 0x2e26446f,
+ 0xeec0c0ae, 0x4d56e8e2, 0x729d9677, 0xd10bbe3b, 0x0d0b6b5d,
+ 0xae9d4311, 0x91563d84, 0x32c015c8, 0xcbea3247, 0x687c1a0b,
+ 0x57b7649e, 0xf4214cd2, 0x282199b4, 0x8bb7b1f8, 0xb47ccf6d,
+ 0x17eae721, 0xd70c63e0, 0x749a4bac, 0x4b513539, 0xe8c71d75,
+ 0x34c7c813, 0x9751e05f, 0xa89a9eca, 0x0b0cb686, 0x81bfd795,
+ 0x2229ffd9, 0x1de2814c, 0xbe74a900, 0x62747c66, 0xc1e2542a,
+ 0xfe292abf, 0x5dbf02f3, 0x9d598632, 0x3ecfae7e, 0x0104d0eb,
+ 0xa292f8a7, 0x7e922dc1, 0xdd04058d, 0xe2cf7b18, 0x41595354,
+ 0xb87374db, 0x1be55c97, 0x242e2202, 0x87b80a4e, 0x5bb8df28,
+ 0xf82ef764, 0xc7e589f1, 0x6473a1bd, 0xa495257c, 0x07030d30,
+ 0x38c873a5, 0x9b5e5be9, 0x475e8e8f, 0xe4c8a6c3, 0xdb03d856,
+ 0x7895f01a},
+ {0x00000000, 0x2a283862, 0x545070c4, 0x7e7848a6, 0xa8a0e188,
+ 0x8288d9ea, 0xfcf0914c, 0xd6d8a92e, 0x8a30c551, 0xa018fd33,
+ 0xde60b595, 0xf4488df7, 0x229024d9, 0x08b81cbb, 0x76c0541d,
+ 0x5ce86c7f, 0xcf108ce3, 0xe538b481, 0x9b40fc27, 0xb168c445,
+ 0x67b06d6b, 0x4d985509, 0x33e01daf, 0x19c825cd, 0x452049b2,
+ 0x6f0871d0, 0x11703976, 0x3b580114, 0xed80a83a, 0xc7a89058,
+ 0xb9d0d8fe, 0x93f8e09c, 0x45501f87, 0x6f7827e5, 0x11006f43,
+ 0x3b285721, 0xedf0fe0f, 0xc7d8c66d, 0xb9a08ecb, 0x9388b6a9,
+ 0xcf60dad6, 0xe548e2b4, 0x9b30aa12, 0xb1189270, 0x67c03b5e,
+ 0x4de8033c, 0x33904b9a, 0x19b873f8, 0x8a409364, 0xa068ab06,
+ 0xde10e3a0, 0xf438dbc2, 0x22e072ec, 0x08c84a8e, 0x76b00228,
+ 0x5c983a4a, 0x00705635, 0x2a586e57, 0x542026f1, 0x7e081e93,
+ 0xa8d0b7bd, 0x82f88fdf, 0xfc80c779, 0xd6a8ff1b, 0x8aa03f0e,
+ 0xa088076c, 0xdef04fca, 0xf4d877a8, 0x2200de86, 0x0828e6e4,
+ 0x7650ae42, 0x5c789620, 0x0090fa5f, 0x2ab8c23d, 0x54c08a9b,
+ 0x7ee8b2f9, 0xa8301bd7, 0x821823b5, 0xfc606b13, 0xd6485371,
+ 0x45b0b3ed, 0x6f988b8f, 0x11e0c329, 0x3bc8fb4b, 0xed105265,
+ 0xc7386a07, 0xb94022a1, 0x93681ac3, 0xcf8076bc, 0xe5a84ede,
+ 0x9bd00678, 0xb1f83e1a, 0x67209734, 0x4d08af56, 0x3370e7f0,
+ 0x1958df92, 0xcff02089, 0xe5d818eb, 0x9ba0504d, 0xb188682f,
+ 0x6750c101, 0x4d78f963, 0x3300b1c5, 0x192889a7, 0x45c0e5d8,
+ 0x6fe8ddba, 0x1190951c, 0x3bb8ad7e, 0xed600450, 0xc7483c32,
+ 0xb9307494, 0x93184cf6, 0x00e0ac6a, 0x2ac89408, 0x54b0dcae,
+ 0x7e98e4cc, 0xa8404de2, 0x82687580, 0xfc103d26, 0xd6380544,
+ 0x8ad0693b, 0xa0f85159, 0xde8019ff, 0xf4a8219d, 0x227088b3,
+ 0x0858b0d1, 0x7620f877, 0x5c08c015, 0xce31785d, 0xe419403f,
+ 0x9a610899, 0xb04930fb, 0x669199d5, 0x4cb9a1b7, 0x32c1e911,
+ 0x18e9d173, 0x4401bd0c, 0x6e29856e, 0x1051cdc8, 0x3a79f5aa,
+ 0xeca15c84, 0xc68964e6, 0xb8f12c40, 0x92d91422, 0x0121f4be,
+ 0x2b09ccdc, 0x5571847a, 0x7f59bc18, 0xa9811536, 0x83a92d54,
+ 0xfdd165f2, 0xd7f95d90, 0x8b1131ef, 0xa139098d, 0xdf41412b,
+ 0xf5697949, 0x23b1d067, 0x0999e805, 0x77e1a0a3, 0x5dc998c1,
+ 0x8b6167da, 0xa1495fb8, 0xdf31171e, 0xf5192f7c, 0x23c18652,
+ 0x09e9be30, 0x7791f696, 0x5db9cef4, 0x0151a28b, 0x2b799ae9,
+ 0x5501d24f, 0x7f29ea2d, 0xa9f14303, 0x83d97b61, 0xfda133c7,
+ 0xd7890ba5, 0x4471eb39, 0x6e59d35b, 0x10219bfd, 0x3a09a39f,
+ 0xecd10ab1, 0xc6f932d3, 0xb8817a75, 0x92a94217, 0xce412e68,
+ 0xe469160a, 0x9a115eac, 0xb03966ce, 0x66e1cfe0, 0x4cc9f782,
+ 0x32b1bf24, 0x18998746, 0x44914753, 0x6eb97f31, 0x10c13797,
+ 0x3ae90ff5, 0xec31a6db, 0xc6199eb9, 0xb861d61f, 0x9249ee7d,
+ 0xcea18202, 0xe489ba60, 0x9af1f2c6, 0xb0d9caa4, 0x6601638a,
+ 0x4c295be8, 0x3251134e, 0x18792b2c, 0x8b81cbb0, 0xa1a9f3d2,
+ 0xdfd1bb74, 0xf5f98316, 0x23212a38, 0x0909125a, 0x77715afc,
+ 0x5d59629e, 0x01b10ee1, 0x2b993683, 0x55e17e25, 0x7fc94647,
+ 0xa911ef69, 0x8339d70b, 0xfd419fad, 0xd769a7cf, 0x01c158d4,
+ 0x2be960b6, 0x55912810, 0x7fb91072, 0xa961b95c, 0x8349813e,
+ 0xfd31c998, 0xd719f1fa, 0x8bf19d85, 0xa1d9a5e7, 0xdfa1ed41,
+ 0xf589d523, 0x23517c0d, 0x0979446f, 0x77010cc9, 0x5d2934ab,
+ 0xced1d437, 0xe4f9ec55, 0x9a81a4f3, 0xb0a99c91, 0x667135bf,
+ 0x4c590ddd, 0x3221457b, 0x18097d19, 0x44e11166, 0x6ec92904,
+ 0x10b161a2, 0x3a9959c0, 0xec41f0ee, 0xc669c88c, 0xb811802a,
+ 0x9239b848},
+ {0x00000000, 0x4713f6fb, 0x8e27edf6, 0xc9341b0d, 0xc73eddad,
+ 0x802d2b56, 0x4919305b, 0x0e0ac6a0, 0x550cbd1b, 0x121f4be0,
+ 0xdb2b50ed, 0x9c38a616, 0x923260b6, 0xd521964d, 0x1c158d40,
+ 0x5b067bbb, 0xaa197a36, 0xed0a8ccd, 0x243e97c0, 0x632d613b,
+ 0x6d27a79b, 0x2a345160, 0xe3004a6d, 0xa413bc96, 0xff15c72d,
+ 0xb80631d6, 0x71322adb, 0x3621dc20, 0x382b1a80, 0x7f38ec7b,
+ 0xb60cf776, 0xf11f018d, 0x8f43f22d, 0xc85004d6, 0x01641fdb,
+ 0x4677e920, 0x487d2f80, 0x0f6ed97b, 0xc65ac276, 0x8149348d,
+ 0xda4f4f36, 0x9d5cb9cd, 0x5468a2c0, 0x137b543b, 0x1d71929b,
+ 0x5a626460, 0x93567f6d, 0xd4458996, 0x255a881b, 0x62497ee0,
+ 0xab7d65ed, 0xec6e9316, 0xe26455b6, 0xa577a34d, 0x6c43b840,
+ 0x2b504ebb, 0x70563500, 0x3745c3fb, 0xfe71d8f6, 0xb9622e0d,
+ 0xb768e8ad, 0xf07b1e56, 0x394f055b, 0x7e5cf3a0, 0xc5f6e21b,
+ 0x82e514e0, 0x4bd10fed, 0x0cc2f916, 0x02c83fb6, 0x45dbc94d,
+ 0x8cefd240, 0xcbfc24bb, 0x90fa5f00, 0xd7e9a9fb, 0x1eddb2f6,
+ 0x59ce440d, 0x57c482ad, 0x10d77456, 0xd9e36f5b, 0x9ef099a0,
+ 0x6fef982d, 0x28fc6ed6, 0xe1c875db, 0xa6db8320, 0xa8d14580,
+ 0xefc2b37b, 0x26f6a876, 0x61e55e8d, 0x3ae32536, 0x7df0d3cd,
+ 0xb4c4c8c0, 0xf3d73e3b, 0xfdddf89b, 0xbace0e60, 0x73fa156d,
+ 0x34e9e396, 0x4ab51036, 0x0da6e6cd, 0xc492fdc0, 0x83810b3b,
+ 0x8d8bcd9b, 0xca983b60, 0x03ac206d, 0x44bfd696, 0x1fb9ad2d,
+ 0x58aa5bd6, 0x919e40db, 0xd68db620, 0xd8877080, 0x9f94867b,
+ 0x56a09d76, 0x11b36b8d, 0xe0ac6a00, 0xa7bf9cfb, 0x6e8b87f6,
+ 0x2998710d, 0x2792b7ad, 0x60814156, 0xa9b55a5b, 0xeea6aca0,
+ 0xb5a0d71b, 0xf2b321e0, 0x3b873aed, 0x7c94cc16, 0x729e0ab6,
+ 0x358dfc4d, 0xfcb9e740, 0xbbaa11bb, 0x509cc277, 0x178f348c,
+ 0xdebb2f81, 0x99a8d97a, 0x97a21fda, 0xd0b1e921, 0x1985f22c,
+ 0x5e9604d7, 0x05907f6c, 0x42838997, 0x8bb7929a, 0xcca46461,
+ 0xc2aea2c1, 0x85bd543a, 0x4c894f37, 0x0b9ab9cc, 0xfa85b841,
+ 0xbd964eba, 0x74a255b7, 0x33b1a34c, 0x3dbb65ec, 0x7aa89317,
+ 0xb39c881a, 0xf48f7ee1, 0xaf89055a, 0xe89af3a1, 0x21aee8ac,
+ 0x66bd1e57, 0x68b7d8f7, 0x2fa42e0c, 0xe6903501, 0xa183c3fa,
+ 0xdfdf305a, 0x98ccc6a1, 0x51f8ddac, 0x16eb2b57, 0x18e1edf7,
+ 0x5ff21b0c, 0x96c60001, 0xd1d5f6fa, 0x8ad38d41, 0xcdc07bba,
+ 0x04f460b7, 0x43e7964c, 0x4ded50ec, 0x0afea617, 0xc3cabd1a,
+ 0x84d94be1, 0x75c64a6c, 0x32d5bc97, 0xfbe1a79a, 0xbcf25161,
+ 0xb2f897c1, 0xf5eb613a, 0x3cdf7a37, 0x7bcc8ccc, 0x20caf777,
+ 0x67d9018c, 0xaeed1a81, 0xe9feec7a, 0xe7f42ada, 0xa0e7dc21,
+ 0x69d3c72c, 0x2ec031d7, 0x956a206c, 0xd279d697, 0x1b4dcd9a,
+ 0x5c5e3b61, 0x5254fdc1, 0x15470b3a, 0xdc731037, 0x9b60e6cc,
+ 0xc0669d77, 0x87756b8c, 0x4e417081, 0x0952867a, 0x075840da,
+ 0x404bb621, 0x897fad2c, 0xce6c5bd7, 0x3f735a5a, 0x7860aca1,
+ 0xb154b7ac, 0xf6474157, 0xf84d87f7, 0xbf5e710c, 0x766a6a01,
+ 0x31799cfa, 0x6a7fe741, 0x2d6c11ba, 0xe4580ab7, 0xa34bfc4c,
+ 0xad413aec, 0xea52cc17, 0x2366d71a, 0x647521e1, 0x1a29d241,
+ 0x5d3a24ba, 0x940e3fb7, 0xd31dc94c, 0xdd170fec, 0x9a04f917,
+ 0x5330e21a, 0x142314e1, 0x4f256f5a, 0x083699a1, 0xc10282ac,
+ 0x86117457, 0x881bb2f7, 0xcf08440c, 0x063c5f01, 0x412fa9fa,
+ 0xb030a877, 0xf7235e8c, 0x3e174581, 0x7904b37a, 0x770e75da,
+ 0x301d8321, 0xf929982c, 0xbe3a6ed7, 0xe53c156c, 0xa22fe397,
+ 0x6b1bf89a, 0x2c080e61, 0x2202c8c1, 0x65113e3a, 0xac252537,
+ 0xeb36d3cc},
+ {0x00000000, 0xa13984ee, 0x99020f9d, 0x383b8b73, 0xe975197b,
+ 0x484c9d95, 0x707716e6, 0xd14e9208, 0x099b34b7, 0xa8a2b059,
+ 0x90993b2a, 0x31a0bfc4, 0xe0ee2dcc, 0x41d7a922, 0x79ec2251,
+ 0xd8d5a6bf, 0x1336696e, 0xb20fed80, 0x8a3466f3, 0x2b0de21d,
+ 0xfa437015, 0x5b7af4fb, 0x63417f88, 0xc278fb66, 0x1aad5dd9,
+ 0xbb94d937, 0x83af5244, 0x2296d6aa, 0xf3d844a2, 0x52e1c04c,
+ 0x6ada4b3f, 0xcbe3cfd1, 0x266cd2dc, 0x87555632, 0xbf6edd41,
+ 0x1e5759af, 0xcf19cba7, 0x6e204f49, 0x561bc43a, 0xf72240d4,
+ 0x2ff7e66b, 0x8ece6285, 0xb6f5e9f6, 0x17cc6d18, 0xc682ff10,
+ 0x67bb7bfe, 0x5f80f08d, 0xfeb97463, 0x355abbb2, 0x94633f5c,
+ 0xac58b42f, 0x0d6130c1, 0xdc2fa2c9, 0x7d162627, 0x452dad54,
+ 0xe41429ba, 0x3cc18f05, 0x9df80beb, 0xa5c38098, 0x04fa0476,
+ 0xd5b4967e, 0x748d1290, 0x4cb699e3, 0xed8f1d0d, 0x4cd9a5b8,
+ 0xede02156, 0xd5dbaa25, 0x74e22ecb, 0xa5acbcc3, 0x0495382d,
+ 0x3caeb35e, 0x9d9737b0, 0x4542910f, 0xe47b15e1, 0xdc409e92,
+ 0x7d791a7c, 0xac378874, 0x0d0e0c9a, 0x353587e9, 0x940c0307,
+ 0x5fefccd6, 0xfed64838, 0xc6edc34b, 0x67d447a5, 0xb69ad5ad,
+ 0x17a35143, 0x2f98da30, 0x8ea15ede, 0x5674f861, 0xf74d7c8f,
+ 0xcf76f7fc, 0x6e4f7312, 0xbf01e11a, 0x1e3865f4, 0x2603ee87,
+ 0x873a6a69, 0x6ab57764, 0xcb8cf38a, 0xf3b778f9, 0x528efc17,
+ 0x83c06e1f, 0x22f9eaf1, 0x1ac26182, 0xbbfbe56c, 0x632e43d3,
+ 0xc217c73d, 0xfa2c4c4e, 0x5b15c8a0, 0x8a5b5aa8, 0x2b62de46,
+ 0x13595535, 0xb260d1db, 0x79831e0a, 0xd8ba9ae4, 0xe0811197,
+ 0x41b89579, 0x90f60771, 0x31cf839f, 0x09f408ec, 0xa8cd8c02,
+ 0x70182abd, 0xd121ae53, 0xe91a2520, 0x4823a1ce, 0x996d33c6,
+ 0x3854b728, 0x006f3c5b, 0xa156b8b5, 0x99b34b70, 0x388acf9e,
+ 0x00b144ed, 0xa188c003, 0x70c6520b, 0xd1ffd6e5, 0xe9c45d96,
+ 0x48fdd978, 0x90287fc7, 0x3111fb29, 0x092a705a, 0xa813f4b4,
+ 0x795d66bc, 0xd864e252, 0xe05f6921, 0x4166edcf, 0x8a85221e,
+ 0x2bbca6f0, 0x13872d83, 0xb2bea96d, 0x63f03b65, 0xc2c9bf8b,
+ 0xfaf234f8, 0x5bcbb016, 0x831e16a9, 0x22279247, 0x1a1c1934,
+ 0xbb259dda, 0x6a6b0fd2, 0xcb528b3c, 0xf369004f, 0x525084a1,
+ 0xbfdf99ac, 0x1ee61d42, 0x26dd9631, 0x87e412df, 0x56aa80d7,
+ 0xf7930439, 0xcfa88f4a, 0x6e910ba4, 0xb644ad1b, 0x177d29f5,
+ 0x2f46a286, 0x8e7f2668, 0x5f31b460, 0xfe08308e, 0xc633bbfd,
+ 0x670a3f13, 0xace9f0c2, 0x0dd0742c, 0x35ebff5f, 0x94d27bb1,
+ 0x459ce9b9, 0xe4a56d57, 0xdc9ee624, 0x7da762ca, 0xa572c475,
+ 0x044b409b, 0x3c70cbe8, 0x9d494f06, 0x4c07dd0e, 0xed3e59e0,
+ 0xd505d293, 0x743c567d, 0xd56aeec8, 0x74536a26, 0x4c68e155,
+ 0xed5165bb, 0x3c1ff7b3, 0x9d26735d, 0xa51df82e, 0x04247cc0,
+ 0xdcf1da7f, 0x7dc85e91, 0x45f3d5e2, 0xe4ca510c, 0x3584c304,
+ 0x94bd47ea, 0xac86cc99, 0x0dbf4877, 0xc65c87a6, 0x67650348,
+ 0x5f5e883b, 0xfe670cd5, 0x2f299edd, 0x8e101a33, 0xb62b9140,
+ 0x171215ae, 0xcfc7b311, 0x6efe37ff, 0x56c5bc8c, 0xf7fc3862,
+ 0x26b2aa6a, 0x878b2e84, 0xbfb0a5f7, 0x1e892119, 0xf3063c14,
+ 0x523fb8fa, 0x6a043389, 0xcb3db767, 0x1a73256f, 0xbb4aa181,
+ 0x83712af2, 0x2248ae1c, 0xfa9d08a3, 0x5ba48c4d, 0x639f073e,
+ 0xc2a683d0, 0x13e811d8, 0xb2d19536, 0x8aea1e45, 0x2bd39aab,
+ 0xe030557a, 0x4109d194, 0x79325ae7, 0xd80bde09, 0x09454c01,
+ 0xa87cc8ef, 0x9047439c, 0x317ec772, 0xe9ab61cd, 0x4892e523,
+ 0x70a96e50, 0xd190eabe, 0x00de78b6, 0xa1e7fc58, 0x99dc772b,
+ 0x38e5f3c5},
+ {0x00000000, 0xe81790a1, 0x0b5e2703, 0xe349b7a2, 0x16bc4e06,
+ 0xfeabdea7, 0x1de26905, 0xf5f5f9a4, 0x2d789c0c, 0xc56f0cad,
+ 0x2626bb0f, 0xce312bae, 0x3bc4d20a, 0xd3d342ab, 0x309af509,
+ 0xd88d65a8, 0x5af13818, 0xb2e6a8b9, 0x51af1f1b, 0xb9b88fba,
+ 0x4c4d761e, 0xa45ae6bf, 0x4713511d, 0xaf04c1bc, 0x7789a414,
+ 0x9f9e34b5, 0x7cd78317, 0x94c013b6, 0x6135ea12, 0x89227ab3,
+ 0x6a6bcd11, 0x827c5db0, 0xb5e27030, 0x5df5e091, 0xbebc5733,
+ 0x56abc792, 0xa35e3e36, 0x4b49ae97, 0xa8001935, 0x40178994,
+ 0x989aec3c, 0x708d7c9d, 0x93c4cb3f, 0x7bd35b9e, 0x8e26a23a,
+ 0x6631329b, 0x85788539, 0x6d6f1598, 0xef134828, 0x0704d889,
+ 0xe44d6f2b, 0x0c5aff8a, 0xf9af062e, 0x11b8968f, 0xf2f1212d,
+ 0x1ae6b18c, 0xc26bd424, 0x2a7c4485, 0xc935f327, 0x21226386,
+ 0xd4d79a22, 0x3cc00a83, 0xdf89bd21, 0x379e2d80, 0xb0b5e621,
+ 0x58a27680, 0xbbebc122, 0x53fc5183, 0xa609a827, 0x4e1e3886,
+ 0xad578f24, 0x45401f85, 0x9dcd7a2d, 0x75daea8c, 0x96935d2e,
+ 0x7e84cd8f, 0x8b71342b, 0x6366a48a, 0x802f1328, 0x68388389,
+ 0xea44de39, 0x02534e98, 0xe11af93a, 0x090d699b, 0xfcf8903f,
+ 0x14ef009e, 0xf7a6b73c, 0x1fb1279d, 0xc73c4235, 0x2f2bd294,
+ 0xcc626536, 0x2475f597, 0xd1800c33, 0x39979c92, 0xdade2b30,
+ 0x32c9bb91, 0x05579611, 0xed4006b0, 0x0e09b112, 0xe61e21b3,
+ 0x13ebd817, 0xfbfc48b6, 0x18b5ff14, 0xf0a26fb5, 0x282f0a1d,
+ 0xc0389abc, 0x23712d1e, 0xcb66bdbf, 0x3e93441b, 0xd684d4ba,
+ 0x35cd6318, 0xdddaf3b9, 0x5fa6ae09, 0xb7b13ea8, 0x54f8890a,
+ 0xbcef19ab, 0x491ae00f, 0xa10d70ae, 0x4244c70c, 0xaa5357ad,
+ 0x72de3205, 0x9ac9a2a4, 0x79801506, 0x919785a7, 0x64627c03,
+ 0x8c75eca2, 0x6f3c5b00, 0x872bcba1, 0xba1aca03, 0x520d5aa2,
+ 0xb144ed00, 0x59537da1, 0xaca68405, 0x44b114a4, 0xa7f8a306,
+ 0x4fef33a7, 0x9762560f, 0x7f75c6ae, 0x9c3c710c, 0x742be1ad,
+ 0x81de1809, 0x69c988a8, 0x8a803f0a, 0x6297afab, 0xe0ebf21b,
+ 0x08fc62ba, 0xebb5d518, 0x03a245b9, 0xf657bc1d, 0x1e402cbc,
+ 0xfd099b1e, 0x151e0bbf, 0xcd936e17, 0x2584feb6, 0xc6cd4914,
+ 0x2edad9b5, 0xdb2f2011, 0x3338b0b0, 0xd0710712, 0x386697b3,
+ 0x0ff8ba33, 0xe7ef2a92, 0x04a69d30, 0xecb10d91, 0x1944f435,
+ 0xf1536494, 0x121ad336, 0xfa0d4397, 0x2280263f, 0xca97b69e,
+ 0x29de013c, 0xc1c9919d, 0x343c6839, 0xdc2bf898, 0x3f624f3a,
+ 0xd775df9b, 0x5509822b, 0xbd1e128a, 0x5e57a528, 0xb6403589,
+ 0x43b5cc2d, 0xaba25c8c, 0x48ebeb2e, 0xa0fc7b8f, 0x78711e27,
+ 0x90668e86, 0x732f3924, 0x9b38a985, 0x6ecd5021, 0x86dac080,
+ 0x65937722, 0x8d84e783, 0x0aaf2c22, 0xe2b8bc83, 0x01f10b21,
+ 0xe9e69b80, 0x1c136224, 0xf404f285, 0x174d4527, 0xff5ad586,
+ 0x27d7b02e, 0xcfc0208f, 0x2c89972d, 0xc49e078c, 0x316bfe28,
+ 0xd97c6e89, 0x3a35d92b, 0xd222498a, 0x505e143a, 0xb849849b,
+ 0x5b003339, 0xb317a398, 0x46e25a3c, 0xaef5ca9d, 0x4dbc7d3f,
+ 0xa5abed9e, 0x7d268836, 0x95311897, 0x7678af35, 0x9e6f3f94,
+ 0x6b9ac630, 0x838d5691, 0x60c4e133, 0x88d37192, 0xbf4d5c12,
+ 0x575accb3, 0xb4137b11, 0x5c04ebb0, 0xa9f11214, 0x41e682b5,
+ 0xa2af3517, 0x4ab8a5b6, 0x9235c01e, 0x7a2250bf, 0x996be71d,
+ 0x717c77bc, 0x84898e18, 0x6c9e1eb9, 0x8fd7a91b, 0x67c039ba,
+ 0xe5bc640a, 0x0dabf4ab, 0xeee24309, 0x06f5d3a8, 0xf3002a0c,
+ 0x1b17baad, 0xf85e0d0f, 0x10499dae, 0xc8c4f806, 0x20d368a7,
+ 0xc39adf05, 0x2b8d4fa4, 0xde78b600, 0x366f26a1, 0xd5269103,
+ 0x3d3101a2}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x0000000000000000, 0xa19017e800000000, 0x03275e0b00000000,
+ 0xa2b749e300000000, 0x064ebc1600000000, 0xa7deabfe00000000,
+ 0x0569e21d00000000, 0xa4f9f5f500000000, 0x0c9c782d00000000,
+ 0xad0c6fc500000000, 0x0fbb262600000000, 0xae2b31ce00000000,
+ 0x0ad2c43b00000000, 0xab42d3d300000000, 0x09f59a3000000000,
+ 0xa8658dd800000000, 0x1838f15a00000000, 0xb9a8e6b200000000,
+ 0x1b1faf5100000000, 0xba8fb8b900000000, 0x1e764d4c00000000,
+ 0xbfe65aa400000000, 0x1d51134700000000, 0xbcc104af00000000,
+ 0x14a4897700000000, 0xb5349e9f00000000, 0x1783d77c00000000,
+ 0xb613c09400000000, 0x12ea356100000000, 0xb37a228900000000,
+ 0x11cd6b6a00000000, 0xb05d7c8200000000, 0x3070e2b500000000,
+ 0x91e0f55d00000000, 0x3357bcbe00000000, 0x92c7ab5600000000,
+ 0x363e5ea300000000, 0x97ae494b00000000, 0x351900a800000000,
+ 0x9489174000000000, 0x3cec9a9800000000, 0x9d7c8d7000000000,
+ 0x3fcbc49300000000, 0x9e5bd37b00000000, 0x3aa2268e00000000,
+ 0x9b32316600000000, 0x3985788500000000, 0x98156f6d00000000,
+ 0x284813ef00000000, 0x89d8040700000000, 0x2b6f4de400000000,
+ 0x8aff5a0c00000000, 0x2e06aff900000000, 0x8f96b81100000000,
+ 0x2d21f1f200000000, 0x8cb1e61a00000000, 0x24d46bc200000000,
+ 0x85447c2a00000000, 0x27f335c900000000, 0x8663222100000000,
+ 0x229ad7d400000000, 0x830ac03c00000000, 0x21bd89df00000000,
+ 0x802d9e3700000000, 0x21e6b5b000000000, 0x8076a25800000000,
+ 0x22c1ebbb00000000, 0x8351fc5300000000, 0x27a809a600000000,
+ 0x86381e4e00000000, 0x248f57ad00000000, 0x851f404500000000,
+ 0x2d7acd9d00000000, 0x8ceada7500000000, 0x2e5d939600000000,
+ 0x8fcd847e00000000, 0x2b34718b00000000, 0x8aa4666300000000,
+ 0x28132f8000000000, 0x8983386800000000, 0x39de44ea00000000,
+ 0x984e530200000000, 0x3af91ae100000000, 0x9b690d0900000000,
+ 0x3f90f8fc00000000, 0x9e00ef1400000000, 0x3cb7a6f700000000,
+ 0x9d27b11f00000000, 0x35423cc700000000, 0x94d22b2f00000000,
+ 0x366562cc00000000, 0x97f5752400000000, 0x330c80d100000000,
+ 0x929c973900000000, 0x302bdeda00000000, 0x91bbc93200000000,
+ 0x1196570500000000, 0xb00640ed00000000, 0x12b1090e00000000,
+ 0xb3211ee600000000, 0x17d8eb1300000000, 0xb648fcfb00000000,
+ 0x14ffb51800000000, 0xb56fa2f000000000, 0x1d0a2f2800000000,
+ 0xbc9a38c000000000, 0x1e2d712300000000, 0xbfbd66cb00000000,
+ 0x1b44933e00000000, 0xbad484d600000000, 0x1863cd3500000000,
+ 0xb9f3dadd00000000, 0x09aea65f00000000, 0xa83eb1b700000000,
+ 0x0a89f85400000000, 0xab19efbc00000000, 0x0fe01a4900000000,
+ 0xae700da100000000, 0x0cc7444200000000, 0xad5753aa00000000,
+ 0x0532de7200000000, 0xa4a2c99a00000000, 0x0615807900000000,
+ 0xa785979100000000, 0x037c626400000000, 0xa2ec758c00000000,
+ 0x005b3c6f00000000, 0xa1cb2b8700000000, 0x03ca1aba00000000,
+ 0xa25a0d5200000000, 0x00ed44b100000000, 0xa17d535900000000,
+ 0x0584a6ac00000000, 0xa414b14400000000, 0x06a3f8a700000000,
+ 0xa733ef4f00000000, 0x0f56629700000000, 0xaec6757f00000000,
+ 0x0c713c9c00000000, 0xade12b7400000000, 0x0918de8100000000,
+ 0xa888c96900000000, 0x0a3f808a00000000, 0xabaf976200000000,
+ 0x1bf2ebe000000000, 0xba62fc0800000000, 0x18d5b5eb00000000,
+ 0xb945a20300000000, 0x1dbc57f600000000, 0xbc2c401e00000000,
+ 0x1e9b09fd00000000, 0xbf0b1e1500000000, 0x176e93cd00000000,
+ 0xb6fe842500000000, 0x1449cdc600000000, 0xb5d9da2e00000000,
+ 0x11202fdb00000000, 0xb0b0383300000000, 0x120771d000000000,
+ 0xb397663800000000, 0x33baf80f00000000, 0x922aefe700000000,
+ 0x309da60400000000, 0x910db1ec00000000, 0x35f4441900000000,
+ 0x946453f100000000, 0x36d31a1200000000, 0x97430dfa00000000,
+ 0x3f26802200000000, 0x9eb697ca00000000, 0x3c01de2900000000,
+ 0x9d91c9c100000000, 0x39683c3400000000, 0x98f82bdc00000000,
+ 0x3a4f623f00000000, 0x9bdf75d700000000, 0x2b82095500000000,
+ 0x8a121ebd00000000, 0x28a5575e00000000, 0x893540b600000000,
+ 0x2dccb54300000000, 0x8c5ca2ab00000000, 0x2eebeb4800000000,
+ 0x8f7bfca000000000, 0x271e717800000000, 0x868e669000000000,
+ 0x24392f7300000000, 0x85a9389b00000000, 0x2150cd6e00000000,
+ 0x80c0da8600000000, 0x2277936500000000, 0x83e7848d00000000,
+ 0x222caf0a00000000, 0x83bcb8e200000000, 0x210bf10100000000,
+ 0x809be6e900000000, 0x2462131c00000000, 0x85f204f400000000,
+ 0x27454d1700000000, 0x86d55aff00000000, 0x2eb0d72700000000,
+ 0x8f20c0cf00000000, 0x2d97892c00000000, 0x8c079ec400000000,
+ 0x28fe6b3100000000, 0x896e7cd900000000, 0x2bd9353a00000000,
+ 0x8a4922d200000000, 0x3a145e5000000000, 0x9b8449b800000000,
+ 0x3933005b00000000, 0x98a317b300000000, 0x3c5ae24600000000,
+ 0x9dcaf5ae00000000, 0x3f7dbc4d00000000, 0x9eedaba500000000,
+ 0x3688267d00000000, 0x9718319500000000, 0x35af787600000000,
+ 0x943f6f9e00000000, 0x30c69a6b00000000, 0x91568d8300000000,
+ 0x33e1c46000000000, 0x9271d38800000000, 0x125c4dbf00000000,
+ 0xb3cc5a5700000000, 0x117b13b400000000, 0xb0eb045c00000000,
+ 0x1412f1a900000000, 0xb582e64100000000, 0x1735afa200000000,
+ 0xb6a5b84a00000000, 0x1ec0359200000000, 0xbf50227a00000000,
+ 0x1de76b9900000000, 0xbc777c7100000000, 0x188e898400000000,
+ 0xb91e9e6c00000000, 0x1ba9d78f00000000, 0xba39c06700000000,
+ 0x0a64bce500000000, 0xabf4ab0d00000000, 0x0943e2ee00000000,
+ 0xa8d3f50600000000, 0x0c2a00f300000000, 0xadba171b00000000,
+ 0x0f0d5ef800000000, 0xae9d491000000000, 0x06f8c4c800000000,
+ 0xa768d32000000000, 0x05df9ac300000000, 0xa44f8d2b00000000,
+ 0x00b678de00000000, 0xa1266f3600000000, 0x039126d500000000,
+ 0xa201313d00000000},
+ {0x0000000000000000, 0xee8439a100000000, 0x9d0f029900000000,
+ 0x738b3b3800000000, 0x7b1975e900000000, 0x959d4c4800000000,
+ 0xe616777000000000, 0x08924ed100000000, 0xb7349b0900000000,
+ 0x59b0a2a800000000, 0x2a3b999000000000, 0xc4bfa03100000000,
+ 0xcc2deee000000000, 0x22a9d74100000000, 0x5122ec7900000000,
+ 0xbfa6d5d800000000, 0x6e69361300000000, 0x80ed0fb200000000,
+ 0xf366348a00000000, 0x1de20d2b00000000, 0x157043fa00000000,
+ 0xfbf47a5b00000000, 0x887f416300000000, 0x66fb78c200000000,
+ 0xd95dad1a00000000, 0x37d994bb00000000, 0x4452af8300000000,
+ 0xaad6962200000000, 0xa244d8f300000000, 0x4cc0e15200000000,
+ 0x3f4bda6a00000000, 0xd1cfe3cb00000000, 0xdcd26c2600000000,
+ 0x3256558700000000, 0x41dd6ebf00000000, 0xaf59571e00000000,
+ 0xa7cb19cf00000000, 0x494f206e00000000, 0x3ac41b5600000000,
+ 0xd44022f700000000, 0x6be6f72f00000000, 0x8562ce8e00000000,
+ 0xf6e9f5b600000000, 0x186dcc1700000000, 0x10ff82c600000000,
+ 0xfe7bbb6700000000, 0x8df0805f00000000, 0x6374b9fe00000000,
+ 0xb2bb5a3500000000, 0x5c3f639400000000, 0x2fb458ac00000000,
+ 0xc130610d00000000, 0xc9a22fdc00000000, 0x2726167d00000000,
+ 0x54ad2d4500000000, 0xba2914e400000000, 0x058fc13c00000000,
+ 0xeb0bf89d00000000, 0x9880c3a500000000, 0x7604fa0400000000,
+ 0x7e96b4d500000000, 0x90128d7400000000, 0xe399b64c00000000,
+ 0x0d1d8fed00000000, 0xb8a5d94c00000000, 0x5621e0ed00000000,
+ 0x25aadbd500000000, 0xcb2ee27400000000, 0xc3bcaca500000000,
+ 0x2d38950400000000, 0x5eb3ae3c00000000, 0xb037979d00000000,
+ 0x0f91424500000000, 0xe1157be400000000, 0x929e40dc00000000,
+ 0x7c1a797d00000000, 0x748837ac00000000, 0x9a0c0e0d00000000,
+ 0xe987353500000000, 0x07030c9400000000, 0xd6ccef5f00000000,
+ 0x3848d6fe00000000, 0x4bc3edc600000000, 0xa547d46700000000,
+ 0xadd59ab600000000, 0x4351a31700000000, 0x30da982f00000000,
+ 0xde5ea18e00000000, 0x61f8745600000000, 0x8f7c4df700000000,
+ 0xfcf776cf00000000, 0x12734f6e00000000, 0x1ae101bf00000000,
+ 0xf465381e00000000, 0x87ee032600000000, 0x696a3a8700000000,
+ 0x6477b56a00000000, 0x8af38ccb00000000, 0xf978b7f300000000,
+ 0x17fc8e5200000000, 0x1f6ec08300000000, 0xf1eaf92200000000,
+ 0x8261c21a00000000, 0x6ce5fbbb00000000, 0xd3432e6300000000,
+ 0x3dc717c200000000, 0x4e4c2cfa00000000, 0xa0c8155b00000000,
+ 0xa85a5b8a00000000, 0x46de622b00000000, 0x3555591300000000,
+ 0xdbd160b200000000, 0x0a1e837900000000, 0xe49abad800000000,
+ 0x971181e000000000, 0x7995b84100000000, 0x7107f69000000000,
+ 0x9f83cf3100000000, 0xec08f40900000000, 0x028ccda800000000,
+ 0xbd2a187000000000, 0x53ae21d100000000, 0x20251ae900000000,
+ 0xcea1234800000000, 0xc6336d9900000000, 0x28b7543800000000,
+ 0x5b3c6f0000000000, 0xb5b856a100000000, 0x704bb39900000000,
+ 0x9ecf8a3800000000, 0xed44b10000000000, 0x03c088a100000000,
+ 0x0b52c67000000000, 0xe5d6ffd100000000, 0x965dc4e900000000,
+ 0x78d9fd4800000000, 0xc77f289000000000, 0x29fb113100000000,
+ 0x5a702a0900000000, 0xb4f413a800000000, 0xbc665d7900000000,
+ 0x52e264d800000000, 0x21695fe000000000, 0xcfed664100000000,
+ 0x1e22858a00000000, 0xf0a6bc2b00000000, 0x832d871300000000,
+ 0x6da9beb200000000, 0x653bf06300000000, 0x8bbfc9c200000000,
+ 0xf834f2fa00000000, 0x16b0cb5b00000000, 0xa9161e8300000000,
+ 0x4792272200000000, 0x34191c1a00000000, 0xda9d25bb00000000,
+ 0xd20f6b6a00000000, 0x3c8b52cb00000000, 0x4f0069f300000000,
+ 0xa184505200000000, 0xac99dfbf00000000, 0x421de61e00000000,
+ 0x3196dd2600000000, 0xdf12e48700000000, 0xd780aa5600000000,
+ 0x390493f700000000, 0x4a8fa8cf00000000, 0xa40b916e00000000,
+ 0x1bad44b600000000, 0xf5297d1700000000, 0x86a2462f00000000,
+ 0x68267f8e00000000, 0x60b4315f00000000, 0x8e3008fe00000000,
+ 0xfdbb33c600000000, 0x133f0a6700000000, 0xc2f0e9ac00000000,
+ 0x2c74d00d00000000, 0x5fffeb3500000000, 0xb17bd29400000000,
+ 0xb9e99c4500000000, 0x576da5e400000000, 0x24e69edc00000000,
+ 0xca62a77d00000000, 0x75c472a500000000, 0x9b404b0400000000,
+ 0xe8cb703c00000000, 0x064f499d00000000, 0x0edd074c00000000,
+ 0xe0593eed00000000, 0x93d205d500000000, 0x7d563c7400000000,
+ 0xc8ee6ad500000000, 0x266a537400000000, 0x55e1684c00000000,
+ 0xbb6551ed00000000, 0xb3f71f3c00000000, 0x5d73269d00000000,
+ 0x2ef81da500000000, 0xc07c240400000000, 0x7fdaf1dc00000000,
+ 0x915ec87d00000000, 0xe2d5f34500000000, 0x0c51cae400000000,
+ 0x04c3843500000000, 0xea47bd9400000000, 0x99cc86ac00000000,
+ 0x7748bf0d00000000, 0xa6875cc600000000, 0x4803656700000000,
+ 0x3b885e5f00000000, 0xd50c67fe00000000, 0xdd9e292f00000000,
+ 0x331a108e00000000, 0x40912bb600000000, 0xae15121700000000,
+ 0x11b3c7cf00000000, 0xff37fe6e00000000, 0x8cbcc55600000000,
+ 0x6238fcf700000000, 0x6aaab22600000000, 0x842e8b8700000000,
+ 0xf7a5b0bf00000000, 0x1921891e00000000, 0x143c06f300000000,
+ 0xfab83f5200000000, 0x8933046a00000000, 0x67b73dcb00000000,
+ 0x6f25731a00000000, 0x81a14abb00000000, 0xf22a718300000000,
+ 0x1cae482200000000, 0xa3089dfa00000000, 0x4d8ca45b00000000,
+ 0x3e079f6300000000, 0xd083a6c200000000, 0xd811e81300000000,
+ 0x3695d1b200000000, 0x451eea8a00000000, 0xab9ad32b00000000,
+ 0x7a5530e000000000, 0x94d1094100000000, 0xe75a327900000000,
+ 0x09de0bd800000000, 0x014c450900000000, 0xefc87ca800000000,
+ 0x9c43479000000000, 0x72c77e3100000000, 0xcd61abe900000000,
+ 0x23e5924800000000, 0x506ea97000000000, 0xbeea90d100000000,
+ 0xb678de0000000000, 0x58fce7a100000000, 0x2b77dc9900000000,
+ 0xc5f3e53800000000},
+ {0x0000000000000000, 0xfbf6134700000000, 0xf6ed278e00000000,
+ 0x0d1b34c900000000, 0xaddd3ec700000000, 0x562b2d8000000000,
+ 0x5b30194900000000, 0xa0c60a0e00000000, 0x1bbd0c5500000000,
+ 0xe04b1f1200000000, 0xed502bdb00000000, 0x16a6389c00000000,
+ 0xb660329200000000, 0x4d9621d500000000, 0x408d151c00000000,
+ 0xbb7b065b00000000, 0x367a19aa00000000, 0xcd8c0aed00000000,
+ 0xc0973e2400000000, 0x3b612d6300000000, 0x9ba7276d00000000,
+ 0x6051342a00000000, 0x6d4a00e300000000, 0x96bc13a400000000,
+ 0x2dc715ff00000000, 0xd63106b800000000, 0xdb2a327100000000,
+ 0x20dc213600000000, 0x801a2b3800000000, 0x7bec387f00000000,
+ 0x76f70cb600000000, 0x8d011ff100000000, 0x2df2438f00000000,
+ 0xd60450c800000000, 0xdb1f640100000000, 0x20e9774600000000,
+ 0x802f7d4800000000, 0x7bd96e0f00000000, 0x76c25ac600000000,
+ 0x8d34498100000000, 0x364f4fda00000000, 0xcdb95c9d00000000,
+ 0xc0a2685400000000, 0x3b547b1300000000, 0x9b92711d00000000,
+ 0x6064625a00000000, 0x6d7f569300000000, 0x968945d400000000,
+ 0x1b885a2500000000, 0xe07e496200000000, 0xed657dab00000000,
+ 0x16936eec00000000, 0xb65564e200000000, 0x4da377a500000000,
+ 0x40b8436c00000000, 0xbb4e502b00000000, 0x0035567000000000,
+ 0xfbc3453700000000, 0xf6d871fe00000000, 0x0d2e62b900000000,
+ 0xade868b700000000, 0x561e7bf000000000, 0x5b054f3900000000,
+ 0xa0f35c7e00000000, 0x1be2f6c500000000, 0xe014e58200000000,
+ 0xed0fd14b00000000, 0x16f9c20c00000000, 0xb63fc80200000000,
+ 0x4dc9db4500000000, 0x40d2ef8c00000000, 0xbb24fccb00000000,
+ 0x005ffa9000000000, 0xfba9e9d700000000, 0xf6b2dd1e00000000,
+ 0x0d44ce5900000000, 0xad82c45700000000, 0x5674d71000000000,
+ 0x5b6fe3d900000000, 0xa099f09e00000000, 0x2d98ef6f00000000,
+ 0xd66efc2800000000, 0xdb75c8e100000000, 0x2083dba600000000,
+ 0x8045d1a800000000, 0x7bb3c2ef00000000, 0x76a8f62600000000,
+ 0x8d5ee56100000000, 0x3625e33a00000000, 0xcdd3f07d00000000,
+ 0xc0c8c4b400000000, 0x3b3ed7f300000000, 0x9bf8ddfd00000000,
+ 0x600eceba00000000, 0x6d15fa7300000000, 0x96e3e93400000000,
+ 0x3610b54a00000000, 0xcde6a60d00000000, 0xc0fd92c400000000,
+ 0x3b0b818300000000, 0x9bcd8b8d00000000, 0x603b98ca00000000,
+ 0x6d20ac0300000000, 0x96d6bf4400000000, 0x2dadb91f00000000,
+ 0xd65baa5800000000, 0xdb409e9100000000, 0x20b68dd600000000,
+ 0x807087d800000000, 0x7b86949f00000000, 0x769da05600000000,
+ 0x8d6bb31100000000, 0x006aace000000000, 0xfb9cbfa700000000,
+ 0xf6878b6e00000000, 0x0d71982900000000, 0xadb7922700000000,
+ 0x5641816000000000, 0x5b5ab5a900000000, 0xa0aca6ee00000000,
+ 0x1bd7a0b500000000, 0xe021b3f200000000, 0xed3a873b00000000,
+ 0x16cc947c00000000, 0xb60a9e7200000000, 0x4dfc8d3500000000,
+ 0x40e7b9fc00000000, 0xbb11aabb00000000, 0x77c29c5000000000,
+ 0x8c348f1700000000, 0x812fbbde00000000, 0x7ad9a89900000000,
+ 0xda1fa29700000000, 0x21e9b1d000000000, 0x2cf2851900000000,
+ 0xd704965e00000000, 0x6c7f900500000000, 0x9789834200000000,
+ 0x9a92b78b00000000, 0x6164a4cc00000000, 0xc1a2aec200000000,
+ 0x3a54bd8500000000, 0x374f894c00000000, 0xccb99a0b00000000,
+ 0x41b885fa00000000, 0xba4e96bd00000000, 0xb755a27400000000,
+ 0x4ca3b13300000000, 0xec65bb3d00000000, 0x1793a87a00000000,
+ 0x1a889cb300000000, 0xe17e8ff400000000, 0x5a0589af00000000,
+ 0xa1f39ae800000000, 0xace8ae2100000000, 0x571ebd6600000000,
+ 0xf7d8b76800000000, 0x0c2ea42f00000000, 0x013590e600000000,
+ 0xfac383a100000000, 0x5a30dfdf00000000, 0xa1c6cc9800000000,
+ 0xacddf85100000000, 0x572beb1600000000, 0xf7ede11800000000,
+ 0x0c1bf25f00000000, 0x0100c69600000000, 0xfaf6d5d100000000,
+ 0x418dd38a00000000, 0xba7bc0cd00000000, 0xb760f40400000000,
+ 0x4c96e74300000000, 0xec50ed4d00000000, 0x17a6fe0a00000000,
+ 0x1abdcac300000000, 0xe14bd98400000000, 0x6c4ac67500000000,
+ 0x97bcd53200000000, 0x9aa7e1fb00000000, 0x6151f2bc00000000,
+ 0xc197f8b200000000, 0x3a61ebf500000000, 0x377adf3c00000000,
+ 0xcc8ccc7b00000000, 0x77f7ca2000000000, 0x8c01d96700000000,
+ 0x811aedae00000000, 0x7aecfee900000000, 0xda2af4e700000000,
+ 0x21dce7a000000000, 0x2cc7d36900000000, 0xd731c02e00000000,
+ 0x6c206a9500000000, 0x97d679d200000000, 0x9acd4d1b00000000,
+ 0x613b5e5c00000000, 0xc1fd545200000000, 0x3a0b471500000000,
+ 0x371073dc00000000, 0xcce6609b00000000, 0x779d66c000000000,
+ 0x8c6b758700000000, 0x8170414e00000000, 0x7a86520900000000,
+ 0xda40580700000000, 0x21b64b4000000000, 0x2cad7f8900000000,
+ 0xd75b6cce00000000, 0x5a5a733f00000000, 0xa1ac607800000000,
+ 0xacb754b100000000, 0x574147f600000000, 0xf7874df800000000,
+ 0x0c715ebf00000000, 0x016a6a7600000000, 0xfa9c793100000000,
+ 0x41e77f6a00000000, 0xba116c2d00000000, 0xb70a58e400000000,
+ 0x4cfc4ba300000000, 0xec3a41ad00000000, 0x17cc52ea00000000,
+ 0x1ad7662300000000, 0xe121756400000000, 0x41d2291a00000000,
+ 0xba243a5d00000000, 0xb73f0e9400000000, 0x4cc91dd300000000,
+ 0xec0f17dd00000000, 0x17f9049a00000000, 0x1ae2305300000000,
+ 0xe114231400000000, 0x5a6f254f00000000, 0xa199360800000000,
+ 0xac8202c100000000, 0x5774118600000000, 0xf7b21b8800000000,
+ 0x0c4408cf00000000, 0x015f3c0600000000, 0xfaa92f4100000000,
+ 0x77a830b000000000, 0x8c5e23f700000000, 0x8145173e00000000,
+ 0x7ab3047900000000, 0xda750e7700000000, 0x21831d3000000000,
+ 0x2c9829f900000000, 0xd76e3abe00000000, 0x6c153ce500000000,
+ 0x97e32fa200000000, 0x9af81b6b00000000, 0x610e082c00000000,
+ 0xc1c8022200000000, 0x3a3e116500000000, 0x372525ac00000000,
+ 0xccd336eb00000000},
+ {0x0000000000000000, 0x6238282a00000000, 0xc470505400000000,
+ 0xa648787e00000000, 0x88e1a0a800000000, 0xead9888200000000,
+ 0x4c91f0fc00000000, 0x2ea9d8d600000000, 0x51c5308a00000000,
+ 0x33fd18a000000000, 0x95b560de00000000, 0xf78d48f400000000,
+ 0xd924902200000000, 0xbb1cb80800000000, 0x1d54c07600000000,
+ 0x7f6ce85c00000000, 0xe38c10cf00000000, 0x81b438e500000000,
+ 0x27fc409b00000000, 0x45c468b100000000, 0x6b6db06700000000,
+ 0x0955984d00000000, 0xaf1de03300000000, 0xcd25c81900000000,
+ 0xb249204500000000, 0xd071086f00000000, 0x7639701100000000,
+ 0x1401583b00000000, 0x3aa880ed00000000, 0x5890a8c700000000,
+ 0xfed8d0b900000000, 0x9ce0f89300000000, 0x871f504500000000,
+ 0xe527786f00000000, 0x436f001100000000, 0x2157283b00000000,
+ 0x0ffef0ed00000000, 0x6dc6d8c700000000, 0xcb8ea0b900000000,
+ 0xa9b6889300000000, 0xd6da60cf00000000, 0xb4e248e500000000,
+ 0x12aa309b00000000, 0x709218b100000000, 0x5e3bc06700000000,
+ 0x3c03e84d00000000, 0x9a4b903300000000, 0xf873b81900000000,
+ 0x6493408a00000000, 0x06ab68a000000000, 0xa0e310de00000000,
+ 0xc2db38f400000000, 0xec72e02200000000, 0x8e4ac80800000000,
+ 0x2802b07600000000, 0x4a3a985c00000000, 0x3556700000000000,
+ 0x576e582a00000000, 0xf126205400000000, 0x931e087e00000000,
+ 0xbdb7d0a800000000, 0xdf8ff88200000000, 0x79c780fc00000000,
+ 0x1bffa8d600000000, 0x0e3fa08a00000000, 0x6c0788a000000000,
+ 0xca4ff0de00000000, 0xa877d8f400000000, 0x86de002200000000,
+ 0xe4e6280800000000, 0x42ae507600000000, 0x2096785c00000000,
+ 0x5ffa900000000000, 0x3dc2b82a00000000, 0x9b8ac05400000000,
+ 0xf9b2e87e00000000, 0xd71b30a800000000, 0xb523188200000000,
+ 0x136b60fc00000000, 0x715348d600000000, 0xedb3b04500000000,
+ 0x8f8b986f00000000, 0x29c3e01100000000, 0x4bfbc83b00000000,
+ 0x655210ed00000000, 0x076a38c700000000, 0xa12240b900000000,
+ 0xc31a689300000000, 0xbc7680cf00000000, 0xde4ea8e500000000,
+ 0x7806d09b00000000, 0x1a3ef8b100000000, 0x3497206700000000,
+ 0x56af084d00000000, 0xf0e7703300000000, 0x92df581900000000,
+ 0x8920f0cf00000000, 0xeb18d8e500000000, 0x4d50a09b00000000,
+ 0x2f6888b100000000, 0x01c1506700000000, 0x63f9784d00000000,
+ 0xc5b1003300000000, 0xa789281900000000, 0xd8e5c04500000000,
+ 0xbadde86f00000000, 0x1c95901100000000, 0x7eadb83b00000000,
+ 0x500460ed00000000, 0x323c48c700000000, 0x947430b900000000,
+ 0xf64c189300000000, 0x6aace00000000000, 0x0894c82a00000000,
+ 0xaedcb05400000000, 0xcce4987e00000000, 0xe24d40a800000000,
+ 0x8075688200000000, 0x263d10fc00000000, 0x440538d600000000,
+ 0x3b69d08a00000000, 0x5951f8a000000000, 0xff1980de00000000,
+ 0x9d21a8f400000000, 0xb388702200000000, 0xd1b0580800000000,
+ 0x77f8207600000000, 0x15c0085c00000000, 0x5d7831ce00000000,
+ 0x3f4019e400000000, 0x9908619a00000000, 0xfb3049b000000000,
+ 0xd599916600000000, 0xb7a1b94c00000000, 0x11e9c13200000000,
+ 0x73d1e91800000000, 0x0cbd014400000000, 0x6e85296e00000000,
+ 0xc8cd511000000000, 0xaaf5793a00000000, 0x845ca1ec00000000,
+ 0xe66489c600000000, 0x402cf1b800000000, 0x2214d99200000000,
+ 0xbef4210100000000, 0xdccc092b00000000, 0x7a84715500000000,
+ 0x18bc597f00000000, 0x361581a900000000, 0x542da98300000000,
+ 0xf265d1fd00000000, 0x905df9d700000000, 0xef31118b00000000,
+ 0x8d0939a100000000, 0x2b4141df00000000, 0x497969f500000000,
+ 0x67d0b12300000000, 0x05e8990900000000, 0xa3a0e17700000000,
+ 0xc198c95d00000000, 0xda67618b00000000, 0xb85f49a100000000,
+ 0x1e1731df00000000, 0x7c2f19f500000000, 0x5286c12300000000,
+ 0x30bee90900000000, 0x96f6917700000000, 0xf4ceb95d00000000,
+ 0x8ba2510100000000, 0xe99a792b00000000, 0x4fd2015500000000,
+ 0x2dea297f00000000, 0x0343f1a900000000, 0x617bd98300000000,
+ 0xc733a1fd00000000, 0xa50b89d700000000, 0x39eb714400000000,
+ 0x5bd3596e00000000, 0xfd9b211000000000, 0x9fa3093a00000000,
+ 0xb10ad1ec00000000, 0xd332f9c600000000, 0x757a81b800000000,
+ 0x1742a99200000000, 0x682e41ce00000000, 0x0a1669e400000000,
+ 0xac5e119a00000000, 0xce6639b000000000, 0xe0cfe16600000000,
+ 0x82f7c94c00000000, 0x24bfb13200000000, 0x4687991800000000,
+ 0x5347914400000000, 0x317fb96e00000000, 0x9737c11000000000,
+ 0xf50fe93a00000000, 0xdba631ec00000000, 0xb99e19c600000000,
+ 0x1fd661b800000000, 0x7dee499200000000, 0x0282a1ce00000000,
+ 0x60ba89e400000000, 0xc6f2f19a00000000, 0xa4cad9b000000000,
+ 0x8a63016600000000, 0xe85b294c00000000, 0x4e13513200000000,
+ 0x2c2b791800000000, 0xb0cb818b00000000, 0xd2f3a9a100000000,
+ 0x74bbd1df00000000, 0x1683f9f500000000, 0x382a212300000000,
+ 0x5a12090900000000, 0xfc5a717700000000, 0x9e62595d00000000,
+ 0xe10eb10100000000, 0x8336992b00000000, 0x257ee15500000000,
+ 0x4746c97f00000000, 0x69ef11a900000000, 0x0bd7398300000000,
+ 0xad9f41fd00000000, 0xcfa769d700000000, 0xd458c10100000000,
+ 0xb660e92b00000000, 0x1028915500000000, 0x7210b97f00000000,
+ 0x5cb961a900000000, 0x3e81498300000000, 0x98c931fd00000000,
+ 0xfaf119d700000000, 0x859df18b00000000, 0xe7a5d9a100000000,
+ 0x41eda1df00000000, 0x23d589f500000000, 0x0d7c512300000000,
+ 0x6f44790900000000, 0xc90c017700000000, 0xab34295d00000000,
+ 0x37d4d1ce00000000, 0x55ecf9e400000000, 0xf3a4819a00000000,
+ 0x919ca9b000000000, 0xbf35716600000000, 0xdd0d594c00000000,
+ 0x7b45213200000000, 0x197d091800000000, 0x6611e14400000000,
+ 0x0429c96e00000000, 0xa261b11000000000, 0xc059993a00000000,
+ 0xeef041ec00000000, 0x8cc869c600000000, 0x2a8011b800000000,
+ 0x48b8399200000000},
+ {0x0000000000000000, 0x4c2896a300000000, 0xd9565d9c00000000,
+ 0x957ecb3f00000000, 0xf3abcbe300000000, 0xbf835d4000000000,
+ 0x2afd967f00000000, 0x66d500dc00000000, 0xa751e61c00000000,
+ 0xeb7970bf00000000, 0x7e07bb8000000000, 0x322f2d2300000000,
+ 0x54fa2dff00000000, 0x18d2bb5c00000000, 0x8dac706300000000,
+ 0xc184e6c000000000, 0x4ea3cc3900000000, 0x028b5a9a00000000,
+ 0x97f591a500000000, 0xdbdd070600000000, 0xbd0807da00000000,
+ 0xf120917900000000, 0x645e5a4600000000, 0x2876cce500000000,
+ 0xe9f22a2500000000, 0xa5dabc8600000000, 0x30a477b900000000,
+ 0x7c8ce11a00000000, 0x1a59e1c600000000, 0x5671776500000000,
+ 0xc30fbc5a00000000, 0x8f272af900000000, 0x9c46997300000000,
+ 0xd06e0fd000000000, 0x4510c4ef00000000, 0x0938524c00000000,
+ 0x6fed529000000000, 0x23c5c43300000000, 0xb6bb0f0c00000000,
+ 0xfa9399af00000000, 0x3b177f6f00000000, 0x773fe9cc00000000,
+ 0xe24122f300000000, 0xae69b45000000000, 0xc8bcb48c00000000,
+ 0x8494222f00000000, 0x11eae91000000000, 0x5dc27fb300000000,
+ 0xd2e5554a00000000, 0x9ecdc3e900000000, 0x0bb308d600000000,
+ 0x479b9e7500000000, 0x214e9ea900000000, 0x6d66080a00000000,
+ 0xf818c33500000000, 0xb430559600000000, 0x75b4b35600000000,
+ 0x399c25f500000000, 0xace2eeca00000000, 0xe0ca786900000000,
+ 0x861f78b500000000, 0xca37ee1600000000, 0x5f49252900000000,
+ 0x1361b38a00000000, 0x388d32e700000000, 0x74a5a44400000000,
+ 0xe1db6f7b00000000, 0xadf3f9d800000000, 0xcb26f90400000000,
+ 0x870e6fa700000000, 0x1270a49800000000, 0x5e58323b00000000,
+ 0x9fdcd4fb00000000, 0xd3f4425800000000, 0x468a896700000000,
+ 0x0aa21fc400000000, 0x6c771f1800000000, 0x205f89bb00000000,
+ 0xb521428400000000, 0xf909d42700000000, 0x762efede00000000,
+ 0x3a06687d00000000, 0xaf78a34200000000, 0xe35035e100000000,
+ 0x8585353d00000000, 0xc9ada39e00000000, 0x5cd368a100000000,
+ 0x10fbfe0200000000, 0xd17f18c200000000, 0x9d578e6100000000,
+ 0x0829455e00000000, 0x4401d3fd00000000, 0x22d4d32100000000,
+ 0x6efc458200000000, 0xfb828ebd00000000, 0xb7aa181e00000000,
+ 0xa4cbab9400000000, 0xe8e33d3700000000, 0x7d9df60800000000,
+ 0x31b560ab00000000, 0x5760607700000000, 0x1b48f6d400000000,
+ 0x8e363deb00000000, 0xc21eab4800000000, 0x039a4d8800000000,
+ 0x4fb2db2b00000000, 0xdacc101400000000, 0x96e486b700000000,
+ 0xf031866b00000000, 0xbc1910c800000000, 0x2967dbf700000000,
+ 0x654f4d5400000000, 0xea6867ad00000000, 0xa640f10e00000000,
+ 0x333e3a3100000000, 0x7f16ac9200000000, 0x19c3ac4e00000000,
+ 0x55eb3aed00000000, 0xc095f1d200000000, 0x8cbd677100000000,
+ 0x4d3981b100000000, 0x0111171200000000, 0x946fdc2d00000000,
+ 0xd8474a8e00000000, 0xbe924a5200000000, 0xf2badcf100000000,
+ 0x67c417ce00000000, 0x2bec816d00000000, 0x311c141500000000,
+ 0x7d3482b600000000, 0xe84a498900000000, 0xa462df2a00000000,
+ 0xc2b7dff600000000, 0x8e9f495500000000, 0x1be1826a00000000,
+ 0x57c914c900000000, 0x964df20900000000, 0xda6564aa00000000,
+ 0x4f1baf9500000000, 0x0333393600000000, 0x65e639ea00000000,
+ 0x29ceaf4900000000, 0xbcb0647600000000, 0xf098f2d500000000,
+ 0x7fbfd82c00000000, 0x33974e8f00000000, 0xa6e985b000000000,
+ 0xeac1131300000000, 0x8c1413cf00000000, 0xc03c856c00000000,
+ 0x55424e5300000000, 0x196ad8f000000000, 0xd8ee3e3000000000,
+ 0x94c6a89300000000, 0x01b863ac00000000, 0x4d90f50f00000000,
+ 0x2b45f5d300000000, 0x676d637000000000, 0xf213a84f00000000,
+ 0xbe3b3eec00000000, 0xad5a8d6600000000, 0xe1721bc500000000,
+ 0x740cd0fa00000000, 0x3824465900000000, 0x5ef1468500000000,
+ 0x12d9d02600000000, 0x87a71b1900000000, 0xcb8f8dba00000000,
+ 0x0a0b6b7a00000000, 0x4623fdd900000000, 0xd35d36e600000000,
+ 0x9f75a04500000000, 0xf9a0a09900000000, 0xb588363a00000000,
+ 0x20f6fd0500000000, 0x6cde6ba600000000, 0xe3f9415f00000000,
+ 0xafd1d7fc00000000, 0x3aaf1cc300000000, 0x76878a6000000000,
+ 0x10528abc00000000, 0x5c7a1c1f00000000, 0xc904d72000000000,
+ 0x852c418300000000, 0x44a8a74300000000, 0x088031e000000000,
+ 0x9dfefadf00000000, 0xd1d66c7c00000000, 0xb7036ca000000000,
+ 0xfb2bfa0300000000, 0x6e55313c00000000, 0x227da79f00000000,
+ 0x099126f200000000, 0x45b9b05100000000, 0xd0c77b6e00000000,
+ 0x9cefedcd00000000, 0xfa3aed1100000000, 0xb6127bb200000000,
+ 0x236cb08d00000000, 0x6f44262e00000000, 0xaec0c0ee00000000,
+ 0xe2e8564d00000000, 0x77969d7200000000, 0x3bbe0bd100000000,
+ 0x5d6b0b0d00000000, 0x11439dae00000000, 0x843d569100000000,
+ 0xc815c03200000000, 0x4732eacb00000000, 0x0b1a7c6800000000,
+ 0x9e64b75700000000, 0xd24c21f400000000, 0xb499212800000000,
+ 0xf8b1b78b00000000, 0x6dcf7cb400000000, 0x21e7ea1700000000,
+ 0xe0630cd700000000, 0xac4b9a7400000000, 0x3935514b00000000,
+ 0x751dc7e800000000, 0x13c8c73400000000, 0x5fe0519700000000,
+ 0xca9e9aa800000000, 0x86b60c0b00000000, 0x95d7bf8100000000,
+ 0xd9ff292200000000, 0x4c81e21d00000000, 0x00a974be00000000,
+ 0x667c746200000000, 0x2a54e2c100000000, 0xbf2a29fe00000000,
+ 0xf302bf5d00000000, 0x3286599d00000000, 0x7eaecf3e00000000,
+ 0xebd0040100000000, 0xa7f892a200000000, 0xc12d927e00000000,
+ 0x8d0504dd00000000, 0x187bcfe200000000, 0x5453594100000000,
+ 0xdb7473b800000000, 0x975ce51b00000000, 0x02222e2400000000,
+ 0x4e0ab88700000000, 0x28dfb85b00000000, 0x64f72ef800000000,
+ 0xf189e5c700000000, 0xbda1736400000000, 0x7c2595a400000000,
+ 0x300d030700000000, 0xa573c83800000000, 0xe95b5e9b00000000,
+ 0x8f8e5e4700000000, 0xc3a6c8e400000000, 0x56d803db00000000,
+ 0x1af0957800000000},
+ {0x0000000000000000, 0x939bc97f00000000, 0x263793ff00000000,
+ 0xb5ac5a8000000000, 0x0d68572400000000, 0x9ef39e5b00000000,
+ 0x2b5fc4db00000000, 0xb8c40da400000000, 0x1ad0ae4800000000,
+ 0x894b673700000000, 0x3ce73db700000000, 0xaf7cf4c800000000,
+ 0x17b8f96c00000000, 0x8423301300000000, 0x318f6a9300000000,
+ 0xa214a3ec00000000, 0x34a05d9100000000, 0xa73b94ee00000000,
+ 0x1297ce6e00000000, 0x810c071100000000, 0x39c80ab500000000,
+ 0xaa53c3ca00000000, 0x1fff994a00000000, 0x8c64503500000000,
+ 0x2e70f3d900000000, 0xbdeb3aa600000000, 0x0847602600000000,
+ 0x9bdca95900000000, 0x2318a4fd00000000, 0xb0836d8200000000,
+ 0x052f370200000000, 0x96b4fe7d00000000, 0x2946caf900000000,
+ 0xbadd038600000000, 0x0f71590600000000, 0x9cea907900000000,
+ 0x242e9ddd00000000, 0xb7b554a200000000, 0x02190e2200000000,
+ 0x9182c75d00000000, 0x339664b100000000, 0xa00dadce00000000,
+ 0x15a1f74e00000000, 0x863a3e3100000000, 0x3efe339500000000,
+ 0xad65faea00000000, 0x18c9a06a00000000, 0x8b52691500000000,
+ 0x1de6976800000000, 0x8e7d5e1700000000, 0x3bd1049700000000,
+ 0xa84acde800000000, 0x108ec04c00000000, 0x8315093300000000,
+ 0x36b953b300000000, 0xa5229acc00000000, 0x0736392000000000,
+ 0x94adf05f00000000, 0x2101aadf00000000, 0xb29a63a000000000,
+ 0x0a5e6e0400000000, 0x99c5a77b00000000, 0x2c69fdfb00000000,
+ 0xbff2348400000000, 0x138ae52800000000, 0x80112c5700000000,
+ 0x35bd76d700000000, 0xa626bfa800000000, 0x1ee2b20c00000000,
+ 0x8d797b7300000000, 0x38d521f300000000, 0xab4ee88c00000000,
+ 0x095a4b6000000000, 0x9ac1821f00000000, 0x2f6dd89f00000000,
+ 0xbcf611e000000000, 0x04321c4400000000, 0x97a9d53b00000000,
+ 0x22058fbb00000000, 0xb19e46c400000000, 0x272ab8b900000000,
+ 0xb4b171c600000000, 0x011d2b4600000000, 0x9286e23900000000,
+ 0x2a42ef9d00000000, 0xb9d926e200000000, 0x0c757c6200000000,
+ 0x9feeb51d00000000, 0x3dfa16f100000000, 0xae61df8e00000000,
+ 0x1bcd850e00000000, 0x88564c7100000000, 0x309241d500000000,
+ 0xa30988aa00000000, 0x16a5d22a00000000, 0x853e1b5500000000,
+ 0x3acc2fd100000000, 0xa957e6ae00000000, 0x1cfbbc2e00000000,
+ 0x8f60755100000000, 0x37a478f500000000, 0xa43fb18a00000000,
+ 0x1193eb0a00000000, 0x8208227500000000, 0x201c819900000000,
+ 0xb38748e600000000, 0x062b126600000000, 0x95b0db1900000000,
+ 0x2d74d6bd00000000, 0xbeef1fc200000000, 0x0b43454200000000,
+ 0x98d88c3d00000000, 0x0e6c724000000000, 0x9df7bb3f00000000,
+ 0x285be1bf00000000, 0xbbc028c000000000, 0x0304256400000000,
+ 0x909fec1b00000000, 0x2533b69b00000000, 0xb6a87fe400000000,
+ 0x14bcdc0800000000, 0x8727157700000000, 0x328b4ff700000000,
+ 0xa110868800000000, 0x19d48b2c00000000, 0x8a4f425300000000,
+ 0x3fe318d300000000, 0xac78d1ac00000000, 0x2614cb5100000000,
+ 0xb58f022e00000000, 0x002358ae00000000, 0x93b891d100000000,
+ 0x2b7c9c7500000000, 0xb8e7550a00000000, 0x0d4b0f8a00000000,
+ 0x9ed0c6f500000000, 0x3cc4651900000000, 0xaf5fac6600000000,
+ 0x1af3f6e600000000, 0x89683f9900000000, 0x31ac323d00000000,
+ 0xa237fb4200000000, 0x179ba1c200000000, 0x840068bd00000000,
+ 0x12b496c000000000, 0x812f5fbf00000000, 0x3483053f00000000,
+ 0xa718cc4000000000, 0x1fdcc1e400000000, 0x8c47089b00000000,
+ 0x39eb521b00000000, 0xaa709b6400000000, 0x0864388800000000,
+ 0x9bfff1f700000000, 0x2e53ab7700000000, 0xbdc8620800000000,
+ 0x050c6fac00000000, 0x9697a6d300000000, 0x233bfc5300000000,
+ 0xb0a0352c00000000, 0x0f5201a800000000, 0x9cc9c8d700000000,
+ 0x2965925700000000, 0xbafe5b2800000000, 0x023a568c00000000,
+ 0x91a19ff300000000, 0x240dc57300000000, 0xb7960c0c00000000,
+ 0x1582afe000000000, 0x8619669f00000000, 0x33b53c1f00000000,
+ 0xa02ef56000000000, 0x18eaf8c400000000, 0x8b7131bb00000000,
+ 0x3edd6b3b00000000, 0xad46a24400000000, 0x3bf25c3900000000,
+ 0xa869954600000000, 0x1dc5cfc600000000, 0x8e5e06b900000000,
+ 0x369a0b1d00000000, 0xa501c26200000000, 0x10ad98e200000000,
+ 0x8336519d00000000, 0x2122f27100000000, 0xb2b93b0e00000000,
+ 0x0715618e00000000, 0x948ea8f100000000, 0x2c4aa55500000000,
+ 0xbfd16c2a00000000, 0x0a7d36aa00000000, 0x99e6ffd500000000,
+ 0x359e2e7900000000, 0xa605e70600000000, 0x13a9bd8600000000,
+ 0x803274f900000000, 0x38f6795d00000000, 0xab6db02200000000,
+ 0x1ec1eaa200000000, 0x8d5a23dd00000000, 0x2f4e803100000000,
+ 0xbcd5494e00000000, 0x097913ce00000000, 0x9ae2dab100000000,
+ 0x2226d71500000000, 0xb1bd1e6a00000000, 0x041144ea00000000,
+ 0x978a8d9500000000, 0x013e73e800000000, 0x92a5ba9700000000,
+ 0x2709e01700000000, 0xb492296800000000, 0x0c5624cc00000000,
+ 0x9fcdedb300000000, 0x2a61b73300000000, 0xb9fa7e4c00000000,
+ 0x1beedda000000000, 0x887514df00000000, 0x3dd94e5f00000000,
+ 0xae42872000000000, 0x16868a8400000000, 0x851d43fb00000000,
+ 0x30b1197b00000000, 0xa32ad00400000000, 0x1cd8e48000000000,
+ 0x8f432dff00000000, 0x3aef777f00000000, 0xa974be0000000000,
+ 0x11b0b3a400000000, 0x822b7adb00000000, 0x3787205b00000000,
+ 0xa41ce92400000000, 0x06084ac800000000, 0x959383b700000000,
+ 0x203fd93700000000, 0xb3a4104800000000, 0x0b601dec00000000,
+ 0x98fbd49300000000, 0x2d578e1300000000, 0xbecc476c00000000,
+ 0x2878b91100000000, 0xbbe3706e00000000, 0x0e4f2aee00000000,
+ 0x9dd4e39100000000, 0x2510ee3500000000, 0xb68b274a00000000,
+ 0x03277dca00000000, 0x90bcb4b500000000, 0x32a8175900000000,
+ 0xa133de2600000000, 0x149f84a600000000, 0x87044dd900000000,
+ 0x3fc0407d00000000, 0xac5b890200000000, 0x19f7d38200000000,
+ 0x8a6c1afd00000000},
+ {0x0000000000000000, 0x650b796900000000, 0xca16f2d200000000,
+ 0xaf1d8bbb00000000, 0xd52b957e00000000, 0xb020ec1700000000,
+ 0x1f3d67ac00000000, 0x7a361ec500000000, 0xaa572afd00000000,
+ 0xcf5c539400000000, 0x6041d82f00000000, 0x054aa14600000000,
+ 0x7f7cbf8300000000, 0x1a77c6ea00000000, 0xb56a4d5100000000,
+ 0xd061343800000000, 0x15a9252100000000, 0x70a25c4800000000,
+ 0xdfbfd7f300000000, 0xbab4ae9a00000000, 0xc082b05f00000000,
+ 0xa589c93600000000, 0x0a94428d00000000, 0x6f9f3be400000000,
+ 0xbffe0fdc00000000, 0xdaf576b500000000, 0x75e8fd0e00000000,
+ 0x10e3846700000000, 0x6ad59aa200000000, 0x0fdee3cb00000000,
+ 0xa0c3687000000000, 0xc5c8111900000000, 0x2a524b4200000000,
+ 0x4f59322b00000000, 0xe044b99000000000, 0x854fc0f900000000,
+ 0xff79de3c00000000, 0x9a72a75500000000, 0x356f2cee00000000,
+ 0x5064558700000000, 0x800561bf00000000, 0xe50e18d600000000,
+ 0x4a13936d00000000, 0x2f18ea0400000000, 0x552ef4c100000000,
+ 0x30258da800000000, 0x9f38061300000000, 0xfa337f7a00000000,
+ 0x3ffb6e6300000000, 0x5af0170a00000000, 0xf5ed9cb100000000,
+ 0x90e6e5d800000000, 0xead0fb1d00000000, 0x8fdb827400000000,
+ 0x20c609cf00000000, 0x45cd70a600000000, 0x95ac449e00000000,
+ 0xf0a73df700000000, 0x5fbab64c00000000, 0x3ab1cf2500000000,
+ 0x4087d1e000000000, 0x258ca88900000000, 0x8a91233200000000,
+ 0xef9a5a5b00000000, 0x54a4968400000000, 0x31afefed00000000,
+ 0x9eb2645600000000, 0xfbb91d3f00000000, 0x818f03fa00000000,
+ 0xe4847a9300000000, 0x4b99f12800000000, 0x2e92884100000000,
+ 0xfef3bc7900000000, 0x9bf8c51000000000, 0x34e54eab00000000,
+ 0x51ee37c200000000, 0x2bd8290700000000, 0x4ed3506e00000000,
+ 0xe1cedbd500000000, 0x84c5a2bc00000000, 0x410db3a500000000,
+ 0x2406cacc00000000, 0x8b1b417700000000, 0xee10381e00000000,
+ 0x942626db00000000, 0xf12d5fb200000000, 0x5e30d40900000000,
+ 0x3b3bad6000000000, 0xeb5a995800000000, 0x8e51e03100000000,
+ 0x214c6b8a00000000, 0x444712e300000000, 0x3e710c2600000000,
+ 0x5b7a754f00000000, 0xf467fef400000000, 0x916c879d00000000,
+ 0x7ef6ddc600000000, 0x1bfda4af00000000, 0xb4e02f1400000000,
+ 0xd1eb567d00000000, 0xabdd48b800000000, 0xced631d100000000,
+ 0x61cbba6a00000000, 0x04c0c30300000000, 0xd4a1f73b00000000,
+ 0xb1aa8e5200000000, 0x1eb705e900000000, 0x7bbc7c8000000000,
+ 0x018a624500000000, 0x64811b2c00000000, 0xcb9c909700000000,
+ 0xae97e9fe00000000, 0x6b5ff8e700000000, 0x0e54818e00000000,
+ 0xa1490a3500000000, 0xc442735c00000000, 0xbe746d9900000000,
+ 0xdb7f14f000000000, 0x74629f4b00000000, 0x1169e62200000000,
+ 0xc108d21a00000000, 0xa403ab7300000000, 0x0b1e20c800000000,
+ 0x6e1559a100000000, 0x1423476400000000, 0x71283e0d00000000,
+ 0xde35b5b600000000, 0xbb3eccdf00000000, 0xe94e5cd200000000,
+ 0x8c4525bb00000000, 0x2358ae0000000000, 0x4653d76900000000,
+ 0x3c65c9ac00000000, 0x596eb0c500000000, 0xf6733b7e00000000,
+ 0x9378421700000000, 0x4319762f00000000, 0x26120f4600000000,
+ 0x890f84fd00000000, 0xec04fd9400000000, 0x9632e35100000000,
+ 0xf3399a3800000000, 0x5c24118300000000, 0x392f68ea00000000,
+ 0xfce779f300000000, 0x99ec009a00000000, 0x36f18b2100000000,
+ 0x53faf24800000000, 0x29ccec8d00000000, 0x4cc795e400000000,
+ 0xe3da1e5f00000000, 0x86d1673600000000, 0x56b0530e00000000,
+ 0x33bb2a6700000000, 0x9ca6a1dc00000000, 0xf9add8b500000000,
+ 0x839bc67000000000, 0xe690bf1900000000, 0x498d34a200000000,
+ 0x2c864dcb00000000, 0xc31c179000000000, 0xa6176ef900000000,
+ 0x090ae54200000000, 0x6c019c2b00000000, 0x163782ee00000000,
+ 0x733cfb8700000000, 0xdc21703c00000000, 0xb92a095500000000,
+ 0x694b3d6d00000000, 0x0c40440400000000, 0xa35dcfbf00000000,
+ 0xc656b6d600000000, 0xbc60a81300000000, 0xd96bd17a00000000,
+ 0x76765ac100000000, 0x137d23a800000000, 0xd6b532b100000000,
+ 0xb3be4bd800000000, 0x1ca3c06300000000, 0x79a8b90a00000000,
+ 0x039ea7cf00000000, 0x6695dea600000000, 0xc988551d00000000,
+ 0xac832c7400000000, 0x7ce2184c00000000, 0x19e9612500000000,
+ 0xb6f4ea9e00000000, 0xd3ff93f700000000, 0xa9c98d3200000000,
+ 0xccc2f45b00000000, 0x63df7fe000000000, 0x06d4068900000000,
+ 0xbdeaca5600000000, 0xd8e1b33f00000000, 0x77fc388400000000,
+ 0x12f741ed00000000, 0x68c15f2800000000, 0x0dca264100000000,
+ 0xa2d7adfa00000000, 0xc7dcd49300000000, 0x17bde0ab00000000,
+ 0x72b699c200000000, 0xddab127900000000, 0xb8a06b1000000000,
+ 0xc29675d500000000, 0xa79d0cbc00000000, 0x0880870700000000,
+ 0x6d8bfe6e00000000, 0xa843ef7700000000, 0xcd48961e00000000,
+ 0x62551da500000000, 0x075e64cc00000000, 0x7d687a0900000000,
+ 0x1863036000000000, 0xb77e88db00000000, 0xd275f1b200000000,
+ 0x0214c58a00000000, 0x671fbce300000000, 0xc802375800000000,
+ 0xad094e3100000000, 0xd73f50f400000000, 0xb234299d00000000,
+ 0x1d29a22600000000, 0x7822db4f00000000, 0x97b8811400000000,
+ 0xf2b3f87d00000000, 0x5dae73c600000000, 0x38a50aaf00000000,
+ 0x4293146a00000000, 0x27986d0300000000, 0x8885e6b800000000,
+ 0xed8e9fd100000000, 0x3defabe900000000, 0x58e4d28000000000,
+ 0xf7f9593b00000000, 0x92f2205200000000, 0xe8c43e9700000000,
+ 0x8dcf47fe00000000, 0x22d2cc4500000000, 0x47d9b52c00000000,
+ 0x8211a43500000000, 0xe71add5c00000000, 0x480756e700000000,
+ 0x2d0c2f8e00000000, 0x573a314b00000000, 0x3231482200000000,
+ 0x9d2cc39900000000, 0xf827baf000000000, 0x28468ec800000000,
+ 0x4d4df7a100000000, 0xe2507c1a00000000, 0x875b057300000000,
+ 0xfd6d1bb600000000, 0x986662df00000000, 0x377be96400000000,
+ 0x5270900d00000000},
+ {0x0000000000000000, 0xdcecb13d00000000, 0xb8d9637b00000000,
+ 0x6435d24600000000, 0x70b3c7f600000000, 0xac5f76cb00000000,
+ 0xc86aa48d00000000, 0x148615b000000000, 0xa160fe3600000000,
+ 0x7d8c4f0b00000000, 0x19b99d4d00000000, 0xc5552c7000000000,
+ 0xd1d339c000000000, 0x0d3f88fd00000000, 0x690a5abb00000000,
+ 0xb5e6eb8600000000, 0x42c1fc6d00000000, 0x9e2d4d5000000000,
+ 0xfa189f1600000000, 0x26f42e2b00000000, 0x32723b9b00000000,
+ 0xee9e8aa600000000, 0x8aab58e000000000, 0x5647e9dd00000000,
+ 0xe3a1025b00000000, 0x3f4db36600000000, 0x5b78612000000000,
+ 0x8794d01d00000000, 0x9312c5ad00000000, 0x4ffe749000000000,
+ 0x2bcba6d600000000, 0xf72717eb00000000, 0x8482f9db00000000,
+ 0x586e48e600000000, 0x3c5b9aa000000000, 0xe0b72b9d00000000,
+ 0xf4313e2d00000000, 0x28dd8f1000000000, 0x4ce85d5600000000,
+ 0x9004ec6b00000000, 0x25e207ed00000000, 0xf90eb6d000000000,
+ 0x9d3b649600000000, 0x41d7d5ab00000000, 0x5551c01b00000000,
+ 0x89bd712600000000, 0xed88a36000000000, 0x3164125d00000000,
+ 0xc64305b600000000, 0x1aafb48b00000000, 0x7e9a66cd00000000,
+ 0xa276d7f000000000, 0xb6f0c24000000000, 0x6a1c737d00000000,
+ 0x0e29a13b00000000, 0xd2c5100600000000, 0x6723fb8000000000,
+ 0xbbcf4abd00000000, 0xdffa98fb00000000, 0x031629c600000000,
+ 0x17903c7600000000, 0xcb7c8d4b00000000, 0xaf495f0d00000000,
+ 0x73a5ee3000000000, 0x4903826c00000000, 0x95ef335100000000,
+ 0xf1dae11700000000, 0x2d36502a00000000, 0x39b0459a00000000,
+ 0xe55cf4a700000000, 0x816926e100000000, 0x5d8597dc00000000,
+ 0xe8637c5a00000000, 0x348fcd6700000000, 0x50ba1f2100000000,
+ 0x8c56ae1c00000000, 0x98d0bbac00000000, 0x443c0a9100000000,
+ 0x2009d8d700000000, 0xfce569ea00000000, 0x0bc27e0100000000,
+ 0xd72ecf3c00000000, 0xb31b1d7a00000000, 0x6ff7ac4700000000,
+ 0x7b71b9f700000000, 0xa79d08ca00000000, 0xc3a8da8c00000000,
+ 0x1f446bb100000000, 0xaaa2803700000000, 0x764e310a00000000,
+ 0x127be34c00000000, 0xce97527100000000, 0xda1147c100000000,
+ 0x06fdf6fc00000000, 0x62c824ba00000000, 0xbe24958700000000,
+ 0xcd817bb700000000, 0x116dca8a00000000, 0x755818cc00000000,
+ 0xa9b4a9f100000000, 0xbd32bc4100000000, 0x61de0d7c00000000,
+ 0x05ebdf3a00000000, 0xd9076e0700000000, 0x6ce1858100000000,
+ 0xb00d34bc00000000, 0xd438e6fa00000000, 0x08d457c700000000,
+ 0x1c52427700000000, 0xc0bef34a00000000, 0xa48b210c00000000,
+ 0x7867903100000000, 0x8f4087da00000000, 0x53ac36e700000000,
+ 0x3799e4a100000000, 0xeb75559c00000000, 0xfff3402c00000000,
+ 0x231ff11100000000, 0x472a235700000000, 0x9bc6926a00000000,
+ 0x2e2079ec00000000, 0xf2ccc8d100000000, 0x96f91a9700000000,
+ 0x4a15abaa00000000, 0x5e93be1a00000000, 0x827f0f2700000000,
+ 0xe64add6100000000, 0x3aa66c5c00000000, 0x920604d900000000,
+ 0x4eeab5e400000000, 0x2adf67a200000000, 0xf633d69f00000000,
+ 0xe2b5c32f00000000, 0x3e59721200000000, 0x5a6ca05400000000,
+ 0x8680116900000000, 0x3366faef00000000, 0xef8a4bd200000000,
+ 0x8bbf999400000000, 0x575328a900000000, 0x43d53d1900000000,
+ 0x9f398c2400000000, 0xfb0c5e6200000000, 0x27e0ef5f00000000,
+ 0xd0c7f8b400000000, 0x0c2b498900000000, 0x681e9bcf00000000,
+ 0xb4f22af200000000, 0xa0743f4200000000, 0x7c988e7f00000000,
+ 0x18ad5c3900000000, 0xc441ed0400000000, 0x71a7068200000000,
+ 0xad4bb7bf00000000, 0xc97e65f900000000, 0x1592d4c400000000,
+ 0x0114c17400000000, 0xddf8704900000000, 0xb9cda20f00000000,
+ 0x6521133200000000, 0x1684fd0200000000, 0xca684c3f00000000,
+ 0xae5d9e7900000000, 0x72b12f4400000000, 0x66373af400000000,
+ 0xbadb8bc900000000, 0xdeee598f00000000, 0x0202e8b200000000,
+ 0xb7e4033400000000, 0x6b08b20900000000, 0x0f3d604f00000000,
+ 0xd3d1d17200000000, 0xc757c4c200000000, 0x1bbb75ff00000000,
+ 0x7f8ea7b900000000, 0xa362168400000000, 0x5445016f00000000,
+ 0x88a9b05200000000, 0xec9c621400000000, 0x3070d32900000000,
+ 0x24f6c69900000000, 0xf81a77a400000000, 0x9c2fa5e200000000,
+ 0x40c314df00000000, 0xf525ff5900000000, 0x29c94e6400000000,
+ 0x4dfc9c2200000000, 0x91102d1f00000000, 0x859638af00000000,
+ 0x597a899200000000, 0x3d4f5bd400000000, 0xe1a3eae900000000,
+ 0xdb0586b500000000, 0x07e9378800000000, 0x63dce5ce00000000,
+ 0xbf3054f300000000, 0xabb6414300000000, 0x775af07e00000000,
+ 0x136f223800000000, 0xcf83930500000000, 0x7a65788300000000,
+ 0xa689c9be00000000, 0xc2bc1bf800000000, 0x1e50aac500000000,
+ 0x0ad6bf7500000000, 0xd63a0e4800000000, 0xb20fdc0e00000000,
+ 0x6ee36d3300000000, 0x99c47ad800000000, 0x4528cbe500000000,
+ 0x211d19a300000000, 0xfdf1a89e00000000, 0xe977bd2e00000000,
+ 0x359b0c1300000000, 0x51aede5500000000, 0x8d426f6800000000,
+ 0x38a484ee00000000, 0xe44835d300000000, 0x807de79500000000,
+ 0x5c9156a800000000, 0x4817431800000000, 0x94fbf22500000000,
+ 0xf0ce206300000000, 0x2c22915e00000000, 0x5f877f6e00000000,
+ 0x836bce5300000000, 0xe75e1c1500000000, 0x3bb2ad2800000000,
+ 0x2f34b89800000000, 0xf3d809a500000000, 0x97eddbe300000000,
+ 0x4b016ade00000000, 0xfee7815800000000, 0x220b306500000000,
+ 0x463ee22300000000, 0x9ad2531e00000000, 0x8e5446ae00000000,
+ 0x52b8f79300000000, 0x368d25d500000000, 0xea6194e800000000,
+ 0x1d46830300000000, 0xc1aa323e00000000, 0xa59fe07800000000,
+ 0x7973514500000000, 0x6df544f500000000, 0xb119f5c800000000,
+ 0xd52c278e00000000, 0x09c096b300000000, 0xbc267d3500000000,
+ 0x60cacc0800000000, 0x04ff1e4e00000000, 0xd813af7300000000,
+ 0xcc95bac300000000, 0x10790bfe00000000, 0x744cd9b800000000,
+ 0xa8a0688500000000}};
+
+#else /* W == 4 */
+
+local const z_crc_t FAR crc_braid_table[][256] = {
+ {0x00000000, 0x81256527, 0xd93bcc0f, 0x581ea928, 0x69069e5f,
+ 0xe823fb78, 0xb03d5250, 0x31183777, 0xd20d3cbe, 0x53285999,
+ 0x0b36f0b1, 0x8a139596, 0xbb0ba2e1, 0x3a2ec7c6, 0x62306eee,
+ 0xe3150bc9, 0x7f6b7f3d, 0xfe4e1a1a, 0xa650b332, 0x2775d615,
+ 0x166de162, 0x97488445, 0xcf562d6d, 0x4e73484a, 0xad664383,
+ 0x2c4326a4, 0x745d8f8c, 0xf578eaab, 0xc460dddc, 0x4545b8fb,
+ 0x1d5b11d3, 0x9c7e74f4, 0xfed6fe7a, 0x7ff39b5d, 0x27ed3275,
+ 0xa6c85752, 0x97d06025, 0x16f50502, 0x4eebac2a, 0xcfcec90d,
+ 0x2cdbc2c4, 0xadfea7e3, 0xf5e00ecb, 0x74c56bec, 0x45dd5c9b,
+ 0xc4f839bc, 0x9ce69094, 0x1dc3f5b3, 0x81bd8147, 0x0098e460,
+ 0x58864d48, 0xd9a3286f, 0xe8bb1f18, 0x699e7a3f, 0x3180d317,
+ 0xb0a5b630, 0x53b0bdf9, 0xd295d8de, 0x8a8b71f6, 0x0bae14d1,
+ 0x3ab623a6, 0xbb934681, 0xe38defa9, 0x62a88a8e, 0x26dcfab5,
+ 0xa7f99f92, 0xffe736ba, 0x7ec2539d, 0x4fda64ea, 0xceff01cd,
+ 0x96e1a8e5, 0x17c4cdc2, 0xf4d1c60b, 0x75f4a32c, 0x2dea0a04,
+ 0xaccf6f23, 0x9dd75854, 0x1cf23d73, 0x44ec945b, 0xc5c9f17c,
+ 0x59b78588, 0xd892e0af, 0x808c4987, 0x01a92ca0, 0x30b11bd7,
+ 0xb1947ef0, 0xe98ad7d8, 0x68afb2ff, 0x8bbab936, 0x0a9fdc11,
+ 0x52817539, 0xd3a4101e, 0xe2bc2769, 0x6399424e, 0x3b87eb66,
+ 0xbaa28e41, 0xd80a04cf, 0x592f61e8, 0x0131c8c0, 0x8014ade7,
+ 0xb10c9a90, 0x3029ffb7, 0x6837569f, 0xe91233b8, 0x0a073871,
+ 0x8b225d56, 0xd33cf47e, 0x52199159, 0x6301a62e, 0xe224c309,
+ 0xba3a6a21, 0x3b1f0f06, 0xa7617bf2, 0x26441ed5, 0x7e5ab7fd,
+ 0xff7fd2da, 0xce67e5ad, 0x4f42808a, 0x175c29a2, 0x96794c85,
+ 0x756c474c, 0xf449226b, 0xac578b43, 0x2d72ee64, 0x1c6ad913,
+ 0x9d4fbc34, 0xc551151c, 0x4474703b, 0x4db9f56a, 0xcc9c904d,
+ 0x94823965, 0x15a75c42, 0x24bf6b35, 0xa59a0e12, 0xfd84a73a,
+ 0x7ca1c21d, 0x9fb4c9d4, 0x1e91acf3, 0x468f05db, 0xc7aa60fc,
+ 0xf6b2578b, 0x779732ac, 0x2f899b84, 0xaeacfea3, 0x32d28a57,
+ 0xb3f7ef70, 0xebe94658, 0x6acc237f, 0x5bd41408, 0xdaf1712f,
+ 0x82efd807, 0x03cabd20, 0xe0dfb6e9, 0x61fad3ce, 0x39e47ae6,
+ 0xb8c11fc1, 0x89d928b6, 0x08fc4d91, 0x50e2e4b9, 0xd1c7819e,
+ 0xb36f0b10, 0x324a6e37, 0x6a54c71f, 0xeb71a238, 0xda69954f,
+ 0x5b4cf068, 0x03525940, 0x82773c67, 0x616237ae, 0xe0475289,
+ 0xb859fba1, 0x397c9e86, 0x0864a9f1, 0x8941ccd6, 0xd15f65fe,
+ 0x507a00d9, 0xcc04742d, 0x4d21110a, 0x153fb822, 0x941add05,
+ 0xa502ea72, 0x24278f55, 0x7c39267d, 0xfd1c435a, 0x1e094893,
+ 0x9f2c2db4, 0xc732849c, 0x4617e1bb, 0x770fd6cc, 0xf62ab3eb,
+ 0xae341ac3, 0x2f117fe4, 0x6b650fdf, 0xea406af8, 0xb25ec3d0,
+ 0x337ba6f7, 0x02639180, 0x8346f4a7, 0xdb585d8f, 0x5a7d38a8,
+ 0xb9683361, 0x384d5646, 0x6053ff6e, 0xe1769a49, 0xd06ead3e,
+ 0x514bc819, 0x09556131, 0x88700416, 0x140e70e2, 0x952b15c5,
+ 0xcd35bced, 0x4c10d9ca, 0x7d08eebd, 0xfc2d8b9a, 0xa43322b2,
+ 0x25164795, 0xc6034c5c, 0x4726297b, 0x1f388053, 0x9e1de574,
+ 0xaf05d203, 0x2e20b724, 0x763e1e0c, 0xf71b7b2b, 0x95b3f1a5,
+ 0x14969482, 0x4c883daa, 0xcdad588d, 0xfcb56ffa, 0x7d900add,
+ 0x258ea3f5, 0xa4abc6d2, 0x47becd1b, 0xc69ba83c, 0x9e850114,
+ 0x1fa06433, 0x2eb85344, 0xaf9d3663, 0xf7839f4b, 0x76a6fa6c,
+ 0xead88e98, 0x6bfdebbf, 0x33e34297, 0xb2c627b0, 0x83de10c7,
+ 0x02fb75e0, 0x5ae5dcc8, 0xdbc0b9ef, 0x38d5b226, 0xb9f0d701,
+ 0xe1ee7e29, 0x60cb1b0e, 0x51d32c79, 0xd0f6495e, 0x88e8e076,
+ 0x09cd8551},
+ {0x00000000, 0x9b73ead4, 0xed96d3e9, 0x76e5393d, 0x005ca193,
+ 0x9b2f4b47, 0xedca727a, 0x76b998ae, 0x00b94326, 0x9bcaa9f2,
+ 0xed2f90cf, 0x765c7a1b, 0x00e5e2b5, 0x9b960861, 0xed73315c,
+ 0x7600db88, 0x0172864c, 0x9a016c98, 0xece455a5, 0x7797bf71,
+ 0x012e27df, 0x9a5dcd0b, 0xecb8f436, 0x77cb1ee2, 0x01cbc56a,
+ 0x9ab82fbe, 0xec5d1683, 0x772efc57, 0x019764f9, 0x9ae48e2d,
+ 0xec01b710, 0x77725dc4, 0x02e50c98, 0x9996e64c, 0xef73df71,
+ 0x740035a5, 0x02b9ad0b, 0x99ca47df, 0xef2f7ee2, 0x745c9436,
+ 0x025c4fbe, 0x992fa56a, 0xefca9c57, 0x74b97683, 0x0200ee2d,
+ 0x997304f9, 0xef963dc4, 0x74e5d710, 0x03978ad4, 0x98e46000,
+ 0xee01593d, 0x7572b3e9, 0x03cb2b47, 0x98b8c193, 0xee5df8ae,
+ 0x752e127a, 0x032ec9f2, 0x985d2326, 0xeeb81a1b, 0x75cbf0cf,
+ 0x03726861, 0x980182b5, 0xeee4bb88, 0x7597515c, 0x05ca1930,
+ 0x9eb9f3e4, 0xe85ccad9, 0x732f200d, 0x0596b8a3, 0x9ee55277,
+ 0xe8006b4a, 0x7373819e, 0x05735a16, 0x9e00b0c2, 0xe8e589ff,
+ 0x7396632b, 0x052ffb85, 0x9e5c1151, 0xe8b9286c, 0x73cac2b8,
+ 0x04b89f7c, 0x9fcb75a8, 0xe92e4c95, 0x725da641, 0x04e43eef,
+ 0x9f97d43b, 0xe972ed06, 0x720107d2, 0x0401dc5a, 0x9f72368e,
+ 0xe9970fb3, 0x72e4e567, 0x045d7dc9, 0x9f2e971d, 0xe9cbae20,
+ 0x72b844f4, 0x072f15a8, 0x9c5cff7c, 0xeab9c641, 0x71ca2c95,
+ 0x0773b43b, 0x9c005eef, 0xeae567d2, 0x71968d06, 0x0796568e,
+ 0x9ce5bc5a, 0xea008567, 0x71736fb3, 0x07caf71d, 0x9cb91dc9,
+ 0xea5c24f4, 0x712fce20, 0x065d93e4, 0x9d2e7930, 0xebcb400d,
+ 0x70b8aad9, 0x06013277, 0x9d72d8a3, 0xeb97e19e, 0x70e40b4a,
+ 0x06e4d0c2, 0x9d973a16, 0xeb72032b, 0x7001e9ff, 0x06b87151,
+ 0x9dcb9b85, 0xeb2ea2b8, 0x705d486c, 0x0b943260, 0x90e7d8b4,
+ 0xe602e189, 0x7d710b5d, 0x0bc893f3, 0x90bb7927, 0xe65e401a,
+ 0x7d2daace, 0x0b2d7146, 0x905e9b92, 0xe6bba2af, 0x7dc8487b,
+ 0x0b71d0d5, 0x90023a01, 0xe6e7033c, 0x7d94e9e8, 0x0ae6b42c,
+ 0x91955ef8, 0xe77067c5, 0x7c038d11, 0x0aba15bf, 0x91c9ff6b,
+ 0xe72cc656, 0x7c5f2c82, 0x0a5ff70a, 0x912c1dde, 0xe7c924e3,
+ 0x7cbace37, 0x0a035699, 0x9170bc4d, 0xe7958570, 0x7ce66fa4,
+ 0x09713ef8, 0x9202d42c, 0xe4e7ed11, 0x7f9407c5, 0x092d9f6b,
+ 0x925e75bf, 0xe4bb4c82, 0x7fc8a656, 0x09c87dde, 0x92bb970a,
+ 0xe45eae37, 0x7f2d44e3, 0x0994dc4d, 0x92e73699, 0xe4020fa4,
+ 0x7f71e570, 0x0803b8b4, 0x93705260, 0xe5956b5d, 0x7ee68189,
+ 0x085f1927, 0x932cf3f3, 0xe5c9cace, 0x7eba201a, 0x08bafb92,
+ 0x93c91146, 0xe52c287b, 0x7e5fc2af, 0x08e65a01, 0x9395b0d5,
+ 0xe57089e8, 0x7e03633c, 0x0e5e2b50, 0x952dc184, 0xe3c8f8b9,
+ 0x78bb126d, 0x0e028ac3, 0x95716017, 0xe394592a, 0x78e7b3fe,
+ 0x0ee76876, 0x959482a2, 0xe371bb9f, 0x7802514b, 0x0ebbc9e5,
+ 0x95c82331, 0xe32d1a0c, 0x785ef0d8, 0x0f2cad1c, 0x945f47c8,
+ 0xe2ba7ef5, 0x79c99421, 0x0f700c8f, 0x9403e65b, 0xe2e6df66,
+ 0x799535b2, 0x0f95ee3a, 0x94e604ee, 0xe2033dd3, 0x7970d707,
+ 0x0fc94fa9, 0x94baa57d, 0xe25f9c40, 0x792c7694, 0x0cbb27c8,
+ 0x97c8cd1c, 0xe12df421, 0x7a5e1ef5, 0x0ce7865b, 0x97946c8f,
+ 0xe17155b2, 0x7a02bf66, 0x0c0264ee, 0x97718e3a, 0xe194b707,
+ 0x7ae75dd3, 0x0c5ec57d, 0x972d2fa9, 0xe1c81694, 0x7abbfc40,
+ 0x0dc9a184, 0x96ba4b50, 0xe05f726d, 0x7b2c98b9, 0x0d950017,
+ 0x96e6eac3, 0xe003d3fe, 0x7b70392a, 0x0d70e2a2, 0x96030876,
+ 0xe0e6314b, 0x7b95db9f, 0x0d2c4331, 0x965fa9e5, 0xe0ba90d8,
+ 0x7bc97a0c},
+ {0x00000000, 0x172864c0, 0x2e50c980, 0x3978ad40, 0x5ca19300,
+ 0x4b89f7c0, 0x72f15a80, 0x65d93e40, 0xb9432600, 0xae6b42c0,
+ 0x9713ef80, 0x803b8b40, 0xe5e2b500, 0xf2cad1c0, 0xcbb27c80,
+ 0xdc9a1840, 0xa9f74a41, 0xbedf2e81, 0x87a783c1, 0x908fe701,
+ 0xf556d941, 0xe27ebd81, 0xdb0610c1, 0xcc2e7401, 0x10b46c41,
+ 0x079c0881, 0x3ee4a5c1, 0x29ccc101, 0x4c15ff41, 0x5b3d9b81,
+ 0x624536c1, 0x756d5201, 0x889f92c3, 0x9fb7f603, 0xa6cf5b43,
+ 0xb1e73f83, 0xd43e01c3, 0xc3166503, 0xfa6ec843, 0xed46ac83,
+ 0x31dcb4c3, 0x26f4d003, 0x1f8c7d43, 0x08a41983, 0x6d7d27c3,
+ 0x7a554303, 0x432dee43, 0x54058a83, 0x2168d882, 0x3640bc42,
+ 0x0f381102, 0x181075c2, 0x7dc94b82, 0x6ae12f42, 0x53998202,
+ 0x44b1e6c2, 0x982bfe82, 0x8f039a42, 0xb67b3702, 0xa15353c2,
+ 0xc48a6d82, 0xd3a20942, 0xeadaa402, 0xfdf2c0c2, 0xca4e23c7,
+ 0xdd664707, 0xe41eea47, 0xf3368e87, 0x96efb0c7, 0x81c7d407,
+ 0xb8bf7947, 0xaf971d87, 0x730d05c7, 0x64256107, 0x5d5dcc47,
+ 0x4a75a887, 0x2fac96c7, 0x3884f207, 0x01fc5f47, 0x16d43b87,
+ 0x63b96986, 0x74910d46, 0x4de9a006, 0x5ac1c4c6, 0x3f18fa86,
+ 0x28309e46, 0x11483306, 0x066057c6, 0xdafa4f86, 0xcdd22b46,
+ 0xf4aa8606, 0xe382e2c6, 0x865bdc86, 0x9173b846, 0xa80b1506,
+ 0xbf2371c6, 0x42d1b104, 0x55f9d5c4, 0x6c817884, 0x7ba91c44,
+ 0x1e702204, 0x095846c4, 0x3020eb84, 0x27088f44, 0xfb929704,
+ 0xecbaf3c4, 0xd5c25e84, 0xc2ea3a44, 0xa7330404, 0xb01b60c4,
+ 0x8963cd84, 0x9e4ba944, 0xeb26fb45, 0xfc0e9f85, 0xc57632c5,
+ 0xd25e5605, 0xb7876845, 0xa0af0c85, 0x99d7a1c5, 0x8effc505,
+ 0x5265dd45, 0x454db985, 0x7c3514c5, 0x6b1d7005, 0x0ec44e45,
+ 0x19ec2a85, 0x209487c5, 0x37bce305, 0x4fed41cf, 0x58c5250f,
+ 0x61bd884f, 0x7695ec8f, 0x134cd2cf, 0x0464b60f, 0x3d1c1b4f,
+ 0x2a347f8f, 0xf6ae67cf, 0xe186030f, 0xd8feae4f, 0xcfd6ca8f,
+ 0xaa0ff4cf, 0xbd27900f, 0x845f3d4f, 0x9377598f, 0xe61a0b8e,
+ 0xf1326f4e, 0xc84ac20e, 0xdf62a6ce, 0xbabb988e, 0xad93fc4e,
+ 0x94eb510e, 0x83c335ce, 0x5f592d8e, 0x4871494e, 0x7109e40e,
+ 0x662180ce, 0x03f8be8e, 0x14d0da4e, 0x2da8770e, 0x3a8013ce,
+ 0xc772d30c, 0xd05ab7cc, 0xe9221a8c, 0xfe0a7e4c, 0x9bd3400c,
+ 0x8cfb24cc, 0xb583898c, 0xa2abed4c, 0x7e31f50c, 0x691991cc,
+ 0x50613c8c, 0x4749584c, 0x2290660c, 0x35b802cc, 0x0cc0af8c,
+ 0x1be8cb4c, 0x6e85994d, 0x79adfd8d, 0x40d550cd, 0x57fd340d,
+ 0x32240a4d, 0x250c6e8d, 0x1c74c3cd, 0x0b5ca70d, 0xd7c6bf4d,
+ 0xc0eedb8d, 0xf99676cd, 0xeebe120d, 0x8b672c4d, 0x9c4f488d,
+ 0xa537e5cd, 0xb21f810d, 0x85a36208, 0x928b06c8, 0xabf3ab88,
+ 0xbcdbcf48, 0xd902f108, 0xce2a95c8, 0xf7523888, 0xe07a5c48,
+ 0x3ce04408, 0x2bc820c8, 0x12b08d88, 0x0598e948, 0x6041d708,
+ 0x7769b3c8, 0x4e111e88, 0x59397a48, 0x2c542849, 0x3b7c4c89,
+ 0x0204e1c9, 0x152c8509, 0x70f5bb49, 0x67dddf89, 0x5ea572c9,
+ 0x498d1609, 0x95170e49, 0x823f6a89, 0xbb47c7c9, 0xac6fa309,
+ 0xc9b69d49, 0xde9ef989, 0xe7e654c9, 0xf0ce3009, 0x0d3cf0cb,
+ 0x1a14940b, 0x236c394b, 0x34445d8b, 0x519d63cb, 0x46b5070b,
+ 0x7fcdaa4b, 0x68e5ce8b, 0xb47fd6cb, 0xa357b20b, 0x9a2f1f4b,
+ 0x8d077b8b, 0xe8de45cb, 0xfff6210b, 0xc68e8c4b, 0xd1a6e88b,
+ 0xa4cbba8a, 0xb3e3de4a, 0x8a9b730a, 0x9db317ca, 0xf86a298a,
+ 0xef424d4a, 0xd63ae00a, 0xc11284ca, 0x1d889c8a, 0x0aa0f84a,
+ 0x33d8550a, 0x24f031ca, 0x41290f8a, 0x56016b4a, 0x6f79c60a,
+ 0x7851a2ca},
+ {0x00000000, 0x9fda839e, 0xe4c4017d, 0x7b1e82e3, 0x12f904bb,
+ 0x8d238725, 0xf63d05c6, 0x69e78658, 0x25f20976, 0xba288ae8,
+ 0xc136080b, 0x5eec8b95, 0x370b0dcd, 0xa8d18e53, 0xd3cf0cb0,
+ 0x4c158f2e, 0x4be412ec, 0xd43e9172, 0xaf201391, 0x30fa900f,
+ 0x591d1657, 0xc6c795c9, 0xbdd9172a, 0x220394b4, 0x6e161b9a,
+ 0xf1cc9804, 0x8ad21ae7, 0x15089979, 0x7cef1f21, 0xe3359cbf,
+ 0x982b1e5c, 0x07f19dc2, 0x97c825d8, 0x0812a646, 0x730c24a5,
+ 0xecd6a73b, 0x85312163, 0x1aeba2fd, 0x61f5201e, 0xfe2fa380,
+ 0xb23a2cae, 0x2de0af30, 0x56fe2dd3, 0xc924ae4d, 0xa0c32815,
+ 0x3f19ab8b, 0x44072968, 0xdbddaaf6, 0xdc2c3734, 0x43f6b4aa,
+ 0x38e83649, 0xa732b5d7, 0xced5338f, 0x510fb011, 0x2a1132f2,
+ 0xb5cbb16c, 0xf9de3e42, 0x6604bddc, 0x1d1a3f3f, 0x82c0bca1,
+ 0xeb273af9, 0x74fdb967, 0x0fe33b84, 0x9039b81a, 0xf4e14df1,
+ 0x6b3bce6f, 0x10254c8c, 0x8fffcf12, 0xe618494a, 0x79c2cad4,
+ 0x02dc4837, 0x9d06cba9, 0xd1134487, 0x4ec9c719, 0x35d745fa,
+ 0xaa0dc664, 0xc3ea403c, 0x5c30c3a2, 0x272e4141, 0xb8f4c2df,
+ 0xbf055f1d, 0x20dfdc83, 0x5bc15e60, 0xc41bddfe, 0xadfc5ba6,
+ 0x3226d838, 0x49385adb, 0xd6e2d945, 0x9af7566b, 0x052dd5f5,
+ 0x7e335716, 0xe1e9d488, 0x880e52d0, 0x17d4d14e, 0x6cca53ad,
+ 0xf310d033, 0x63296829, 0xfcf3ebb7, 0x87ed6954, 0x1837eaca,
+ 0x71d06c92, 0xee0aef0c, 0x95146def, 0x0aceee71, 0x46db615f,
+ 0xd901e2c1, 0xa21f6022, 0x3dc5e3bc, 0x542265e4, 0xcbf8e67a,
+ 0xb0e66499, 0x2f3ce707, 0x28cd7ac5, 0xb717f95b, 0xcc097bb8,
+ 0x53d3f826, 0x3a347e7e, 0xa5eefde0, 0xdef07f03, 0x412afc9d,
+ 0x0d3f73b3, 0x92e5f02d, 0xe9fb72ce, 0x7621f150, 0x1fc67708,
+ 0x801cf496, 0xfb027675, 0x64d8f5eb, 0x32b39da3, 0xad691e3d,
+ 0xd6779cde, 0x49ad1f40, 0x204a9918, 0xbf901a86, 0xc48e9865,
+ 0x5b541bfb, 0x174194d5, 0x889b174b, 0xf38595a8, 0x6c5f1636,
+ 0x05b8906e, 0x9a6213f0, 0xe17c9113, 0x7ea6128d, 0x79578f4f,
+ 0xe68d0cd1, 0x9d938e32, 0x02490dac, 0x6bae8bf4, 0xf474086a,
+ 0x8f6a8a89, 0x10b00917, 0x5ca58639, 0xc37f05a7, 0xb8618744,
+ 0x27bb04da, 0x4e5c8282, 0xd186011c, 0xaa9883ff, 0x35420061,
+ 0xa57bb87b, 0x3aa13be5, 0x41bfb906, 0xde653a98, 0xb782bcc0,
+ 0x28583f5e, 0x5346bdbd, 0xcc9c3e23, 0x8089b10d, 0x1f533293,
+ 0x644db070, 0xfb9733ee, 0x9270b5b6, 0x0daa3628, 0x76b4b4cb,
+ 0xe96e3755, 0xee9faa97, 0x71452909, 0x0a5babea, 0x95812874,
+ 0xfc66ae2c, 0x63bc2db2, 0x18a2af51, 0x87782ccf, 0xcb6da3e1,
+ 0x54b7207f, 0x2fa9a29c, 0xb0732102, 0xd994a75a, 0x464e24c4,
+ 0x3d50a627, 0xa28a25b9, 0xc652d052, 0x598853cc, 0x2296d12f,
+ 0xbd4c52b1, 0xd4abd4e9, 0x4b715777, 0x306fd594, 0xafb5560a,
+ 0xe3a0d924, 0x7c7a5aba, 0x0764d859, 0x98be5bc7, 0xf159dd9f,
+ 0x6e835e01, 0x159ddce2, 0x8a475f7c, 0x8db6c2be, 0x126c4120,
+ 0x6972c3c3, 0xf6a8405d, 0x9f4fc605, 0x0095459b, 0x7b8bc778,
+ 0xe45144e6, 0xa844cbc8, 0x379e4856, 0x4c80cab5, 0xd35a492b,
+ 0xbabdcf73, 0x25674ced, 0x5e79ce0e, 0xc1a34d90, 0x519af58a,
+ 0xce407614, 0xb55ef4f7, 0x2a847769, 0x4363f131, 0xdcb972af,
+ 0xa7a7f04c, 0x387d73d2, 0x7468fcfc, 0xebb27f62, 0x90acfd81,
+ 0x0f767e1f, 0x6691f847, 0xf94b7bd9, 0x8255f93a, 0x1d8f7aa4,
+ 0x1a7ee766, 0x85a464f8, 0xfebae61b, 0x61606585, 0x0887e3dd,
+ 0x975d6043, 0xec43e2a0, 0x7399613e, 0x3f8cee10, 0xa0566d8e,
+ 0xdb48ef6d, 0x44926cf3, 0x2d75eaab, 0xb2af6935, 0xc9b1ebd6,
+ 0x566b6848}};
+
+local const z_word_t FAR crc_braid_big_table[][256] = {
+ {0x00000000, 0x9e83da9f, 0x7d01c4e4, 0xe3821e7b, 0xbb04f912,
+ 0x2587238d, 0xc6053df6, 0x5886e769, 0x7609f225, 0xe88a28ba,
+ 0x0b0836c1, 0x958bec5e, 0xcd0d0b37, 0x538ed1a8, 0xb00ccfd3,
+ 0x2e8f154c, 0xec12e44b, 0x72913ed4, 0x911320af, 0x0f90fa30,
+ 0x57161d59, 0xc995c7c6, 0x2a17d9bd, 0xb4940322, 0x9a1b166e,
+ 0x0498ccf1, 0xe71ad28a, 0x79990815, 0x211fef7c, 0xbf9c35e3,
+ 0x5c1e2b98, 0xc29df107, 0xd825c897, 0x46a61208, 0xa5240c73,
+ 0x3ba7d6ec, 0x63213185, 0xfda2eb1a, 0x1e20f561, 0x80a32ffe,
+ 0xae2c3ab2, 0x30afe02d, 0xd32dfe56, 0x4dae24c9, 0x1528c3a0,
+ 0x8bab193f, 0x68290744, 0xf6aadddb, 0x34372cdc, 0xaab4f643,
+ 0x4936e838, 0xd7b532a7, 0x8f33d5ce, 0x11b00f51, 0xf232112a,
+ 0x6cb1cbb5, 0x423edef9, 0xdcbd0466, 0x3f3f1a1d, 0xa1bcc082,
+ 0xf93a27eb, 0x67b9fd74, 0x843be30f, 0x1ab83990, 0xf14de1f4,
+ 0x6fce3b6b, 0x8c4c2510, 0x12cfff8f, 0x4a4918e6, 0xd4cac279,
+ 0x3748dc02, 0xa9cb069d, 0x874413d1, 0x19c7c94e, 0xfa45d735,
+ 0x64c60daa, 0x3c40eac3, 0xa2c3305c, 0x41412e27, 0xdfc2f4b8,
+ 0x1d5f05bf, 0x83dcdf20, 0x605ec15b, 0xfedd1bc4, 0xa65bfcad,
+ 0x38d82632, 0xdb5a3849, 0x45d9e2d6, 0x6b56f79a, 0xf5d52d05,
+ 0x1657337e, 0x88d4e9e1, 0xd0520e88, 0x4ed1d417, 0xad53ca6c,
+ 0x33d010f3, 0x29682963, 0xb7ebf3fc, 0x5469ed87, 0xcaea3718,
+ 0x926cd071, 0x0cef0aee, 0xef6d1495, 0x71eece0a, 0x5f61db46,
+ 0xc1e201d9, 0x22601fa2, 0xbce3c53d, 0xe4652254, 0x7ae6f8cb,
+ 0x9964e6b0, 0x07e73c2f, 0xc57acd28, 0x5bf917b7, 0xb87b09cc,
+ 0x26f8d353, 0x7e7e343a, 0xe0fdeea5, 0x037ff0de, 0x9dfc2a41,
+ 0xb3733f0d, 0x2df0e592, 0xce72fbe9, 0x50f12176, 0x0877c61f,
+ 0x96f41c80, 0x757602fb, 0xebf5d864, 0xa39db332, 0x3d1e69ad,
+ 0xde9c77d6, 0x401fad49, 0x18994a20, 0x861a90bf, 0x65988ec4,
+ 0xfb1b545b, 0xd5944117, 0x4b179b88, 0xa89585f3, 0x36165f6c,
+ 0x6e90b805, 0xf013629a, 0x13917ce1, 0x8d12a67e, 0x4f8f5779,
+ 0xd10c8de6, 0x328e939d, 0xac0d4902, 0xf48bae6b, 0x6a0874f4,
+ 0x898a6a8f, 0x1709b010, 0x3986a55c, 0xa7057fc3, 0x448761b8,
+ 0xda04bb27, 0x82825c4e, 0x1c0186d1, 0xff8398aa, 0x61004235,
+ 0x7bb87ba5, 0xe53ba13a, 0x06b9bf41, 0x983a65de, 0xc0bc82b7,
+ 0x5e3f5828, 0xbdbd4653, 0x233e9ccc, 0x0db18980, 0x9332531f,
+ 0x70b04d64, 0xee3397fb, 0xb6b57092, 0x2836aa0d, 0xcbb4b476,
+ 0x55376ee9, 0x97aa9fee, 0x09294571, 0xeaab5b0a, 0x74288195,
+ 0x2cae66fc, 0xb22dbc63, 0x51afa218, 0xcf2c7887, 0xe1a36dcb,
+ 0x7f20b754, 0x9ca2a92f, 0x022173b0, 0x5aa794d9, 0xc4244e46,
+ 0x27a6503d, 0xb9258aa2, 0x52d052c6, 0xcc538859, 0x2fd19622,
+ 0xb1524cbd, 0xe9d4abd4, 0x7757714b, 0x94d56f30, 0x0a56b5af,
+ 0x24d9a0e3, 0xba5a7a7c, 0x59d86407, 0xc75bbe98, 0x9fdd59f1,
+ 0x015e836e, 0xe2dc9d15, 0x7c5f478a, 0xbec2b68d, 0x20416c12,
+ 0xc3c37269, 0x5d40a8f6, 0x05c64f9f, 0x9b459500, 0x78c78b7b,
+ 0xe64451e4, 0xc8cb44a8, 0x56489e37, 0xb5ca804c, 0x2b495ad3,
+ 0x73cfbdba, 0xed4c6725, 0x0ece795e, 0x904da3c1, 0x8af59a51,
+ 0x147640ce, 0xf7f45eb5, 0x6977842a, 0x31f16343, 0xaf72b9dc,
+ 0x4cf0a7a7, 0xd2737d38, 0xfcfc6874, 0x627fb2eb, 0x81fdac90,
+ 0x1f7e760f, 0x47f89166, 0xd97b4bf9, 0x3af95582, 0xa47a8f1d,
+ 0x66e77e1a, 0xf864a485, 0x1be6bafe, 0x85656061, 0xdde38708,
+ 0x43605d97, 0xa0e243ec, 0x3e619973, 0x10ee8c3f, 0x8e6d56a0,
+ 0x6def48db, 0xf36c9244, 0xabea752d, 0x3569afb2, 0xd6ebb1c9,
+ 0x48686b56},
+ {0x00000000, 0xc0642817, 0x80c9502e, 0x40ad7839, 0x0093a15c,
+ 0xc0f7894b, 0x805af172, 0x403ed965, 0x002643b9, 0xc0426bae,
+ 0x80ef1397, 0x408b3b80, 0x00b5e2e5, 0xc0d1caf2, 0x807cb2cb,
+ 0x40189adc, 0x414af7a9, 0x812edfbe, 0xc183a787, 0x01e78f90,
+ 0x41d956f5, 0x81bd7ee2, 0xc11006db, 0x01742ecc, 0x416cb410,
+ 0x81089c07, 0xc1a5e43e, 0x01c1cc29, 0x41ff154c, 0x819b3d5b,
+ 0xc1364562, 0x01526d75, 0xc3929f88, 0x03f6b79f, 0x435bcfa6,
+ 0x833fe7b1, 0xc3013ed4, 0x036516c3, 0x43c86efa, 0x83ac46ed,
+ 0xc3b4dc31, 0x03d0f426, 0x437d8c1f, 0x8319a408, 0xc3277d6d,
+ 0x0343557a, 0x43ee2d43, 0x838a0554, 0x82d86821, 0x42bc4036,
+ 0x0211380f, 0xc2751018, 0x824bc97d, 0x422fe16a, 0x02829953,
+ 0xc2e6b144, 0x82fe2b98, 0x429a038f, 0x02377bb6, 0xc25353a1,
+ 0x826d8ac4, 0x4209a2d3, 0x02a4daea, 0xc2c0f2fd, 0xc7234eca,
+ 0x074766dd, 0x47ea1ee4, 0x878e36f3, 0xc7b0ef96, 0x07d4c781,
+ 0x4779bfb8, 0x871d97af, 0xc7050d73, 0x07612564, 0x47cc5d5d,
+ 0x87a8754a, 0xc796ac2f, 0x07f28438, 0x475ffc01, 0x873bd416,
+ 0x8669b963, 0x460d9174, 0x06a0e94d, 0xc6c4c15a, 0x86fa183f,
+ 0x469e3028, 0x06334811, 0xc6576006, 0x864ffada, 0x462bd2cd,
+ 0x0686aaf4, 0xc6e282e3, 0x86dc5b86, 0x46b87391, 0x06150ba8,
+ 0xc67123bf, 0x04b1d142, 0xc4d5f955, 0x8478816c, 0x441ca97b,
+ 0x0422701e, 0xc4465809, 0x84eb2030, 0x448f0827, 0x049792fb,
+ 0xc4f3baec, 0x845ec2d5, 0x443aeac2, 0x040433a7, 0xc4601bb0,
+ 0x84cd6389, 0x44a94b9e, 0x45fb26eb, 0x859f0efc, 0xc53276c5,
+ 0x05565ed2, 0x456887b7, 0x850cafa0, 0xc5a1d799, 0x05c5ff8e,
+ 0x45dd6552, 0x85b94d45, 0xc514357c, 0x05701d6b, 0x454ec40e,
+ 0x852aec19, 0xc5879420, 0x05e3bc37, 0xcf41ed4f, 0x0f25c558,
+ 0x4f88bd61, 0x8fec9576, 0xcfd24c13, 0x0fb66404, 0x4f1b1c3d,
+ 0x8f7f342a, 0xcf67aef6, 0x0f0386e1, 0x4faefed8, 0x8fcad6cf,
+ 0xcff40faa, 0x0f9027bd, 0x4f3d5f84, 0x8f597793, 0x8e0b1ae6,
+ 0x4e6f32f1, 0x0ec24ac8, 0xcea662df, 0x8e98bbba, 0x4efc93ad,
+ 0x0e51eb94, 0xce35c383, 0x8e2d595f, 0x4e497148, 0x0ee40971,
+ 0xce802166, 0x8ebef803, 0x4edad014, 0x0e77a82d, 0xce13803a,
+ 0x0cd372c7, 0xccb75ad0, 0x8c1a22e9, 0x4c7e0afe, 0x0c40d39b,
+ 0xcc24fb8c, 0x8c8983b5, 0x4cedaba2, 0x0cf5317e, 0xcc911969,
+ 0x8c3c6150, 0x4c584947, 0x0c669022, 0xcc02b835, 0x8cafc00c,
+ 0x4ccbe81b, 0x4d99856e, 0x8dfdad79, 0xcd50d540, 0x0d34fd57,
+ 0x4d0a2432, 0x8d6e0c25, 0xcdc3741c, 0x0da75c0b, 0x4dbfc6d7,
+ 0x8ddbeec0, 0xcd7696f9, 0x0d12beee, 0x4d2c678b, 0x8d484f9c,
+ 0xcde537a5, 0x0d811fb2, 0x0862a385, 0xc8068b92, 0x88abf3ab,
+ 0x48cfdbbc, 0x08f102d9, 0xc8952ace, 0x883852f7, 0x485c7ae0,
+ 0x0844e03c, 0xc820c82b, 0x888db012, 0x48e99805, 0x08d74160,
+ 0xc8b36977, 0x881e114e, 0x487a3959, 0x4928542c, 0x894c7c3b,
+ 0xc9e10402, 0x09852c15, 0x49bbf570, 0x89dfdd67, 0xc972a55e,
+ 0x09168d49, 0x490e1795, 0x896a3f82, 0xc9c747bb, 0x09a36fac,
+ 0x499db6c9, 0x89f99ede, 0xc954e6e7, 0x0930cef0, 0xcbf03c0d,
+ 0x0b94141a, 0x4b396c23, 0x8b5d4434, 0xcb639d51, 0x0b07b546,
+ 0x4baacd7f, 0x8bcee568, 0xcbd67fb4, 0x0bb257a3, 0x4b1f2f9a,
+ 0x8b7b078d, 0xcb45dee8, 0x0b21f6ff, 0x4b8c8ec6, 0x8be8a6d1,
+ 0x8abacba4, 0x4adee3b3, 0x0a739b8a, 0xca17b39d, 0x8a296af8,
+ 0x4a4d42ef, 0x0ae03ad6, 0xca8412c1, 0x8a9c881d, 0x4af8a00a,
+ 0x0a55d833, 0xca31f024, 0x8a0f2941, 0x4a6b0156, 0x0ac6796f,
+ 0xcaa25178},
+ {0x00000000, 0xd4ea739b, 0xe9d396ed, 0x3d39e576, 0x93a15c00,
+ 0x474b2f9b, 0x7a72caed, 0xae98b976, 0x2643b900, 0xf2a9ca9b,
+ 0xcf902fed, 0x1b7a5c76, 0xb5e2e500, 0x6108969b, 0x5c3173ed,
+ 0x88db0076, 0x4c867201, 0x986c019a, 0xa555e4ec, 0x71bf9777,
+ 0xdf272e01, 0x0bcd5d9a, 0x36f4b8ec, 0xe21ecb77, 0x6ac5cb01,
+ 0xbe2fb89a, 0x83165dec, 0x57fc2e77, 0xf9649701, 0x2d8ee49a,
+ 0x10b701ec, 0xc45d7277, 0x980ce502, 0x4ce69699, 0x71df73ef,
+ 0xa5350074, 0x0badb902, 0xdf47ca99, 0xe27e2fef, 0x36945c74,
+ 0xbe4f5c02, 0x6aa52f99, 0x579ccaef, 0x8376b974, 0x2dee0002,
+ 0xf9047399, 0xc43d96ef, 0x10d7e574, 0xd48a9703, 0x0060e498,
+ 0x3d5901ee, 0xe9b37275, 0x472bcb03, 0x93c1b898, 0xaef85dee,
+ 0x7a122e75, 0xf2c92e03, 0x26235d98, 0x1b1ab8ee, 0xcff0cb75,
+ 0x61687203, 0xb5820198, 0x88bbe4ee, 0x5c519775, 0x3019ca05,
+ 0xe4f3b99e, 0xd9ca5ce8, 0x0d202f73, 0xa3b89605, 0x7752e59e,
+ 0x4a6b00e8, 0x9e817373, 0x165a7305, 0xc2b0009e, 0xff89e5e8,
+ 0x2b639673, 0x85fb2f05, 0x51115c9e, 0x6c28b9e8, 0xb8c2ca73,
+ 0x7c9fb804, 0xa875cb9f, 0x954c2ee9, 0x41a65d72, 0xef3ee404,
+ 0x3bd4979f, 0x06ed72e9, 0xd2070172, 0x5adc0104, 0x8e36729f,
+ 0xb30f97e9, 0x67e5e472, 0xc97d5d04, 0x1d972e9f, 0x20aecbe9,
+ 0xf444b872, 0xa8152f07, 0x7cff5c9c, 0x41c6b9ea, 0x952cca71,
+ 0x3bb47307, 0xef5e009c, 0xd267e5ea, 0x068d9671, 0x8e569607,
+ 0x5abce59c, 0x678500ea, 0xb36f7371, 0x1df7ca07, 0xc91db99c,
+ 0xf4245cea, 0x20ce2f71, 0xe4935d06, 0x30792e9d, 0x0d40cbeb,
+ 0xd9aab870, 0x77320106, 0xa3d8729d, 0x9ee197eb, 0x4a0be470,
+ 0xc2d0e406, 0x163a979d, 0x2b0372eb, 0xffe90170, 0x5171b806,
+ 0x859bcb9d, 0xb8a22eeb, 0x6c485d70, 0x6032940b, 0xb4d8e790,
+ 0x89e102e6, 0x5d0b717d, 0xf393c80b, 0x2779bb90, 0x1a405ee6,
+ 0xceaa2d7d, 0x46712d0b, 0x929b5e90, 0xafa2bbe6, 0x7b48c87d,
+ 0xd5d0710b, 0x013a0290, 0x3c03e7e6, 0xe8e9947d, 0x2cb4e60a,
+ 0xf85e9591, 0xc56770e7, 0x118d037c, 0xbf15ba0a, 0x6bffc991,
+ 0x56c62ce7, 0x822c5f7c, 0x0af75f0a, 0xde1d2c91, 0xe324c9e7,
+ 0x37ceba7c, 0x9956030a, 0x4dbc7091, 0x708595e7, 0xa46fe67c,
+ 0xf83e7109, 0x2cd40292, 0x11ede7e4, 0xc507947f, 0x6b9f2d09,
+ 0xbf755e92, 0x824cbbe4, 0x56a6c87f, 0xde7dc809, 0x0a97bb92,
+ 0x37ae5ee4, 0xe3442d7f, 0x4ddc9409, 0x9936e792, 0xa40f02e4,
+ 0x70e5717f, 0xb4b80308, 0x60527093, 0x5d6b95e5, 0x8981e67e,
+ 0x27195f08, 0xf3f32c93, 0xcecac9e5, 0x1a20ba7e, 0x92fbba08,
+ 0x4611c993, 0x7b282ce5, 0xafc25f7e, 0x015ae608, 0xd5b09593,
+ 0xe88970e5, 0x3c63037e, 0x502b5e0e, 0x84c12d95, 0xb9f8c8e3,
+ 0x6d12bb78, 0xc38a020e, 0x17607195, 0x2a5994e3, 0xfeb3e778,
+ 0x7668e70e, 0xa2829495, 0x9fbb71e3, 0x4b510278, 0xe5c9bb0e,
+ 0x3123c895, 0x0c1a2de3, 0xd8f05e78, 0x1cad2c0f, 0xc8475f94,
+ 0xf57ebae2, 0x2194c979, 0x8f0c700f, 0x5be60394, 0x66dfe6e2,
+ 0xb2359579, 0x3aee950f, 0xee04e694, 0xd33d03e2, 0x07d77079,
+ 0xa94fc90f, 0x7da5ba94, 0x409c5fe2, 0x94762c79, 0xc827bb0c,
+ 0x1ccdc897, 0x21f42de1, 0xf51e5e7a, 0x5b86e70c, 0x8f6c9497,
+ 0xb25571e1, 0x66bf027a, 0xee64020c, 0x3a8e7197, 0x07b794e1,
+ 0xd35de77a, 0x7dc55e0c, 0xa92f2d97, 0x9416c8e1, 0x40fcbb7a,
+ 0x84a1c90d, 0x504bba96, 0x6d725fe0, 0xb9982c7b, 0x1700950d,
+ 0xc3eae696, 0xfed303e0, 0x2a39707b, 0xa2e2700d, 0x76080396,
+ 0x4b31e6e0, 0x9fdb957b, 0x31432c0d, 0xe5a95f96, 0xd890bae0,
+ 0x0c7ac97b},
+ {0x00000000, 0x27652581, 0x0fcc3bd9, 0x28a91e58, 0x5f9e0669,
+ 0x78fb23e8, 0x50523db0, 0x77371831, 0xbe3c0dd2, 0x99592853,
+ 0xb1f0360b, 0x9695138a, 0xe1a20bbb, 0xc6c72e3a, 0xee6e3062,
+ 0xc90b15e3, 0x3d7f6b7f, 0x1a1a4efe, 0x32b350a6, 0x15d67527,
+ 0x62e16d16, 0x45844897, 0x6d2d56cf, 0x4a48734e, 0x834366ad,
+ 0xa426432c, 0x8c8f5d74, 0xabea78f5, 0xdcdd60c4, 0xfbb84545,
+ 0xd3115b1d, 0xf4747e9c, 0x7afed6fe, 0x5d9bf37f, 0x7532ed27,
+ 0x5257c8a6, 0x2560d097, 0x0205f516, 0x2aaceb4e, 0x0dc9cecf,
+ 0xc4c2db2c, 0xe3a7fead, 0xcb0ee0f5, 0xec6bc574, 0x9b5cdd45,
+ 0xbc39f8c4, 0x9490e69c, 0xb3f5c31d, 0x4781bd81, 0x60e49800,
+ 0x484d8658, 0x6f28a3d9, 0x181fbbe8, 0x3f7a9e69, 0x17d38031,
+ 0x30b6a5b0, 0xf9bdb053, 0xded895d2, 0xf6718b8a, 0xd114ae0b,
+ 0xa623b63a, 0x814693bb, 0xa9ef8de3, 0x8e8aa862, 0xb5fadc26,
+ 0x929ff9a7, 0xba36e7ff, 0x9d53c27e, 0xea64da4f, 0xcd01ffce,
+ 0xe5a8e196, 0xc2cdc417, 0x0bc6d1f4, 0x2ca3f475, 0x040aea2d,
+ 0x236fcfac, 0x5458d79d, 0x733df21c, 0x5b94ec44, 0x7cf1c9c5,
+ 0x8885b759, 0xafe092d8, 0x87498c80, 0xa02ca901, 0xd71bb130,
+ 0xf07e94b1, 0xd8d78ae9, 0xffb2af68, 0x36b9ba8b, 0x11dc9f0a,
+ 0x39758152, 0x1e10a4d3, 0x6927bce2, 0x4e429963, 0x66eb873b,
+ 0x418ea2ba, 0xcf040ad8, 0xe8612f59, 0xc0c83101, 0xe7ad1480,
+ 0x909a0cb1, 0xb7ff2930, 0x9f563768, 0xb83312e9, 0x7138070a,
+ 0x565d228b, 0x7ef43cd3, 0x59911952, 0x2ea60163, 0x09c324e2,
+ 0x216a3aba, 0x060f1f3b, 0xf27b61a7, 0xd51e4426, 0xfdb75a7e,
+ 0xdad27fff, 0xade567ce, 0x8a80424f, 0xa2295c17, 0x854c7996,
+ 0x4c476c75, 0x6b2249f4, 0x438b57ac, 0x64ee722d, 0x13d96a1c,
+ 0x34bc4f9d, 0x1c1551c5, 0x3b707444, 0x6af5b94d, 0x4d909ccc,
+ 0x65398294, 0x425ca715, 0x356bbf24, 0x120e9aa5, 0x3aa784fd,
+ 0x1dc2a17c, 0xd4c9b49f, 0xf3ac911e, 0xdb058f46, 0xfc60aac7,
+ 0x8b57b2f6, 0xac329777, 0x849b892f, 0xa3feacae, 0x578ad232,
+ 0x70eff7b3, 0x5846e9eb, 0x7f23cc6a, 0x0814d45b, 0x2f71f1da,
+ 0x07d8ef82, 0x20bdca03, 0xe9b6dfe0, 0xced3fa61, 0xe67ae439,
+ 0xc11fc1b8, 0xb628d989, 0x914dfc08, 0xb9e4e250, 0x9e81c7d1,
+ 0x100b6fb3, 0x376e4a32, 0x1fc7546a, 0x38a271eb, 0x4f9569da,
+ 0x68f04c5b, 0x40595203, 0x673c7782, 0xae376261, 0x895247e0,
+ 0xa1fb59b8, 0x869e7c39, 0xf1a96408, 0xd6cc4189, 0xfe655fd1,
+ 0xd9007a50, 0x2d7404cc, 0x0a11214d, 0x22b83f15, 0x05dd1a94,
+ 0x72ea02a5, 0x558f2724, 0x7d26397c, 0x5a431cfd, 0x9348091e,
+ 0xb42d2c9f, 0x9c8432c7, 0xbbe11746, 0xccd60f77, 0xebb32af6,
+ 0xc31a34ae, 0xe47f112f, 0xdf0f656b, 0xf86a40ea, 0xd0c35eb2,
+ 0xf7a67b33, 0x80916302, 0xa7f44683, 0x8f5d58db, 0xa8387d5a,
+ 0x613368b9, 0x46564d38, 0x6eff5360, 0x499a76e1, 0x3ead6ed0,
+ 0x19c84b51, 0x31615509, 0x16047088, 0xe2700e14, 0xc5152b95,
+ 0xedbc35cd, 0xcad9104c, 0xbdee087d, 0x9a8b2dfc, 0xb22233a4,
+ 0x95471625, 0x5c4c03c6, 0x7b292647, 0x5380381f, 0x74e51d9e,
+ 0x03d205af, 0x24b7202e, 0x0c1e3e76, 0x2b7b1bf7, 0xa5f1b395,
+ 0x82949614, 0xaa3d884c, 0x8d58adcd, 0xfa6fb5fc, 0xdd0a907d,
+ 0xf5a38e25, 0xd2c6aba4, 0x1bcdbe47, 0x3ca89bc6, 0x1401859e,
+ 0x3364a01f, 0x4453b82e, 0x63369daf, 0x4b9f83f7, 0x6cfaa676,
+ 0x988ed8ea, 0xbfebfd6b, 0x9742e333, 0xb027c6b2, 0xc710de83,
+ 0xe075fb02, 0xc8dce55a, 0xefb9c0db, 0x26b2d538, 0x01d7f0b9,
+ 0x297eeee1, 0x0e1bcb60, 0x792cd351, 0x5e49f6d0, 0x76e0e888,
+ 0x5185cd09}};
+
+#endif
+
+#endif
+
+#endif
+
+local const z_crc_t FAR x2n_table[] = {
+ 0x40000000, 0x20000000, 0x08000000, 0x00800000, 0x00008000,
+ 0xedb88320, 0xb1e6b092, 0xa06a2517, 0xed627dae, 0x88d14467,
+ 0xd7bbfe6a, 0xec447f11, 0x8e7ea170, 0x6427800e, 0x4d47bae0,
+ 0x09fe548f, 0x83852d0f, 0x30362f1a, 0x7b5a9cc3, 0x31fec169,
+ 0x9fec022a, 0x6c8dedc4, 0x15d6874d, 0x5fde7a4e, 0xbad90e37,
+ 0x2e4e5eef, 0x4eaba214, 0xa8a472c0, 0x429a969e, 0x148d302a,
+ 0xc40ba6d0, 0xc4e22c3c};
diff --git a/lib/zlib/deflate.c b/lib/zlib/deflate.c
index 1e39dcbae..691d810d4 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-2017 Jean-loup Gailly and Mark Adler
+ * Copyright (C) 1995-2022 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.2.11 Copyright 1995-2017 Jean-loup Gailly and Mark Adler ";
+ " deflate 1.2.12 Copyright 1995-2022 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
@@ -190,8 +190,11 @@ local const config configuration_table[10] = {
* prev[] will be initialized on the fly.
*/
#define CLEAR_HASH(s) \
- s->head[s->hash_size-1] = NIL; \
- zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
+ do { \
+ s->head[s->hash_size-1] = NIL; \
+ zmemzero((Bytef *)s->head, \
+ (unsigned)(s->hash_size-1)*sizeof(*s->head)); \
+ } while (0)
/* ===========================================================================
* Slide the hash table when sliding the window down (could be avoided with 32
@@ -252,11 +255,6 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
int wrap = 1;
static const char my_version[] = ZLIB_VERSION;
- ushf *overlay;
- /* We overlay pending_buf and d_buf+l_buf. This works since the average
- * output size for (length,distance) codes is <= 24 bits.
- */
-
if (version == Z_NULL || version[0] != my_version[0] ||
stream_size != sizeof(z_stream)) {
return Z_VERSION_ERROR;
@@ -326,9 +324,47 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
- overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
- s->pending_buf = (uchf *) overlay;
- s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L);
+ /* We overlay pending_buf and sym_buf. This works since the average size
+ * for length/distance pairs over any compressed block is assured to be 31
+ * bits or less.
+ *
+ * Analysis: The longest fixed codes are a length code of 8 bits plus 5
+ * extra bits, for lengths 131 to 257. The longest fixed distance codes are
+ * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
+ * possible fixed-codes length/distance pair is then 31 bits total.
+ *
+ * sym_buf starts one-fourth of the way into pending_buf. So there are
+ * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
+ * in sym_buf is three bytes -- two for the distance and one for the
+ * literal/length. As each symbol is consumed, the pointer to the next
+ * sym_buf value to read moves forward three bytes. From that symbol, up to
+ * 31 bits are written to pending_buf. The closest the written pending_buf
+ * bits gets to the next sym_buf symbol to read is just before the last
+ * code is written. At that time, 31*(n-2) bits have been written, just
+ * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at
+ * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1
+ * symbols are written.) The closest the writing gets to what is unread is
+ * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and
+ * can range from 128 to 32768.
+ *
+ * Therefore, at a minimum, there are 142 bits of space between what is
+ * written and what is read in the overlain buffers, so the symbols cannot
+ * be overwritten by the compressed data. That space is actually 139 bits,
+ * due to the three-bit fixed-code block header.
+ *
+ * That covers the case where either Z_FIXED is specified, forcing fixed
+ * codes, or when the use of fixed codes is chosen, because that choice
+ * results in a smaller compressed block than dynamic codes. That latter
+ * condition then assures that the above analysis also covers all dynamic
+ * blocks. A dynamic-code block will only be chosen to be emitted if it has
+ * fewer bits than a fixed-code block would for the same set of symbols.
+ * Therefore its average symbol length is assured to be less than 31. So
+ * the compressed data for a dynamic block also cannot overwrite the
+ * symbols from which it is being constructed.
+ */
+
+ s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4);
+ s->pending_buf_size = (ulg)s->lit_bufsize * 4;
if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
s->pending_buf == Z_NULL) {
@@ -337,8 +373,12 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
deflateEnd (strm);
return Z_MEM_ERROR;
}
- s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
- s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
+ s->sym_buf = s->pending_buf + s->lit_bufsize;
+ s->sym_end = (s->lit_bufsize - 1) * 3;
+ /* 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.
+ */
s->level = level;
s->strategy = strategy;
@@ -488,13 +528,13 @@ int ZEXPORT deflateResetKeep (strm)
#ifdef GZIP
s->wrap == 2 ? GZIP_STATE :
#endif
- s->wrap ? INIT_STATE : BUSY_STATE;
+ INIT_STATE;
strm->adler =
#ifdef GZIP
s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
#endif
adler32(0L, Z_NULL, 0);
- s->last_flush = Z_NO_FLUSH;
+ s->last_flush = -2;
_tr_init(s);
@@ -549,7 +589,8 @@ int ZEXPORT deflatePrime (strm, bits, value)
if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
s = strm->state;
- if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3))
+ if (bits < 0 || bits > 16 ||
+ s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3))
return Z_BUF_ERROR;
do {
put = Buf_size - s->bi_valid;
@@ -587,12 +628,12 @@ int ZEXPORT deflateParams(strm, level, strategy)
func = configuration_table[s->level].func;
if ((strategy != s->strategy || func != configuration_table[level].func) &&
- s->high_water) {
+ s->last_flush != -2) {
/* Flush the last buffer: */
int err = deflate(strm, Z_BLOCK);
if (err == Z_STREAM_ERROR)
return err;
- if (strm->avail_out == 0)
+ if (strm->avail_in || (s->strstart - s->block_start) + s->lookahead)
return Z_BUF_ERROR;
}
if (s->level != level) {
@@ -811,6 +852,8 @@ int ZEXPORT deflate (strm, flush)
}
/* Write the header */
+ if (s->status == INIT_STATE && s->wrap == 0)
+ s->status = BUSY_STATE;
if (s->status == INIT_STATE) {
/* zlib header */
uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
@@ -1108,7 +1151,6 @@ int ZEXPORT deflateCopy (dest, source)
#else
deflate_state *ds;
deflate_state *ss;
- ushf *overlay;
if (deflateStateCheck(source) || dest == Z_NULL) {
@@ -1128,8 +1170,7 @@ int ZEXPORT deflateCopy (dest, 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));
- overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
- ds->pending_buf = (uchf *) overlay;
+ ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4);
if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
ds->pending_buf == Z_NULL) {
@@ -1143,8 +1184,7 @@ int ZEXPORT deflateCopy (dest, source)
zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
- ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
- ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;
+ ds->sym_buf = ds->pending_buf + ds->lit_bufsize;
ds->l_desc.dyn_tree = ds->dyn_ltree;
ds->d_desc.dyn_tree = ds->dyn_dtree;
@@ -1513,6 +1553,8 @@ local void fill_window(s)
s->match_start -= wsize;
s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
s->block_start -= (long) wsize;
+ if (s->insert > s->strstart)
+ s->insert = s->strstart;
slide_hash(s);
more += wsize;
}
@@ -1744,6 +1786,7 @@ local block_state deflate_stored(s, flush)
s->matches = 2; /* clear hash */
zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);
s->strstart = s->w_size;
+ s->insert = s->strstart;
}
else {
if (s->window_size - s->strstart <= used) {
@@ -1752,12 +1795,14 @@ local block_state deflate_stored(s, flush)
zmemcpy(s->window, s->window + s->w_size, s->strstart);
if (s->matches < 2)
s->matches++; /* add a pending slide_hash() */
+ if (s->insert > s->strstart)
+ s->insert = s->strstart;
}
zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);
s->strstart += used;
+ s->insert += MIN(used, s->w_size - s->insert);
}
s->block_start = s->strstart;
- s->insert += MIN(used, s->w_size - s->insert);
}
if (s->high_water < s->strstart)
s->high_water = s->strstart;
@@ -1772,7 +1817,7 @@ local block_state deflate_stored(s, flush)
return block_done;
/* Fill the window with any remaining input. */
- have = s->window_size - s->strstart - 1;
+ have = s->window_size - s->strstart;
if (s->strm->avail_in > have && s->block_start >= (long)s->w_size) {
/* Slide the window down. */
s->block_start -= s->w_size;
@@ -1781,12 +1826,15 @@ local block_state deflate_stored(s, flush)
if (s->matches < 2)
s->matches++; /* add a pending slide_hash() */
have += s->w_size; /* more space now */
+ if (s->insert > s->strstart)
+ s->insert = s->strstart;
}
if (have > s->strm->avail_in)
have = s->strm->avail_in;
if (have) {
read_buf(s->strm, s->window + s->strstart, have);
s->strstart += have;
+ s->insert += MIN(have, s->w_size - s->insert);
}
if (s->high_water < s->strstart)
s->high_water = s->strstart;
@@ -1914,7 +1962,7 @@ local block_state deflate_fast(s, flush)
FLUSH_BLOCK(s, 1);
return finish_done;
}
- if (s->last_lit)
+ if (s->sym_next)
FLUSH_BLOCK(s, 0);
return block_done;
}
@@ -2045,7 +2093,7 @@ local block_state deflate_slow(s, flush)
FLUSH_BLOCK(s, 1);
return finish_done;
}
- if (s->last_lit)
+ if (s->sym_next)
FLUSH_BLOCK(s, 0);
return block_done;
}
@@ -2120,7 +2168,7 @@ local block_state deflate_rle(s, flush)
FLUSH_BLOCK(s, 1);
return finish_done;
}
- if (s->last_lit)
+ if (s->sym_next)
FLUSH_BLOCK(s, 0);
return block_done;
}
@@ -2159,7 +2207,7 @@ local block_state deflate_huff(s, flush)
FLUSH_BLOCK(s, 1);
return finish_done;
}
- if (s->last_lit)
+ if (s->sym_next)
FLUSH_BLOCK(s, 0);
return block_done;
}
diff --git a/lib/zlib/deflate.h b/lib/zlib/deflate.h
index 23ecdd312..17c226113 100644
--- a/lib/zlib/deflate.h
+++ b/lib/zlib/deflate.h
@@ -1,5 +1,5 @@
/* deflate.h -- internal compression state
- * Copyright (C) 1995-2016 Jean-loup Gailly
+ * Copyright (C) 1995-2018 Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -217,7 +217,7 @@ typedef struct internal_state {
/* Depth of each subtree used as tie breaker for trees of equal frequency
*/
- uchf *l_buf; /* buffer for literals or lengths */
+ uchf *sym_buf; /* buffer for distances and literals/lengths */
uInt lit_bufsize;
/* Size of match buffer for literals/lengths. There are 4 reasons for
@@ -239,13 +239,8 @@ typedef struct internal_state {
* - I can't count above 4
*/
- uInt last_lit; /* running index in l_buf */
-
- ushf *d_buf;
- /* Buffer for distances. To simplify the code, d_buf and l_buf have
- * the same number of elements. To use different lengths, an extra flag
- * array would be necessary.
- */
+ uInt sym_next; /* running index in sym_buf */
+ uInt sym_end; /* symbol table full when sym_next reaches this */
ulg opt_len; /* bit length of current block with optimal trees */
ulg static_len; /* bit length of current block with static trees */
@@ -325,20 +320,22 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
# define _tr_tally_lit(s, c, flush) \
{ uch cc = (c); \
- s->d_buf[s->last_lit] = 0; \
- s->l_buf[s->last_lit++] = cc; \
+ s->sym_buf[s->sym_next++] = 0; \
+ s->sym_buf[s->sym_next++] = 0; \
+ s->sym_buf[s->sym_next++] = cc; \
s->dyn_ltree[cc].Freq++; \
- flush = (s->last_lit == s->lit_bufsize-1); \
+ 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->last_lit] = dist; \
- s->l_buf[s->last_lit++] = len; \
+ s->sym_buf[s->sym_next++] = dist; \
+ s->sym_buf[s->sym_next++] = dist >> 8; \
+ s->sym_buf[s->sym_next++] = len; \
dist--; \
s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
s->dyn_dtree[d_code(dist)].Freq++; \
- flush = (s->last_lit == s->lit_bufsize-1); \
+ flush = (s->sym_next == s->sym_end); \
}
#else
# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c)
diff --git a/lib/zlib/gzguts.h b/lib/zlib/gzguts.h
index 85de9339c..f8b914c8b 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, 2005, 2010, 2011, 2012, 2013, 2016 Mark Adler
+ * Copyright (C) 2004-2019 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -39,7 +39,7 @@
# include <io.h>
#endif
-#if defined(_WIN32) || defined(__CYGWIN__)
+#if defined(_WIN32)
# define WIDECHAR
#endif
@@ -190,6 +190,7 @@ typedef struct {
/* just for writing */
int level; /* compression level */
int strategy; /* compression strategy */
+ int reset; /* true if a reset is pending after a Z_FINISH */
/* seek request */
z_off64_t skip; /* amount to skip (already rewound if backwards) */
int seek; /* true if seek request pending */
diff --git a/lib/zlib/gzlib.c b/lib/zlib/gzlib.c
index 4105e6aff..dddaf2687 100644
--- a/lib/zlib/gzlib.c
+++ b/lib/zlib/gzlib.c
@@ -1,11 +1,11 @@
/* gzlib.c -- zlib functions common to reading and writing gzip files
- * Copyright (C) 2004-2017 Mark Adler
+ * Copyright (C) 2004-2019 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
#include "gzguts.h"
-#if defined(_WIN32) && !defined(__BORLANDC__) && !defined(__MINGW32__)
+#if defined(_WIN32) && !defined(__BORLANDC__)
# define LSEEK _lseeki64
#else
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
@@ -81,6 +81,8 @@ local void gz_reset(state)
state->past = 0; /* have not read past end yet */
state->how = LOOK; /* look for gzip header */
}
+ else /* for writing ... */
+ state->reset = 0; /* no deflateReset pending */
state->seek = 0; /* no seek request pending */
gz_error(state, Z_OK, NULL); /* clear error */
state->x.pos = 0; /* no uncompressed data yet */
@@ -397,7 +399,7 @@ z_off64_t ZEXPORT gzseek64(file, offset, whence)
/* if within raw area while reading, just go there */
if (state->mode == GZ_READ && state->how == COPY &&
state->x.pos + offset >= 0) {
- ret = LSEEK(state->fd, offset - state->x.have, SEEK_CUR);
+ ret = LSEEK(state->fd, offset - (z_off64_t)state->x.have, SEEK_CUR);
if (ret == -1)
return -1;
state->x.have = 0;
diff --git a/lib/zlib/gzread.c b/lib/zlib/gzread.c
index 956b91ea7..884c9bfe4 100644
--- a/lib/zlib/gzread.c
+++ b/lib/zlib/gzread.c
@@ -1,5 +1,5 @@
/* gzread.c -- zlib functions for reading gzip files
- * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013, 2016 Mark Adler
+ * Copyright (C) 2004-2017 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -314,9 +314,9 @@ local z_size_t gz_read(state, buf, len)
got = 0;
do {
/* set n to the maximum amount of len that fits in an unsigned int */
- n = -1;
+ n = (unsigned)-1;
if (n > len)
- n = len;
+ n = (unsigned)len;
/* first just try copying data from the output buffer */
if (state->x.have) {
@@ -397,7 +397,7 @@ int ZEXPORT gzread(file, buf, len)
}
/* read len or fewer bytes to buf */
- len = gz_read(state, buf, len);
+ len = (unsigned)gz_read(state, buf, len);
/* check for an error */
if (len == 0 && state->err != Z_OK && state->err != Z_BUF_ERROR)
@@ -447,7 +447,6 @@ z_size_t ZEXPORT gzfread(buf, size, nitems, file)
int ZEXPORT gzgetc(file)
gzFile file;
{
- int ret;
unsigned char buf[1];
gz_statep state;
@@ -469,8 +468,7 @@ int ZEXPORT gzgetc(file)
}
/* nothing there -- try gz_read() */
- ret = gz_read(state, buf, 1);
- return ret < 1 ? -1 : buf[0];
+ return gz_read(state, buf, 1) < 1 ? -1 : buf[0];
}
int ZEXPORT gzgetc_(file)
diff --git a/lib/zlib/gzwrite.c b/lib/zlib/gzwrite.c
index c7b5651d7..a8ffc8f53 100644
--- a/lib/zlib/gzwrite.c
+++ b/lib/zlib/gzwrite.c
@@ -1,5 +1,5 @@
/* gzwrite.c -- zlib functions for writing gzip files
- * Copyright (C) 2004-2017 Mark Adler
+ * Copyright (C) 2004-2019 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -97,6 +97,15 @@ local int gz_comp(state, flush)
return 0;
}
+ /* check for a pending reset */
+ if (state->reset) {
+ /* don't start a new gzip member unless there is data to write */
+ if (strm->avail_in == 0)
+ return 0;
+ deflateReset(strm);
+ state->reset = 0;
+ }
+
/* run deflate() on provided input until it produces no more output */
ret = Z_OK;
do {
@@ -134,7 +143,7 @@ local int gz_comp(state, flush)
/* if that completed a deflate stream, allow another to start */
if (flush == Z_FINISH)
- deflateReset(strm);
+ state->reset = 1;
/* all done, no errors */
return 0;
@@ -209,7 +218,7 @@ local z_size_t gz_write(state, buf, len)
state->in);
copy = state->size - have;
if (copy > len)
- copy = len;
+ copy = (unsigned)len;
memcpy(state->in + have, buf, copy);
state->strm.avail_in += copy;
state->x.pos += copy;
@@ -229,7 +238,7 @@ local z_size_t gz_write(state, buf, len)
do {
unsigned n = (unsigned)-1;
if (n > len)
- n = len;
+ n = (unsigned)len;
state->strm.avail_in = n;
state->x.pos += n;
if (gz_comp(state, Z_NO_FLUSH) == -1)
@@ -349,12 +358,11 @@ int ZEXPORT gzputc(file, c)
}
/* -- see zlib.h -- */
-int ZEXPORT gzputs(file, str)
+int ZEXPORT gzputs(file, s)
gzFile file;
- const char *str;
+ const char *s;
{
- int ret;
- z_size_t len;
+ z_size_t len, put;
gz_statep state;
/* get internal structure */
@@ -367,9 +375,13 @@ int ZEXPORT gzputs(file, str)
return -1;
/* write string */
- len = strlen(str);
- ret = gz_write(state, str, len);
- return ret == 0 && len != 0 ? -1 : ret;
+ len = strlen(s);
+ if ((int)len < 0 || (unsigned)len != len) {
+ gz_error(state, Z_STREAM_ERROR, "string length does not fit in int");
+ return -1;
+ }
+ put = gz_write(state, s, len);
+ return put < len ? -1 : (int)len;
}
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
@@ -441,7 +453,7 @@ int ZEXPORTVA gzvprintf(gzFile file, const char *format, va_list va)
strm->avail_in = state->size;
if (gz_comp(state, Z_NO_FLUSH) == -1)
return state->err;
- memcpy(state->in, state->in + state->size, left);
+ memmove(state->in, state->in + state->size, left);
strm->next_in = state->in;
strm->avail_in = left;
}
@@ -540,7 +552,7 @@ int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
strm->avail_in = state->size;
if (gz_comp(state, Z_NO_FLUSH) == -1)
return state->err;
- memcpy(state->in, state->in + state->size, left);
+ memmove(state->in, state->in + state->size, left);
strm->next_in = state->in;
strm->avail_in = left;
}
diff --git a/lib/zlib/infback.c b/lib/zlib/infback.c
index d41c2023f..fe8577488 100644
--- a/lib/zlib/infback.c
+++ b/lib/zlib/infback.c
@@ -1,5 +1,5 @@
/* infback.c -- inflate using a call-back interface
- * Copyright (C) 1995-2016 Mark Adler
+ * Copyright (C) 1995-2022 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
diff --git a/lib/zlib/inffast.c b/lib/zlib/inffast.c
index 0dbd1dbc0..1fec7f363 100644
--- a/lib/zlib/inffast.c
+++ b/lib/zlib/inffast.c
@@ -70,7 +70,7 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
code const FAR *dcode; /* local strm->distcode */
unsigned lmask; /* mask for first level of length codes */
unsigned dmask; /* mask for first level of distance codes */
- code here; /* retrieved table entry */
+ code const *here; /* retrieved table entry */
unsigned op; /* code bits, operation, extra bits, or */
/* window position, window bytes to copy */
unsigned len; /* match length, unused bytes */
@@ -107,20 +107,20 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
hold += (unsigned long)(*in++) << bits;
bits += 8;
}
- here = lcode[hold & lmask];
+ here = lcode + (hold & lmask);
dolen:
- op = (unsigned)(here.bits);
+ op = (unsigned)(here->bits);
hold >>= op;
bits -= op;
- op = (unsigned)(here.op);
+ op = (unsigned)(here->op);
if (op == 0) { /* literal */
- Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+ Tracevv((stderr, here->val >= 0x20 && here->val < 0x7f ?
"inflate: literal '%c'\n" :
- "inflate: literal 0x%02x\n", here.val));
- *out++ = (unsigned char)(here.val);
+ "inflate: literal 0x%02x\n", here->val));
+ *out++ = (unsigned char)(here->val);
}
else if (op & 16) { /* length base */
- len = (unsigned)(here.val);
+ len = (unsigned)(here->val);
op &= 15; /* number of extra bits */
if (op) {
if (bits < op) {
@@ -138,14 +138,14 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
hold += (unsigned long)(*in++) << bits;
bits += 8;
}
- here = dcode[hold & dmask];
+ here = dcode + (hold & dmask);
dodist:
- op = (unsigned)(here.bits);
+ op = (unsigned)(here->bits);
hold >>= op;
bits -= op;
- op = (unsigned)(here.op);
+ op = (unsigned)(here->op);
if (op & 16) { /* distance base */
- dist = (unsigned)(here.val);
+ dist = (unsigned)(here->val);
op &= 15; /* number of extra bits */
if (bits < op) {
hold += (unsigned long)(*in++) << bits;
@@ -264,7 +264,7 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
}
}
else if ((op & 64) == 0) { /* 2nd level distance code */
- here = dcode[here.val + (hold & ((1U << op) - 1))];
+ here = dcode + here->val + (hold & ((1U << op) - 1));
goto dodist;
}
else {
@@ -274,7 +274,7 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
}
}
else if ((op & 64) == 0) { /* 2nd level length code */
- here = lcode[here.val + (hold & ((1U << op) - 1))];
+ here = lcode + here->val + (hold & ((1U << op) - 1));
goto dolen;
}
else if (op & 32) { /* end-of-block */
diff --git a/lib/zlib/inflate.c b/lib/zlib/inflate.c
index 57ad93148..fcf5e10ab 100644
--- a/lib/zlib/inflate.c
+++ b/lib/zlib/inflate.c
@@ -1,5 +1,5 @@
/* inflate.c -- zlib decompression
- * Copyright (C) 1995-2016 Mark Adler
+ * Copyright (C) 1995-2022 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -130,6 +130,7 @@ z_streamp strm;
state->mode = HEAD;
state->last = 0;
state->havedict = 0;
+ state->flags = -1;
state->dmax = 32768U;
state->head = Z_NULL;
state->hold = 0;
@@ -447,10 +448,10 @@ unsigned copy;
/* check function to use adler32() for zlib or crc32() for gzip */
#ifdef GUNZIP
-# define UPDATE(check, buf, len) \
+# define UPDATE_CHECK(check, buf, len) \
(state->flags ? crc32(check, buf, len) : adler32(check, buf, len))
#else
-# define UPDATE(check, buf, len) adler32(check, buf, len)
+# define UPDATE_CHECK(check, buf, len) adler32(check, buf, len)
#endif
/* check macros for header crc */
@@ -670,7 +671,6 @@ int flush;
state->mode = FLAGS;
break;
}
- state->flags = 0; /* expect zlib header */
if (state->head != Z_NULL)
state->head->done = -1;
if (!(state->wrap & 1) || /* check if zlib header allowed */
@@ -697,6 +697,7 @@ int flush;
break;
}
state->dmax = 1U << len;
+ state->flags = 0; /* indicate zlib header */
Tracev((stderr, "inflate: zlib header ok\n"));
strm->adler = state->check = adler32(0L, Z_NULL, 0);
state->mode = hold & 0x200 ? DICTID : TYPE;
@@ -1222,7 +1223,7 @@ int flush;
state->total += out;
if ((state->wrap & 4) && out)
strm->adler = state->check =
- UPDATE(state->check, put - out, out);
+ UPDATE_CHECK(state->check, put - out, out);
out = left;
if ((state->wrap & 4) && (
#ifdef GUNZIP
@@ -1242,7 +1243,7 @@ int flush;
case LENGTH:
if (state->wrap && state->flags) {
NEEDBITS(32);
- if (hold != (state->total & 0xffffffffUL)) {
+ if ((state->wrap & 4) && hold != (state->total & 0xffffffff)) {
strm->msg = (char *)"incorrect length check";
state->mode = BAD;
break;
@@ -1287,7 +1288,7 @@ int flush;
state->total += out;
if ((state->wrap & 4) && out)
strm->adler = state->check =
- UPDATE(state->check, strm->next_out - out, out);
+ UPDATE_CHECK(state->check, strm->next_out - out, out);
strm->data_type = (int)state->bits + (state->last ? 64 : 0) +
(state->mode == TYPE ? 128 : 0) +
(state->mode == LEN_ || state->mode == COPY_ ? 256 : 0);
@@ -1423,6 +1424,7 @@ int ZEXPORT inflateSync(strm)
z_streamp strm;
{
unsigned len; /* number of bytes to look at or looked at */
+ int flags; /* temporary to save header status */
unsigned long in, out; /* temporary to save total_in and total_out */
unsigned char buf[4]; /* to restore bit buffer to byte string */
struct inflate_state FAR *state;
@@ -1455,9 +1457,15 @@ z_streamp strm;
/* return no joy or set up to restart inflate() on a new block */
if (state->have != 4) return Z_DATA_ERROR;
+ if (state->flags == -1)
+ state->wrap = 0; /* if no header yet, treat as raw */
+ else
+ state->wrap &= ~4; /* no point in computing a check value now */
+ flags = state->flags;
in = strm->total_in; out = strm->total_out;
inflateReset(strm);
strm->total_in = in; strm->total_out = out;
+ state->flags = flags;
state->mode = TYPE;
return Z_OK;
}
@@ -1553,7 +1561,7 @@ int check;
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
- if (check)
+ if (check && state->wrap)
state->wrap |= 4;
else
state->wrap &= ~4;
diff --git a/lib/zlib/inflate.h b/lib/zlib/inflate.h
index a46cce6b6..f127b6b1f 100644
--- a/lib/zlib/inflate.h
+++ b/lib/zlib/inflate.h
@@ -1,5 +1,5 @@
/* inflate.h -- internal inflate state definition
- * Copyright (C) 1995-2016 Mark Adler
+ * Copyright (C) 1995-2019 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -86,7 +86,8 @@ struct inflate_state {
int wrap; /* bit 0 true for zlib, bit 1 true for gzip,
bit 2 true to validate check value */
int havedict; /* true if dictionary provided */
- int flags; /* gzip header method and flags (0 if zlib) */
+ int flags; /* gzip header method and flags, 0 if zlib, or
+ -1 if raw or no header yet */
unsigned dmax; /* zlib header max distance (INFLATE_STRICT) */
unsigned long check; /* protected copy of check value */
unsigned long total; /* protected copy of output count */
diff --git a/lib/zlib/inftrees.c b/lib/zlib/inftrees.c
index 2ea08fc13..09462a740 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-2017 Mark Adler
+ * Copyright (C) 1995-2022 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.2.11 Copyright 1995-2017 Mark Adler ";
+ " inflate 1.2.12 Copyright 1995-2022 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
@@ -62,7 +62,7 @@ unsigned short FAR *work;
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, 77, 202};
+ 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 199, 202};
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/trees.c b/lib/zlib/trees.c
index 50cf4b457..f73fd99c3 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-2017 Jean-loup Gailly
+ * Copyright (C) 1995-2021 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
*/
@@ -149,7 +149,7 @@ local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
local void compress_block OF((deflate_state *s, const ct_data *ltree,
const ct_data *dtree));
local int detect_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned value, int length));
+local unsigned bi_reverse OF((unsigned code, int len));
local void bi_windup OF((deflate_state *s));
local void bi_flush OF((deflate_state *s));
@@ -416,7 +416,7 @@ local void init_block(s)
s->dyn_ltree[END_BLOCK].Freq = 1;
s->opt_len = s->static_len = 0L;
- s->last_lit = s->matches = 0;
+ s->sym_next = s->matches = 0;
}
#define SMALLEST 1
@@ -870,7 +870,8 @@ void ZLIB_INTERNAL _tr_stored_block(s, buf, stored_len, last)
bi_windup(s); /* align on byte boundary */
put_short(s, (ush)stored_len);
put_short(s, (ush)~stored_len);
- zmemcpy(s->pending_buf + s->pending, (Bytef *)buf, stored_len);
+ if (stored_len)
+ zmemcpy(s->pending_buf + s->pending, (Bytef *)buf, stored_len);
s->pending += stored_len;
#ifdef ZLIB_DEBUG
s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
@@ -947,7 +948,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
- s->last_lit));
+ s->sym_next / 3));
if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
@@ -1016,8 +1017,9 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc)
unsigned dist; /* distance of matched string */
unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
{
- s->d_buf[s->last_lit] = (ush)dist;
- s->l_buf[s->last_lit++] = (uch)lc;
+ s->sym_buf[s->sym_next++] = dist;
+ s->sym_buf[s->sym_next++] = dist >> 8;
+ s->sym_buf[s->sym_next++] = lc;
if (dist == 0) {
/* lc is the unmatched char */
s->dyn_ltree[lc].Freq++;
@@ -1032,30 +1034,7 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc)
s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++;
s->dyn_dtree[d_code(dist)].Freq++;
}
-
-#ifdef TRUNCATE_BLOCK
- /* Try to guess if it is profitable to stop the current block here */
- if ((s->last_lit & 0x1fff) == 0 && s->level > 2) {
- /* Compute an upper bound for the compressed length */
- ulg out_length = (ulg)s->last_lit*8L;
- ulg in_length = (ulg)((long)s->strstart - s->block_start);
- int dcode;
- for (dcode = 0; dcode < D_CODES; dcode++) {
- out_length += (ulg)s->dyn_dtree[dcode].Freq *
- (5L+extra_dbits[dcode]);
- }
- out_length >>= 3;
- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
- s->last_lit, in_length, out_length,
- 100L - out_length*100L/in_length));
- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
- }
-#endif
- return (s->last_lit == s->lit_bufsize-1);
- /* We avoid equality with lit_bufsize because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
+ return (s->sym_next == s->sym_end);
}
/* ===========================================================================
@@ -1068,13 +1047,14 @@ local void compress_block(s, ltree, dtree)
{
unsigned dist; /* distance of matched string */
int lc; /* match length or unmatched char (if dist == 0) */
- unsigned lx = 0; /* running index in l_buf */
+ unsigned sx = 0; /* running index in sym_buf */
unsigned code; /* the code to send */
int extra; /* number of extra bits to send */
- if (s->last_lit != 0) do {
- dist = s->d_buf[lx];
- lc = s->l_buf[lx++];
+ if (s->sym_next != 0) do {
+ dist = s->sym_buf[sx++] & 0xff;
+ dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8;
+ lc = s->sym_buf[sx++];
if (dist == 0) {
send_code(s, lc, ltree); /* send a literal byte */
Tracecv(isgraph(lc), (stderr," '%c' ", lc));
@@ -1099,11 +1079,10 @@ local void compress_block(s, ltree, dtree)
}
} /* literal or match pair ? */
- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
- Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,
- "pendingBuf overflow");
+ /* Check that the overlay between pending_buf and sym_buf is ok: */
+ Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow");
- } while (lx < s->last_lit);
+ } while (sx < s->sym_next);
send_code(s, END_BLOCK, ltree);
}
@@ -1112,9 +1091,9 @@ local void compress_block(s, ltree, dtree)
* Check if the data type is TEXT or BINARY, using the following algorithm:
* - TEXT if the two conditions below are satisfied:
* a) There are no non-portable control characters belonging to the
- * "black list" (0..6, 14..25, 28..31).
+ * "block list" (0..6, 14..25, 28..31).
* b) There is at least one printable character belonging to the
- * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
+ * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
* - BINARY otherwise.
* - The following partially-portable control characters form a
* "gray list" that is ignored in this detection algorithm:
@@ -1124,19 +1103,19 @@ local void compress_block(s, ltree, dtree)
local int detect_data_type(s)
deflate_state *s;
{
- /* black_mask is the bit mask of black-listed bytes
+ /* block_mask is the bit mask of block-listed bytes
* set bits 0..6, 14..25, and 28..31
* 0xf3ffc07f = binary 11110011111111111100000001111111
*/
- unsigned long black_mask = 0xf3ffc07fUL;
+ unsigned long block_mask = 0xf3ffc07fUL;
int n;
- /* Check for non-textual ("black-listed") bytes. */
- for (n = 0; n <= 31; n++, black_mask >>= 1)
- if ((black_mask & 1) && (s->dyn_ltree[n].Freq != 0))
+ /* Check for non-textual ("block-listed") bytes. */
+ for (n = 0; n <= 31; n++, block_mask >>= 1)
+ if ((block_mask & 1) && (s->dyn_ltree[n].Freq != 0))
return Z_BINARY;
- /* Check for textual ("white-listed") bytes. */
+ /* Check for textual ("allow-listed") bytes. */
if (s->dyn_ltree[9].Freq != 0 || s->dyn_ltree[10].Freq != 0
|| s->dyn_ltree[13].Freq != 0)
return Z_TEXT;
@@ -1144,7 +1123,7 @@ local int detect_data_type(s)
if (s->dyn_ltree[n].Freq != 0)
return Z_TEXT;
- /* There are no "black-listed" or "white-listed" bytes:
+ /* There are no "block-listed" or "allow-listed" bytes:
* this stream either is empty or has tolerated ("gray-listed") bytes only.
*/
return Z_BINARY;
diff --git a/lib/zlib/zlib.exp b/lib/zlib/zlib.exp
index 76ac35efa..8f43859d0 100644
--- a/lib/zlib/zlib.exp
+++ b/lib/zlib/zlib.exp
@@ -8,6 +8,9 @@ compressBound
crc32
crc32_combine
crc32_combine64
+crc32_combine_gen
+crc32_combine_gen64
+crc32_combine_op
crc32_z
deflate
deflateBound
diff --git a/lib/zlib/zlib.h b/lib/zlib/zlib.h
index f09cdaf1e..4a98e38bf 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.2.11, January 15th, 2017
+ version 1.2.12, March 11th, 2022
- Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+ Copyright (C) 1995-2022 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.2.11"
-#define ZLIB_VERNUM 0x12b0
+#define ZLIB_VERSION "1.2.12"
+#define ZLIB_VERNUM 0x12c0
#define ZLIB_VER_MAJOR 1
#define ZLIB_VER_MINOR 2
-#define ZLIB_VER_REVISION 11
+#define ZLIB_VER_REVISION 12
#define ZLIB_VER_SUBREVISION 0
/*
@@ -543,8 +543,7 @@ ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
int strategy));
This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by the
- caller.
+ fields zalloc, zfree and opaque must be initialized before by the caller.
The method parameter is the compression method. It must be Z_DEFLATED in
this version of the library.
@@ -712,11 +711,12 @@ ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
used to switch between compression and straight copy of the input data, or
to switch to a different kind of input data requiring a different strategy.
If the compression approach (which is a function of the level) or the
- strategy is changed, and if any input has been consumed in a previous
- deflate() call, then the input available so far is compressed with the old
- level and strategy using deflate(strm, Z_BLOCK). There are three approaches
- for the compression levels 0, 1..3, and 4..9 respectively. The new level
- and strategy will take effect at the next call of deflate().
+ strategy is changed, and if there have been any deflate() calls since the
+ state was initialized or reset, then the input available so far is
+ compressed with the old level and strategy using deflate(strm, Z_BLOCK).
+ There are three approaches for the compression levels 0, 1..3, and 4..9
+ respectively. The new level and strategy will take effect at the next call
+ of deflate().
If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does
not have enough output space to complete, then the parameter change will not
@@ -865,9 +865,11 @@ ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
detection, or add 16 to decode only the gzip format (the zlib format will
return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see
- below), inflate() will not automatically decode concatenated gzip streams.
- inflate() will return Z_STREAM_END at the end of the gzip stream. The state
- would need to be reset to continue decoding a subsequent gzip stream.
+ below), inflate() will *not* automatically decode concatenated gzip members.
+ inflate() will return Z_STREAM_END at the end of the gzip member. The state
+ would need to be reset to continue decoding a subsequent gzip member. This
+ *must* be done if there is more data after a gzip member, in order for the
+ decompression to be compliant with the gzip standard (RFC 1952).
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
@@ -1302,14 +1304,14 @@ typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
/*
ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
- Opens a gzip (.gz) file for reading or writing. The mode parameter is as
- in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
- a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
- compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
- for fixed code compression as in "wb9F". (See the description of
- deflateInit2 for more information about the strategy parameter.) 'T' will
- request transparent writing or appending with no compression and not using
- the gzip format.
+ Open the gzip (.gz) file at path for reading and decompressing, or
+ compressing and writing. The mode parameter is as in fopen ("rb" or "wb")
+ but can also include a compression level ("wb9") or a strategy: 'f' for
+ filtered data as in "wb6f", 'h' for Huffman-only compression as in "wb1h",
+ 'R' for run-length encoding as in "wb1R", or 'F' for fixed code compression
+ as in "wb9F". (See the description of deflateInit2 for more information
+ about the strategy parameter.) 'T' will request transparent writing or
+ appending with no compression and not using the gzip format.
"a" can be used instead of "w" to request that the gzip stream that will
be written be appended to the file. "+" will result in an error, since
@@ -1339,9 +1341,9 @@ ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
/*
- gzdopen associates a gzFile with the file descriptor fd. File descriptors
- are obtained from calls like open, dup, creat, pipe or fileno (if the file
- has been previously opened with fopen). The mode parameter is as in gzopen.
+ Associate a gzFile with the file descriptor fd. File descriptors are
+ obtained from calls like open, dup, creat, pipe or fileno (if the file has
+ been previously opened with fopen). The mode parameter is as in gzopen.
The next call of gzclose on the returned gzFile will also close the file
descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
@@ -1362,13 +1364,13 @@ ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
/*
- Set the internal buffer size used by this library's functions. The
- default buffer size is 8192 bytes. This function must be called after
- gzopen() or gzdopen(), and before any other calls that read or write the
- file. The buffer memory allocation is always deferred to the first read or
- write. Three times that size in buffer space is allocated. A larger buffer
- size of, for example, 64K or 128K bytes will noticeably increase the speed
- of decompression (reading).
+ Set the internal buffer size used by this library's functions for file to
+ size. The default buffer size is 8192 bytes. This function must be called
+ after gzopen() or gzdopen(), and before any other calls that read or write
+ the file. The buffer memory allocation is always deferred to the first read
+ or write. Three times that size in buffer space is allocated. A larger
+ buffer size of, for example, 64K or 128K bytes will noticeably increase the
+ speed of decompression (reading).
The new buffer size also affects the maximum length for gzprintf().
@@ -1378,9 +1380,9 @@ ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters. Previously provided
- data is flushed before the parameter change.
+ Dynamically update the compression level and strategy for file. See the
+ description of deflateInit2 for the meaning of these parameters. Previously
+ provided data is flushed before applying the parameter changes.
gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not
opened for writing, Z_ERRNO if there is an error writing the flushed data,
@@ -1389,7 +1391,7 @@ ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
/*
- Reads the given number of uncompressed bytes from the compressed file. If
+ Read and decompress up to len uncompressed bytes from file into buf. If
the input file is not in gzip format, gzread copies the given number of
bytes into the buffer directly from the file.
@@ -1420,11 +1422,11 @@ ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
gzFile file));
/*
- Read up to nitems items of size size from file to buf, otherwise operating
- as gzread() does. This duplicates the interface of stdio's fread(), with
- size_t request and return types. If the library defines size_t, then
- z_size_t is identical to size_t. If not, then z_size_t is an unsigned
- integer type that can contain a pointer.
+ Read and decompress up to nitems items of size size from file into buf,
+ otherwise operating as gzread() does. This duplicates the interface of
+ stdio's fread(), with size_t request and return types. If the library
+ defines size_t, then z_size_t is identical to size_t. If not, then z_size_t
+ is an unsigned integer type that can contain a pointer.
gzfread() returns the number of full items read of size size, or zero if
the end of the file was reached and a full item could not be read, or if
@@ -1443,18 +1445,16 @@ ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
file, reseting and retrying on end-of-file, when size is not 1.
*/
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- voidpc buf, unsigned len));
+ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len));
/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes written or 0 in case of
- error.
+ Compress and write the len uncompressed bytes at buf to file. gzwrite
+ returns the number of uncompressed bytes written or 0 in case of error.
*/
ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
z_size_t nitems, gzFile file));
/*
- gzfwrite() writes nitems items of size size from buf to file, duplicating
+ Compress and write nitems items of size size from buf to file, duplicating
the interface of stdio's fwrite(), with size_t request and return types. If
the library defines size_t, then z_size_t is identical to size_t. If not,
then z_size_t is an unsigned integer type that can contain a pointer.
@@ -1467,22 +1467,22 @@ ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
/*
- Converts, formats, and writes the arguments to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
+ Convert, format, compress, and write the arguments (...) to file under
+ control of the string format, as in fprintf. gzprintf returns the number of
uncompressed bytes actually written, or a negative zlib error code in case
of error. The number of uncompressed bytes written is limited to 8191, or
one less than the buffer size given to gzbuffer(). The caller should assure
that this limit is not exceeded. If it is exceeded, then gzprintf() will
return an error (0) with nothing written. In this case, there may also be a
buffer overflow with unpredictable consequences, which is possible only if
- zlib was compiled with the insecure functions sprintf() or vsprintf()
+ zlib was compiled with the insecure functions sprintf() or vsprintf(),
because the secure snprintf() or vsnprintf() functions were not available.
This can be determined using zlibCompileFlags().
*/
ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
/*
- Writes the given null-terminated string to the compressed file, excluding
+ Compress and write the given null-terminated string s to file, excluding
the terminating null character.
gzputs returns the number of characters written, or -1 in case of error.
@@ -1490,11 +1490,12 @@ ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
/*
- Reads bytes from the compressed file until len-1 characters are read, or a
- newline character is read and transferred to buf, or an end-of-file
- condition is encountered. If any characters are read or if len == 1, the
- string is terminated with a null character. If no characters are read due
- to an end-of-file or len < 1, then the buffer is left untouched.
+ Read and decompress bytes from file into buf, until len-1 characters are
+ read, or until a newline character is read and transferred to buf, or an
+ end-of-file condition is encountered. If any characters are read or if len
+ is one, the string is terminated with a null character. If no characters
+ are read due to an end-of-file or len is less than one, then the buffer is
+ left untouched.
gzgets returns buf which is a null-terminated string, or it returns NULL
for end-of-file or in case of error. If there was an error, the contents at
@@ -1503,13 +1504,13 @@ ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
/*
- Writes c, converted to an unsigned char, into the compressed file. gzputc
+ Compress and write c, converted to an unsigned char, into file. gzputc
returns the value that was written, or -1 in case of error.
*/
ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
/*
- Reads one byte from the compressed file. gzgetc returns this byte or -1
+ Read and decompress one byte from file. gzgetc returns this byte or -1
in case of end of file or error. This is implemented as a macro for speed.
As such, it does not do all of the checking the other functions do. I.e.
it does not check to see if file is NULL, nor whether the structure file
@@ -1518,8 +1519,8 @@ ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
/*
- Push one character back onto the stream to be read as the first character
- on the next read. At least one character of push-back is allowed.
+ Push c back onto the stream for file to be read as the first character on
+ the next read. At least one character of push-back is always allowed.
gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
fail if c is -1, and may fail if a character has been pushed but not read
yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
@@ -1530,9 +1531,9 @@ ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
/*
- Flushes all pending output into the compressed file. The parameter flush
- is as in the deflate() function. The return value is the zlib error number
- (see function gzerror below). gzflush is only permitted when writing.
+ Flush all pending output to file. The parameter flush is as in the
+ deflate() function. The return value is the zlib error number (see function
+ gzerror below). gzflush is only permitted when writing.
If the flush parameter is Z_FINISH, the remaining data is written and the
gzip stream is completed in the output. If gzwrite() is called again, a new
@@ -1547,8 +1548,8 @@ ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
z_off_t offset, int whence));
- Sets the starting position for the next gzread or gzwrite on the given
- compressed file. The offset represents a number of bytes in the
+ Set the starting position to offset relative to whence for the next gzread
+ or gzwrite on file. The offset represents a number of bytes in the
uncompressed data stream. The whence parameter is defined as in lseek(2);
the value SEEK_END is not supported.
@@ -1565,18 +1566,18 @@ ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
/*
- Rewinds the given file. This function is supported only for reading.
+ Rewind file. This function is supported only for reading.
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
+ gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET).
*/
/*
ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
- Returns the starting position for the next gzread or gzwrite on the given
- compressed file. This position represents a number of bytes in the
- uncompressed data stream, and is zero when starting, even if appending or
- reading a gzip stream from the middle of a file using gzdopen().
+ Return the starting position for the next gzread or gzwrite on file.
+ This position represents a number of bytes in the uncompressed data stream,
+ and is zero when starting, even if appending or reading a gzip stream from
+ the middle of a file using gzdopen().
gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
*/
@@ -1584,22 +1585,22 @@ ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
/*
ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
- Returns the current offset in the file being read or written. This offset
- includes the count of bytes that precede the gzip stream, for example when
- appending or when using gzdopen() for reading. When reading, the offset
- does not include as yet unused buffered input. This information can be used
- for a progress indicator. On error, gzoffset() returns -1.
+ Return the current compressed (actual) read or write offset of file. This
+ offset includes the count of bytes that precede the gzip stream, for example
+ when appending or when using gzdopen() for reading. When reading, the
+ offset does not include as yet unused buffered input. This information can
+ be used for a progress indicator. On error, gzoffset() returns -1.
*/
ZEXTERN int ZEXPORT gzeof OF((gzFile file));
/*
- Returns true (1) if the end-of-file indicator has been set while reading,
- false (0) otherwise. Note that the end-of-file indicator is set only if the
- read tried to go past the end of the input, but came up short. Therefore,
- just like feof(), gzeof() may return false even if there is no more data to
- read, in the event that the last read request was for the exact number of
- bytes remaining in the input file. This will happen if the input file size
- is an exact multiple of the buffer size.
+ Return true (1) if the end-of-file indicator for file has been set while
+ reading, false (0) otherwise. Note that the end-of-file indicator is set
+ only if the read tried to go past the end of the input, but came up short.
+ Therefore, just like feof(), gzeof() may return false even if there is no
+ more data to read, in the event that the last read request was for the exact
+ number of bytes remaining in the input file. This will happen if the input
+ file size is an exact multiple of the buffer size.
If gzeof() returns true, then the read functions will return no more data,
unless the end-of-file indicator is reset by gzclearerr() and the input file
@@ -1608,7 +1609,7 @@ ZEXTERN int ZEXPORT gzeof OF((gzFile file));
ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
/*
- Returns true (1) if file is being copied directly while reading, or false
+ Return true (1) if file is being copied directly while reading, or false
(0) if file is a gzip stream being decompressed.
If the input file is empty, gzdirect() will return true, since the input
@@ -1629,8 +1630,8 @@ ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
ZEXTERN int ZEXPORT gzclose OF((gzFile file));
/*
- Flushes all pending output if necessary, closes the compressed file and
- deallocates the (de)compression state. Note that once file is closed, you
+ Flush all pending output for file, if necessary, close file and
+ deallocate the (de)compression state. Note that once file is closed, you
cannot call gzerror with file, since its structures have been deallocated.
gzclose must not be called more than once on the same file, just as free
must not be called more than once on the same allocation.
@@ -1654,10 +1655,10 @@ ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
/*
- Returns the error message for the last error which occurred on the given
- compressed file. errnum is set to zlib error number. If an error occurred
- in the file system and not in the compression library, errnum is set to
- Z_ERRNO and the application may consult errno to get the exact error code.
+ Return the error message for the last error which occurred on file.
+ errnum is set to zlib error number. If an error occurred in the file system
+ and not in the compression library, errnum is set to Z_ERRNO and the
+ application may consult errno to get the exact error code.
The application must not modify the returned string. Future calls to
this function may invalidate the previously returned string. If file is
@@ -1670,7 +1671,7 @@ ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
/*
- Clears the error and end-of-file flags for file. This is analogous to the
+ Clear the error and end-of-file flags for file. This is analogous to the
clearerr() function in stdio. This is useful for continuing to read a gzip
file that is being written concurrently.
*/
@@ -1688,8 +1689,9 @@ ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
/*
Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is Z_NULL, this function returns the
- required initial value for the checksum.
+ return the updated checksum. An Adler-32 value is in the range of a 32-bit
+ unsigned integer. If buf is Z_NULL, this function returns the required
+ initial value for the checksum.
An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed
much faster.
@@ -1722,12 +1724,13 @@ ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
negative, the result has no meaning or utility.
*/
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
+ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
/*
Update a running CRC-32 with the bytes buf[0..len-1] and return the
- updated CRC-32. If buf is Z_NULL, this function returns the required
- initial value for the crc. Pre- and post-conditioning (one's complement) is
- performed within this function so it shouldn't be done by the application.
+ updated CRC-32. A CRC-32 value is in the range of a 32-bit unsigned integer.
+ If buf is Z_NULL, this function returns the required initial value for the
+ crc. Pre- and post-conditioning (one's complement) is performed within this
+ function so it shouldn't be done by the application.
Usage example:
@@ -1739,7 +1742,7 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
if (crc != original_crc) error();
*/
-ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf,
+ZEXTERN uLong ZEXPORT crc32_z OF((uLong crc, const Bytef *buf,
z_size_t len));
/*
Same as crc32(), but with a size_t length.
@@ -1755,6 +1758,20 @@ ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
len2.
*/
+/*
+ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t len2));
+
+ Return the operator corresponding to length len2, to be used with
+ crc32_combine_op().
+*/
+
+ZEXTERN uLong ZEXPORT crc32_combine_op OF((uLong crc1, uLong crc2, uLong op));
+/*
+ Give the same result as crc32_combine(), using op in place of len2. op is
+ is generated from len2 by crc32_combine_gen(). This will be faster than
+ crc32_combine() if the generated op is used more than once.
+*/
+
/* various hacks, don't look :) */
@@ -1842,6 +1859,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
+ ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off64_t));
#endif
#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
@@ -1852,6 +1870,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
# define z_gzoffset z_gzoffset64
# define z_adler32_combine z_adler32_combine64
# define z_crc32_combine z_crc32_combine64
+# define z_crc32_combine_gen z_crc32_combine_gen64
# else
# define gzopen gzopen64
# define gzseek gzseek64
@@ -1859,6 +1878,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
# define gzoffset gzoffset64
# define adler32_combine adler32_combine64
# define crc32_combine crc32_combine64
+# define crc32_combine_gen crc32_combine_gen64
# endif
# ifndef Z_LARGE64
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
@@ -1867,6 +1887,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
# endif
#else
ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
@@ -1875,12 +1896,14 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t));
#endif
#else /* Z_SOLO */
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t));
#endif /* !Z_SOLO */
@@ -1893,7 +1916,7 @@ ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF ((z_streamp));
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
-#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(Z_SOLO)
+#if defined(_WIN32) && !defined(Z_SOLO)
ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
const char *mode));
#endif
diff --git a/lib/zlib/zutil.c b/lib/zlib/zutil.c
index a76c6b0c7..dcab28a0d 100644
--- a/lib/zlib/zutil.c
+++ b/lib/zlib/zutil.c
@@ -136,8 +136,8 @@ const char * ZEXPORT zError(err)
return ERR_MSG(err);
}
-#if defined(_WIN32_WCE)
- /* The Microsoft C Run-Time Library for Windows CE doesn't have
+#if defined(_WIN32_WCE) && _WIN32_WCE < 0x800
+ /* The older Microsoft C Run-Time Library for Windows CE doesn't have
* errno. We define it as a global variable to simplify porting.
* Its value is always 0 and should not be used.
*/
diff --git a/lib/zlib/zutil.h b/lib/zlib/zutil.h
index b079ea6a8..d9a20ae1b 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-2016 Jean-loup Gailly, Mark Adler
+ * Copyright (C) 1995-2022 Jean-loup Gailly, Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -29,10 +29,6 @@
# include <stdlib.h>
#endif
-#ifdef Z_SOLO
- typedef long ptrdiff_t; /* guess -- will be caught if guess is wrong */
-#endif
-
#ifndef local
# define local static
#endif
@@ -46,6 +42,17 @@ typedef unsigned short ush;
typedef ush FAR ushf;
typedef unsigned long ulg;
+#if !defined(Z_U8) && !defined(Z_SOLO) && defined(STDC)
+# include <limits.h>
+# if (ULONG_MAX == 0xffffffffffffffff)
+# define Z_U8 unsigned long
+# elif (ULLONG_MAX == 0xffffffffffffffff)
+# define Z_U8 unsigned long long
+# elif (UINT_MAX == 0xffffffffffffffff)
+# define Z_U8 unsigned
+# endif
+#endif
+
extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
/* (size given to avoid silly warnings with Visual C++) */
@@ -170,10 +177,6 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
# if defined(_WIN32_WCE)
# define fdopen(fd,mode) NULL /* No fdopen() */
-# ifndef _PTRDIFF_T_DEFINED
- typedef int ptrdiff_t;
-# define _PTRDIFF_T_DEFINED
-# endif
# else
# define fdopen(fd,type) _fdopen(fd,type)
# endif
diff --git a/logsrvd/Makefile.in b/logsrvd/Makefile.in
index e6062aade..fba163ace 100644
--- a/logsrvd/Makefile.in
+++ b/logsrvd/Makefile.in
@@ -45,7 +45,9 @@ INSTALL_BACKUP = @INSTALL_BACKUP@
# Libraries
LT_LIBS = $(top_builddir)/lib/iolog/libsudo_iolog.la \
- $(top_builddir)/lib/logsrv/liblogsrv.la
+ $(top_builddir)/lib/eventlog/libsudo_eventlog.la \
+ $(top_builddir)/lib/logsrv/liblogsrv.la \
+ $(top_builddir)/lib/protobuf-c/libprotobuf-c.la
LIBS = $(LT_LIBS) @LIBTLS@
# C preprocessor defines
@@ -75,8 +77,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -111,6 +113,11 @@ FUZZ_MAX_LEN = 4096
FUZZ_RUNS = 8192
FUZZ_VERBOSE =
+TEST_PROGS = logsrvd_conf_test
+TEST_LIBS = $(LIBS)
+TEST_LDFLAGS = $(LDFLAGS)
+TEST_VERBOSE =
+
# User and group IDs the installed files should be "owned" by
install_uid = 0
install_gid = 0
@@ -139,6 +146,8 @@ FUZZ_LOGSRVD_CONF_OBJS = fuzz_logsrvd_conf.o logsrvd_conf.o tls_init.o
FUZZ_LOGSRVD_CONF_CORPUS = $(srcdir)/regress/corpus/seed/logsrvd_conf/logsrvd.conf.*
+CONF_TEST_OBJS = logsrvd_conf_test.o logsrvd_conf.o tls_init.o
+
all: $(PROGS)
depend:
@@ -152,10 +161,10 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .o .plog
.c.o:
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -164,13 +173,16 @@ Makefile: $(srcdir)/Makefile.in
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 $@
sudo_logsrvd: $(LOGSRVD_OBJS) $(LT_LIBS)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LOGSRVD_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LOGSRVD_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
sudo_sendlog: $(SENDLOG_OBJS) $(LT_LIBS)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(SENDLOG_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(SENDLOG_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
fuzz_logsrvd_conf: $(FUZZ_LOGSRVD_CONF_OBJS) $(LIBFUZZSTUB) $(LT_LIBS)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(FUZZ_LOGSRVD_CONF_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(FUZZ_LOGSRVD_CONF_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS)
+
+logsrvd_conf_test: $(CONF_TEST_OBJS) $(LT_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CONF_TEST_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS)
fuzz_logsrvd_conf_seed_corpus.zip:
tdir=fuzz_logsrvd_conf.$$$$; \
@@ -188,6 +200,7 @@ run-fuzz_logsrvd_conf: fuzz_logsrvd_conf
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -250,13 +263,34 @@ check-fuzzer: $(FUZZ_PROGS)
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
echo "fuzz_logsrvd_conf: verifying corpus"; \
./fuzz_logsrvd_conf $(FUZZ_VERBOSE) $(FUZZ_LOGSRVD_CONF_CORPUS); \
fi
-check: check-fuzzer
+check: $(TEST_PROGS) check-fuzzer
+ @if test X"$(cross_compiling)" != X"yes"; then \
+ if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
+ LC_ALL=C.UTF-8; export LC_ALL; \
+ else \
+ LC_ALL=C; export LC_ALL; \
+ fi; \
+ unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
+ MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
+ MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
+ builddir=$(abs_top_builddir)/logsrvd; \
+ cd $(srcdir) || exit 1; \
+ if test -n "@LIBTLS@"; then \
+ $$builddir/logsrvd_conf_test $(TEST_VERBOSE) \
+ regress/logsrvd_conf/tls/*.in; \
+ else \
+ $$builddir/logsrvd_conf_test $(TEST_VERBOSE) \
+ regress/logsrvd_conf/*.in; \
+ fi; \
+ fi
check-verbose: check
@@ -291,7 +325,7 @@ fuzz_logsrvd_conf.o: $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c \
$(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
$(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
$(srcdir)/tls_common.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c
fuzz_logsrvd_conf.i: $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c \
$(incdir)/compat/stdbool.h $(incdir)/log_server.pb-c.h \
$(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
@@ -313,7 +347,7 @@ iolog_writer.o: $(srcdir)/iolog_writer.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_writer.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_writer.c
iolog_writer.i: $(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 \
@@ -332,7 +366,7 @@ logsrv_util.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrv_util.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logsrv_util.c
logsrv_util.i: $(srcdir)/logsrv_util.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
@@ -353,7 +387,7 @@ logsrvd.o: $(srcdir)/logsrvd.c $(incdir)/compat/getopt.h \
$(incdir)/sudo_queue.h $(incdir)/sudo_rand.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logsrvd.c
logsrvd.i: $(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 \
@@ -378,7 +412,7 @@ logsrvd_conf.o: $(srcdir)/logsrvd_conf.c $(incdir)/compat/getaddrinfo.h \
$(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
$(srcdir)/tls_common.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_conf.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logsrvd_conf.c
logsrvd_conf.i: $(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 \
@@ -392,6 +426,24 @@ logsrvd_conf.i: $(srcdir)/logsrvd_conf.c $(incdir)/compat/getaddrinfo.h \
$(CC) -E -o $@ $(CPPFLAGS) $<
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 $@
+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 \
+ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \
+ $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
+ $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
+ $(top_builddir)/config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/logsrvd_conf/logsrvd_conf_test.c
+logsrvd_conf_test.i: $(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 \
+ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \
+ $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
+ $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
+ $(top_builddir)/config.h
+ $(CC) -E -o $@ $(CPPFLAGS) $<
+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 $@
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 \
@@ -402,7 +454,7 @@ logsrvd_journal.o: $(srcdir)/logsrvd_journal.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
$(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
$(srcdir)/tls_common.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_journal.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logsrvd_journal.c
logsrvd_journal.i: $(srcdir)/logsrvd_journal.c $(incdir)/compat/stdbool.h \
$(incdir)/log_server.pb-c.h \
$(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
@@ -427,7 +479,7 @@ logsrvd_local.o: $(srcdir)/logsrvd_local.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_local.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logsrvd_local.c
logsrvd_local.i: $(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 \
@@ -452,7 +504,7 @@ logsrvd_queue.o: $(srcdir)/logsrvd_queue.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_queue.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logsrvd_queue.c
logsrvd_queue.i: $(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 \
@@ -475,7 +527,7 @@ logsrvd_relay.o: $(srcdir)/logsrvd_relay.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
$(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
$(srcdir)/tls_common.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_relay.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logsrvd_relay.c
logsrvd_relay.i: $(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 \
@@ -498,7 +550,7 @@ sendlog.o: $(srcdir)/sendlog.c $(incdir)/compat/getaddrinfo.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
$(incdir)/sudo_util.h $(srcdir)/logsrv_util.h $(srcdir)/sendlog.h \
$(srcdir)/tls_common.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sendlog.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sendlog.c
sendlog.i: $(srcdir)/sendlog.c $(incdir)/compat/getaddrinfo.h \
$(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \
$(incdir)/hostcheck.h $(incdir)/log_server.pb-c.h \
@@ -519,7 +571,7 @@ tls_client.o: $(srcdir)/tls_client.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
$(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
$(srcdir)/tls_common.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/tls_client.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/tls_client.c
tls_client.i: $(srcdir)/tls_client.c $(incdir)/compat/stdbool.h \
$(incdir)/hostcheck.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -536,7 +588,7 @@ tls_init.o: $(srcdir)/tls_init.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
$(srcdir)/tls_common.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/tls_init.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/tls_init.c
tls_init.i: $(srcdir)/tls_init.c $(incdir)/compat/stdbool.h \
$(incdir)/hostcheck.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
diff --git a/logsrvd/iolog_writer.c b/logsrvd/iolog_writer.c
index fa8fe5433..945cf54df 100644
--- a/logsrvd/iolog_writer.c
+++ b/logsrvd/iolog_writer.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2019-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2019-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -912,6 +912,10 @@ update_elapsed_time(TimeSpec *delta, struct timespec *elapsed)
elapsed->tv_sec++;
elapsed->tv_nsec -= 1000000000;
}
+ sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO,
+ "%s: delta [%lld, %d], elapsed time now [%lld, %ld]",
+ __func__, (long long)delta->tv_sec, delta->tv_nsec,
+ (long long)elapsed->tv_sec, elapsed->tv_nsec);
debug_return;
}
diff --git a/logsrvd/logsrvd.c b/logsrvd/logsrvd.c
index 5a412e50b..4eba07e07 100644
--- a/logsrvd/logsrvd.c
+++ b/logsrvd/logsrvd.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2019-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2019-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -743,7 +743,7 @@ handle_client_message(uint8_t *buf, size_t len,
/* TODO: can we extract type_case without unpacking for relay case? */
msg = client_message__unpack(NULL, len, buf);
if (msg == NULL) {
- sudo_warnx("unable to unpack %s size %zu", "ClientMessage", len);
+ sudo_warnx(U_("unable to unpack %s size %zu"), "ClientMessage", len);
debug_return_bool(false);
}
@@ -917,7 +917,8 @@ server_msg_cb(int fd, int what, void *v)
goto finished;
default:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("%s: SSL_write: %s", closure->ipaddr, errstr);
+ sudo_warnx("%s: SSL_write: %s", closure->ipaddr,
+ errstr ? errstr : strerror(errno));
goto finished;
}
}
@@ -1027,7 +1028,8 @@ client_msg_cb(int fd, int what, void *v)
goto close_connection;
default:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("%s: SSL_read: %s", closure->ipaddr, errstr);
+ sudo_warnx("%s: SSL_read: %s", closure->ipaddr,
+ errstr ? errstr : strerror(errno));
goto close_connection;
}
}
@@ -1331,7 +1333,8 @@ tls_handshake_cb(int fd, int what, void *v)
goto bad;
default:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("%s: SSL_accept: %s", closure->ipaddr, errstr);
+ sudo_warnx("%s: SSL_accept: %s", closure->ipaddr,
+ errstr ? errstr : strerror(errno));
goto bad;
}
@@ -1361,7 +1364,7 @@ bad:
* Allocate a connection closure and optionally perform TLS handshake.
*/
static bool
-new_connection(int sock, bool tls, const struct sockaddr *sa,
+new_connection(int sock, bool tls, const union sockaddr_union *sa_un,
struct sudo_event_base *evbase)
{
struct connection_closure *closure;
@@ -1371,14 +1374,12 @@ new_connection(int sock, bool tls, const struct sockaddr *sa,
goto bad;
/* store the peer's IP address in the closure object */
- if (sa->sa_family == AF_INET) {
- struct sockaddr_in *sin = (struct sockaddr_in *)sa;
- inet_ntop(AF_INET, &sin->sin_addr, closure->ipaddr,
+ if (sa_un->sa.sa_family == AF_INET) {
+ inet_ntop(AF_INET, &sa_un->sin.sin_addr, closure->ipaddr,
sizeof(closure->ipaddr));
#if defined(HAVE_STRUCT_IN6_ADDR)
- } else if (sa->sa_family == AF_INET6) {
- struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa;
- inet_ntop(AF_INET6, &sin6->sin6_addr, closure->ipaddr,
+ } else if (sa_un->sa.sa_family == AF_INET6) {
+ inet_ntop(AF_INET6, &sa_un->sin6.sin6_addr, closure->ipaddr,
sizeof(closure->ipaddr));
#endif /* HAVE_STRUCT_IN6_ADDR */
} else {
@@ -1397,13 +1398,15 @@ new_connection(int sock, bool tls, const struct sockaddr *sa,
/* Create the SSL object for the closure and attach it to the socket */
if ((closure->ssl = SSL_new(logsrvd_server_tls_ctx())) == NULL) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("%s: %s"), "SSL_new", errstr);
+ sudo_warnx(U_("%s: %s"), "SSL_new",
+ errstr ? errstr : strerror(errno));
goto bad;
}
if (SSL_set_fd(closure->ssl, closure->sock) != 1) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("%s: %s"), "SSL_set_fd", errstr);
+ sudo_warnx(U_("%s: %s"), "SSL_set_fd",
+ errstr ? errstr : strerror(errno));
goto bad;
}
@@ -1413,7 +1416,7 @@ new_connection(int sock, bool tls, const struct sockaddr *sa,
if (SSL_set_ex_data(closure->ssl, 1, closure) <= 0) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("Unable to attach user data to the ssl object: %s"),
- errstr);
+ errstr ? errstr : strerror(errno));
goto bad;
}
@@ -1495,21 +1498,22 @@ listener_cb(int fd, int what, void *v)
{
struct listener *l = v;
struct sudo_event_base *evbase = sudo_ev_get_base(l->ev);
- union sockaddr_union s_un;
- socklen_t salen = sizeof(s_un);
+ union sockaddr_union sa_un;
+ socklen_t salen = sizeof(sa_un);
int sock;
debug_decl(listener_cb, SUDO_DEBUG_UTIL);
- sock = accept(fd, &s_un.sa, &salen);
+ memset(&sa_un, 0, sizeof(sa_un));
+ sock = accept(fd, &sa_un.sa, &salen);
if (sock != -1) {
if (logsrvd_conf_server_tcp_keepalive()) {
int keepalive = 1;
if (setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, &keepalive,
- sizeof(keepalive)) == -1) {
+ sizeof(keepalive)) == -1) {
sudo_warn("SO_KEEPALIVE");
}
}
- if (!new_connection(sock, l->tls, &s_un.sa, evbase)) {
+ if (!new_connection(sock, l->tls, &sa_un, evbase)) {
/* TODO: pause accepting on ENOMEM */
sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO,
"unable to start new connection");
diff --git a/logsrvd/logsrvd_conf.c b/logsrvd/logsrvd_conf.c
index 25f7655ef..322cdf34d 100644
--- a/logsrvd/logsrvd_conf.c
+++ b/logsrvd/logsrvd_conf.c
@@ -638,7 +638,7 @@ cb_server_log(struct logsrvd_config *config, const char *str, size_t offset)
/* An empty value means to disable the server log. */
if (*str != '\0') {
- if (*str != '/') {
+ if (*str == '/') {
log_type = SERVER_LOG_FILE;
if ((copy = strdup(str)) == NULL) {
sudo_warn(NULL);
diff --git a/logsrvd/logsrvd_journal.c b/logsrvd/logsrvd_journal.c
index 0d300df91..664f1ae9a 100644
--- a/logsrvd/logsrvd_journal.c
+++ b/logsrvd/logsrvd_journal.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2021-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -280,7 +280,7 @@ journal_seek(struct timespec *target, struct connection_closure *closure)
client_message__free_unpacked(msg, NULL);
msg = client_message__unpack(NULL, msg_len, buf);
if (msg == NULL) {
- sudo_warnx("unable to unpack %s size %zu", "ClientMessage",
+ sudo_warnx(U_("unable to unpack %s size %zu"), "ClientMessage",
(size_t)msg_len);
closure->errstr = _("invalid journal file, unable to restart");
break;
@@ -358,13 +358,8 @@ journal_seek(struct timespec *target, struct connection_closure *closure)
msg->type_case, "ClientMessage", closure->journal_path);
break;
}
- if (delay != NULL) {
+ if (delay != NULL)
update_elapsed_time(delay, &closure->elapsed_time);
- sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO,
- "%s: elapsed time now [%lld, %ld]", closure->journal_path,
- (long long)closure->elapsed_time.tv_sec,
- closure->elapsed_time.tv_nsec);
- }
if (sudo_timespeccmp(&closure->elapsed_time, target, >=)) {
if (sudo_timespeccmp(&closure->elapsed_time, target, ==)) {
@@ -577,6 +572,8 @@ journal_suspend(CommandSuspend *msg, uint8_t *buf, size_t len,
{
debug_decl(journal_suspend, SUDO_DEBUG_UTIL);
+ update_elapsed_time(msg->delay, &closure->elapsed_time);
+
debug_return_bool(journal_write(buf, len, closure));
}
@@ -589,6 +586,8 @@ journal_winsize(ChangeWindowSize *msg, uint8_t *buf, size_t len,
{
debug_decl(journal_winsize, SUDO_DEBUG_UTIL);
+ update_elapsed_time(msg->delay, &closure->elapsed_time);
+
debug_return_bool(journal_write(buf, len, closure));
}
diff --git a/logsrvd/logsrvd_relay.c b/logsrvd/logsrvd_relay.c
index abba74e84..f23b88f90 100644
--- a/logsrvd/logsrvd_relay.c
+++ b/logsrvd/logsrvd_relay.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2019-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2019-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -644,7 +644,7 @@ handle_server_message(uint8_t *buf, size_t len, struct connection_closure *closu
sudo_debug_printf(SUDO_DEBUG_INFO, "%s: unpacking ServerMessage", __func__);
msg = server_message__unpack(NULL, len, buf);
if (msg == NULL) {
- sudo_warnx("unable to unpack %s size %zu", "ServerMessage", len);
+ sudo_warnx(U_("unable to unpack %s size %zu"), "ServerMessage", len);
debug_return_bool(false);
}
@@ -763,7 +763,8 @@ relay_server_msg_cb(int fd, int what, void *v)
closure->errstr = _("error reading from relay");
}
sudo_warnx("%s: SSL_read: %s",
- relay_closure->relay_name.ipaddr, errstr);
+ relay_closure->relay_name.ipaddr,
+ errstr ? errstr : strerror(errno));
goto send_error;
case SSL_ERROR_SYSCALL:
if (nread == 0) {
@@ -778,7 +779,8 @@ relay_server_msg_cb(int fd, int what, void *v)
default:
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx("%s: SSL_read: %s",
- relay_closure->relay_name.ipaddr, errstr);
+ relay_closure->relay_name.ipaddr,
+ errstr ? errstr : strerror(errno));
closure->errstr = _("error reading from relay");
goto send_error;
}
@@ -957,7 +959,8 @@ relay_client_msg_cb(int fd, int what, void *v)
default:
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx("%s: SSL_write: %s",
- relay_closure->relay_name.ipaddr, errstr);
+ relay_closure->relay_name.ipaddr,
+ errstr ? errstr : strerror(errno));
closure->errstr = _("error writing to relay");
goto send_error;
}
diff --git a/logsrvd/regress/logsrvd_conf/cacert.pem b/logsrvd/regress/logsrvd_conf/cacert.pem
new file mode 100644
index 000000000..f74402daf
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/cacert.pem
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF/DCCA+SgAwIBAgIUOEgkFv51VLpqhnSlwmvTCjeq81kwDQYJKoZIhvcNAQEL
+BQAwgYUxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhDb2xvcmFkbzEQMA4GA1UEBwwH
+Qm91bGRlcjEVMBMGA1UECgwMU3VkbyBQcm9qZWN0MSMwIQYDVQQLDBpTdWRvIENl
+cnRpZmljYXRlIEF1dGhvcml0eTEVMBMGA1UEAwwMU3VkbyBSb290IENBMCAXDTIy
+MDYwMjE2NDQxMVoYDzIxMjIwNTA5MTY0NDExWjCBhTELMAkGA1UEBhMCVVMxETAP
+BgNVBAgMCENvbG9yYWRvMRAwDgYDVQQHDAdCb3VsZGVyMRUwEwYDVQQKDAxTdWRv
+IFByb2plY3QxIzAhBgNVBAsMGlN1ZG8gQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRUw
+EwYDVQQDDAxTdWRvIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
+AoICAQC8DASzPZlyg51mWLAJYPZDgHZL1gXQ9Nb+iYYfePz+9LPJ/ObPrDIWNC6j
+wDIPPOlB6+UzVKDR7JtqVo4kzea1C+cZilCo5nX3uIvzsn484vtmUMTPCIBZ3mYq
+zz4jIgkHxZwZlEhGRhf12sY+XeVwOvm73/iaODvodqjoQlvwwdZokov5HN1N8rCT
++uMH1TOPgz8pE365FjDmfZzizoslbxmoQLLmewFYsKQBpXMMurYkoXlSezoe+LWI
+lm9HEZjo6/YtMjypA1S02CXmB9Y2wSMOCzLfrLsqJe8x3yZ/clOdAIGFmPBNbAE5
+mpLT3tCf1n1xBRXQoQ33fNcWgyR3hPdI5EcKmhR5RS5fO7KOaBdOInmqvIOlr+yT
+jQVIk0jyEpW8Hf5vJypCsItgHtG2dz7XCoDVXKF7b270N+gSMhIa9XZLFiSsIgoM
+uJfDe+URHL0+UMohcwkRknTnU1DR+uGZi29oIe8eYdvraV9XpOTySVa4HM9ZG8Yv
+24EjzCJYGvSL1VFIK+q1NLt8uxXDPUAW4J8R9Teka5Hhkv6+iXGpYUqgy+jPW1yo
+shLBKn+/T+CkjStAyRwezm9pCUdJOMGRuQIEOAYBJwbzY+Qwe8va//r+K44ORG6N
+6Rq9QDApOxCn9lGuWiQM/jhOyN5vuMMPMKct8KatFw7d1hx5fwIDAQABo2AwXjAd
+BgNVHQ4EFgQU/nKxgas9kLS2L7jmi1A+lowSMiAwHwYDVR0jBBgwFoAU/nKxgas9
+kLS2L7jmi1A+lowSMiAwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJ
+KoZIhvcNAQELBQADggIBAIaABzzebiw6xi9PFhBlfK+KYVJqTdwgLqOzLsL4qgPc
+J1XK+aQSC/WDleBVzMXeZdwKoRaU3Wcy+By6HWV52gjqOyhBlI2VgSDLGOYbXucM
+eCTlrlRoap6ut1PVMuuVoSjQi0DMbhkz3ZGx/a0STefGADu0R9JTaJJN36JfTjSH
+RBRDnhsEgZU5FVmTZqkZgATjRd7NwgmGAt17FvBuwBSAkt3NZmJTt7TzsCvtVBK2
+lkT4H+8m59lAp8Rk8RthRcAPQtMKsuvORBtwhbpLHbo9ilMRMc5rNc8IY9pzcQ0N
+sMzyk8SIRov/PBnC1SPK+/jRhzLA/1gyzg5dt2jQIE5GhNqDQxi+f5HTMKklO8C9
+KHSeu9DZ32pBaNZPPvECkSZoTIsKroVvzuL/4drg4qxQFT/az4Z/rwnfVK8MYhDP
+jKK19diEt36cQiDEr7WRCdhy8QmI49EBqE57LjOju5cuBXJnBFI05gbC4bQCzqZm
+G2fHeHDX+QeBSfgzOP1aerd8mLiRymoJuBYDY50UzkGgg0gPoSVQKqE5YnYxP/Sz
+HYoLv7N6COWqbtY9nmJTHwGGWoH40bIqSY8mGe34AZ7a/zVtvlcAgThlOH82dnPJ
+vfUOIbVoOOliY2O7J0TZJGQVgsH5qNd4rdyKoL7kl59sU+wl/5UVME8pA+B/LFNF
+-----END CERTIFICATE-----
diff --git a/logsrvd/regress/logsrvd_conf/logsrvd_cert.pem b/logsrvd/regress/logsrvd_conf/logsrvd_cert.pem
new file mode 100644
index 000000000..52ef5b601
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/logsrvd_cert.pem
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE-----
+MIIEwzCCAqugAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYUxCzAJBgNVBAYTAlVT
+MREwDwYDVQQIDAhDb2xvcmFkbzEQMA4GA1UEBwwHQm91bGRlcjEVMBMGA1UECgwM
+U3VkbyBQcm9qZWN0MSMwIQYDVQQLDBpTdWRvIENlcnRpZmljYXRlIEF1dGhvcml0
+eTEVMBMGA1UEAwwMU3VkbyBSb290IENBMCAXDTIyMDYwMjE2NDUzM1oYDzIxMjIw
+NTA5MTY0NTMzWjBlMQswCQYDVQQGEwJVUzERMA8GA1UECAwIQ29sb3JhZG8xFTAT
+BgNVBAoMDFN1ZG8gUHJvamVjdDEYMBYGA1UECwwPU3VkbyBMb2cgU2VydmVyMRIw
+EAYDVQQDDAkxMjcuMC4wLjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+AQC7/TKl0yMsu+65gomOkJN+LlVAqVHuONQXCC2zBpSNsP7mXaxx0uhDDxg6kope
+J5f1diNX/Y5F60AlQn1a8cKOM1Cwvz7seTEZ1mCJay82Q3oyCCcSTjAa4ZDZbiag
+n4e4WYqIOw5EE0DPk37UTdsqUfy90JxCUxSBMY5FQUJbc86ZadsWPb5SzsHTXfi2
+a5vyqHMm7dJ/C30cyJ8jDkChReO78DrQIZHpuj0T7otKxwQu0tkQ1bKEto7hEeOl
+TblxrUZRkpumSUhFaZYt1DL6mrFinLtU9fYEFxE8f530D9mUtsZuPwYdqkantk7J
+GqnpjwP0ypWFP0ckwJcn5FJHAgMBAAGjWjBYMAkGA1UdEwQCMAAwCwYDVR0PBAQD
+AgXgMB0GA1UdDgQWBBTvAo8XDnHpwGZEAyUTSmiialQzSDAfBgNVHSMEGDAWgBT+
+crGBqz2QtLYvuOaLUD6WjBIyIDANBgkqhkiG9w0BAQsFAAOCAgEAHgUddk7bMYU5
+hdJiToCp0w32LQpHt8EepG4pWEzNdlnxBEb2D2f57JS3gVDoAyTAWxYipEdtCYx5
+2hMR4qrZ7G7G0D8XLj1A22nVlFUOqaUUIJRG1fFBGMM/T9CP1WLN2V2rYNoMFUdB
+3aahuVKYK4TawWBhEA0cnZJeHwpg/0/B7jxYWtKF2ys8CdqBd9rgPoKZF/QfxKmz
+otR7oZZuEaY9/kIkDtFaNb81JMbc/9RyBgB+5rQ8RmPcXDJ5aow5XvTWbx0LAwZZ
+u1c104UxwEy062WLnpluqZ3obyJsA8G3X4kI/CffCGCjIIdnRPYQiBngKL4hvAUs
+g/sD7Y1TrSWnEPJebpQwwYS4Y1HMPioDYJiGiehzZzUWWAC4itrj8mnycrTlvnev
+wMh5XGHqAXd5iF+Ztw1thj2dRiVpLkyKEiPLEpTI3QL1xwnyK28fPZJyMeJ/WNJ3
+Yb51qlZw2pH8kfXoOaIINUC9ZsJujm+SBbO0JX9BK95w+23WGd8cSHRNEytsLESP
+rvwljeCwQ7OqTmxT9iUBS8QZUM0ov3bF/oKpmcJe3xCAQCr2H41Fa1/CPrrco0Ar
+Te0qU+Qy1ir5Qfu13qiU6Ea0d7PcOdYEe6sjHUQ4Z/o+/uQ1NJS26ahPNKOChcDe
++r8pnbtZ9uW6dQjdU6Yk6Gl6Z/vOxvU=
+-----END CERTIFICATE-----
diff --git a/logsrvd/regress/logsrvd_conf/logsrvd_conf_test.c b/logsrvd/regress/logsrvd_conf/logsrvd_conf_test.c
new file mode 100644
index 000000000..773536679
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/logsrvd_conf_test.c
@@ -0,0 +1,88 @@
+/*
+ * SPDX-License-Identifier: ISC
+ *
+ * Copyright (c) 2022 Todd C. Miller <Todd.Miller@sudo.ws>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <config.h>
+
+#include <sys/socket.h>
+
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# include "compat/stdbool.h"
+#endif /* HAVE_STDBOOL_H */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "sudo_compat.h"
+#include "sudo_util.h"
+#include "sudo_iolog.h"
+#include "sudo_queue.h"
+#include "logsrvd.h"
+
+sudo_dso_public int main(int argc, char *argv[]);
+
+static void
+usage(void)
+{
+ fprintf(stderr, "usage: %s [-v] conf_file\n", getprogname());
+ exit(EXIT_FAILURE);
+}
+
+/*
+ * Simple test driver for logsrvd_conf_read().
+ * Just pases the file, errors to standard error.
+ */
+int
+main(int argc, char *argv[])
+{
+ bool verbose = false;
+ int ch, ntests, errors = 0;
+
+ initprogname(argc > 0 ? argv[0] : "conf_test");
+
+ while ((ch = getopt(argc, argv, "v")) != -1) {
+ switch (ch) {
+ case 'v':
+ verbose = true;
+ break;
+ default:
+ usage();
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (argc < 1)
+ usage();
+
+ for (ntests = 0; ntests < argc; ntests++) {
+ const char *path = argv[ntests];
+ if (verbose)
+ printf("reading %s\n", path);
+ if (!logsrvd_conf_read(path))
+ errors++;
+ }
+ logsrvd_conf_cleanup();
+
+ if (ntests != 0) {
+ printf("%s: %d tests run, %d errors, %d%% success rate\n",
+ getprogname(), ntests, errors, (ntests - errors) * 100 / ntests);
+ }
+ return errors;
+}
diff --git a/logsrvd/regress/logsrvd_conf/logsrvd_dhparams.pem b/logsrvd/regress/logsrvd_conf/logsrvd_dhparams.pem
new file mode 100644
index 000000000..508846e3c
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/logsrvd_dhparams.pem
@@ -0,0 +1,8 @@
+-----BEGIN DH PARAMETERS-----
+MIIBCAKCAQEA/QJRAmmGCZw79LyKinHUA0fEEzDiUkhuILieN0LLruznj4RBebQi
+0sEa7YrFPG7z/eLU/aoBaJmWiX3ZOGReM1NoMJgZJezkY3HBiHombb9lBJHOSaHK
+rT6viG3tBiu3DiByC+hdcp9xWfXkxgC944tIiTdFJtgYWw1KUBRHnSMob+ulZ2VE
+COZE8HX7Nbp26fsfOKgcb/AX0fMLOetG0aaSgYAtyOGx1toRAFhEcdq/lusdkbzy
+SUWwXfMXZorZoPudn31w7IN2wvDtP7v5fGqx6e9c91Orhy96sC7jmwedK/BGnkRi
+XwnI6LNXwg30g4vLuinegqcNzmqcFY0wIwIBAg==
+-----END DH PARAMETERS-----
diff --git a/logsrvd/regress/logsrvd_conf/logsrvd_key.pem b/logsrvd/regress/logsrvd_conf/logsrvd_key.pem
new file mode 100644
index 000000000..e58616950
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/logsrvd_key.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC7/TKl0yMsu+65
+gomOkJN+LlVAqVHuONQXCC2zBpSNsP7mXaxx0uhDDxg6kopeJ5f1diNX/Y5F60Al
+Qn1a8cKOM1Cwvz7seTEZ1mCJay82Q3oyCCcSTjAa4ZDZbiagn4e4WYqIOw5EE0DP
+k37UTdsqUfy90JxCUxSBMY5FQUJbc86ZadsWPb5SzsHTXfi2a5vyqHMm7dJ/C30c
+yJ8jDkChReO78DrQIZHpuj0T7otKxwQu0tkQ1bKEto7hEeOlTblxrUZRkpumSUhF
+aZYt1DL6mrFinLtU9fYEFxE8f530D9mUtsZuPwYdqkantk7JGqnpjwP0ypWFP0ck
+wJcn5FJHAgMBAAECggEAA4H+N7l3v6t/ZmyKslU2EnXLUB3KfOrPb6hc90WOmy49
+pSuuTLz7adh6CbTeTeE96/wuWYqjq+AaVvszvrg+Xj3MqhiHd9Rdwmgbp0MBakyv
+ls72zXRrJycIk8mfgR5x1MRYvaGTlXWa9KgsIzw+Anftnyw3yOJf+1oNmAE7ENzf
+c3IBeQF040ahQleUoF6msNvjVrcKSiOpM8x+ectrx6S1vJP9rJFRp2g5Vlroskcs
+ztPF4P9MFgsAzDd3HPtzBHXzoDNAlTwBbT6Ins6CeWENJY2KjRqntfQUJZfa12cQ
+XE4v4HIBm2u8MxxjW4B3dNXcy4JY5yQu0RULJnGzYQKBgQDIuT2cVmdRDa9jyBUq
+XWpMOwo4jHm1qTr750dvq93z2fSSKjmee67xq1hYER+elhm9dSyRBFBwpabv5eNH
+4cZuvhlv4kJiIkXqohmhU1iQg4L5sKgXY9M8+MDsOr9SyCnAb7P/VyL2WsNgCB8l
+40We9feeCFQFyZi24IsusGCIGQKBgQDvwjAljmzBaTrjZlWhAEGoxCZ9yql+U7VJ
+6qu9hiSqetRDTAlo/ozFNvb5o0BCkOIg23zS48Fd99B082eYpXOpECK6rVOwdWwV
+aOQyoXIEFm4ihK/okELKaI9vsZjA7gAbIyzLMPPnXL3zGYk+yQbOBEuOBBa8o478
+lFhvgW55XwKBgH9wJK7CqNvsLWPTn6SDJL77aRTYE1oD9OAESfWbj9KHmeDHEEgP
+zNXA7NkVHhcow3TnFQGJVK0Ab0m2kiOMM9kRtsKzS2RU0EEU4+LqMLun05tFzqLz
+DSWT5aDV96zOSrvT79r47sisfYjV/zil4Aj5r1nVfcsi4GOTkqp07wTZAoGBAOFH
+Wkv/nkrBYJbI0g6cmhVEcVJi+Y18g+w3NzW2dH9HOGkfafwgqg6ojbmU3k1tqzvq
+YEgbvtZXgqRRDPdOBvZE9gznzaoROwSG8VxtfB9BIC0I9eyUmF1tj9EIU5p8Rtc4
+3t7xWUv8RXLFfMLkyqMLQB7p0p9fI3xKuynSuQYLAoGAPK8qQvaR91sZLAvfkEYT
+jeIAwr7ExN6W+lIO9FW9ctfCu/aePTsGSmH6TX0JIZN/6lZcTamaY45IRxJh7TgD
+ZHBSRxkYIGQcsH2Eb6MwouQYuFWWicf3dY+oI0wejLZ+1TsBRJSsegV/36KgWVw3
+gAbhy0D+TKSGwK1tBLgKnB8=
+-----END PRIVATE KEY-----
diff --git a/logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.1.in b/logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.1.in
new file mode 100644
index 000000000..ab92b8bef
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.1.in
@@ -0,0 +1,252 @@
+#
+# sudo logsrv daemon configuration
+#
+
+[server]
+# The host name or IP address and port to listen on with an optional TLS
+# flag. If no port is specified, port 30343 will be used for plaintext
+# connections and port 30344 will be used to TLS connections.
+# The following forms are accepted:
+# listen_address = hostname(tls)
+# listen_address = hostname:port(tls)
+# listen_address = IPv4_address(tls)
+# listen_address = IPv4_address:port(tls)
+# listen_address = [IPv6_address](tls)
+# listen_address = [IPv6_address]:port(tls)
+#
+# The (tls) suffix should be omitted for plaintext connections.
+#
+# Multiple listen_address settings may be specified.
+# The default is to listen on all addresses.
+listen_address = *:30343
+#listen_address = *:30344(tls)
+
+# The file containing the ID of the running sudo_logsrvd process.
+pid_file = /var/run/sudo/sudo_logsrvd.pid
+
+# Where to log server warnings: none, stderr, syslog, or a path name.
+server_log = syslog
+
+# If true, enable the SO_KEEPALIVE socket option on client connections.
+# Defaults to true.
+tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the client to
+# respond. A value of 0 will disable the timeout. The default value is 30.
+timeout = 30
+
+# If true, the server will validate its own certificate at startup.
+# Defaults to true.
+#tls_verify = true
+
+# If true, client certificates will be validated by the server;
+# clients without a valid certificate will be unable to connect.
+# By default, client certs are not checked.
+#tls_checkpeer = false
+
+# Path to a certificate authority bundle file in PEM format to use
+# instead of the system's default certificate authority database.
+#tls_cacert = regress/logsrvd_conf/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# Required for TLS connections.
+#tls_cert = regress/logsrvd_conf/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# Required for TLS connections.
+#tls_key = regress/logsrvd_conf/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# This setting is only effective if the negotiated protocol is TLS version
+# 1.2. The default cipher list is HIGH:!aNULL.
+#tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default cipher list is TLS_AES_256_GCM_SHA384.
+#tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# If not set, the server will use the OpenSSL defaults.
+#tls_dhparams = regress/logsrvd_conf/logsrvd_dhparams.pem
+
+[relay]
+# The host name or IP address and port to send logs to in relay mode.
+# The syntax is identical to listen_address with the exception of
+# the wild card ('*') syntax. When this setting is enabled, logs will
+# be relayed to the specified host instead of being stored locally.
+# This setting is not enabled by default.
+#relay_host = relayhost.dom.ain
+relay_host = 127.0.0.1
+
+# The amount of time, in seconds, the server will wait for a connection
+# to the relay server to complete. A value of 0 will disable the timeout.
+# The default value is 30.
+connect_timeout = 30
+
+# The directory to store messages in before they are sent to the relay.
+# Messages are stored in wire format.
+# The default value is /var/log/sudo_logsrvd.
+relay_dir = /var/log/sudo_logsrvd
+
+# The number of seconds to wait after a connection error before
+# making a new attempt to forward a message to a relay host.
+# The default value is 30.
+retry_interval = 30
+
+# Whether to store the log before relaying it. If true, enable store
+# and forward mode. If false, the client connection is immediately
+# relayed. Defaults to false.
+store_first = true
+
+# If true, enable the SO_KEEPALIVE socket option on relay connections.
+# Defaults to true.
+tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the relay to
+# respond. A value of 0 will disable the timeout. The default value is 30.
+timeout = 30
+
+# If true, the server's relay certificate will be verified at startup.
+# The default is to use the value in the [server] section.
+#tls_verify = true
+
+# Whether to verify the relay's certificate for TLS connections.
+# The default is to use the value in the [server] section.
+#tls_checkpeer = false
+
+# Path to a certificate authority bundle file in PEM format to use
+# instead of the system's default certificate authority database.
+# The default is to use the value in the [server] section.
+#tls_cacert = regress/logsrvd_conf/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# The default is to use the certificate in the [server] section.
+#tls_cert = regress/logsrvd_conf/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# The default is to use the key in the [server] section.
+#tls_key = regress/logsrvd_conf/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# this setting is only effective if the negotiated protocol is TLS version
+# 1.2. The default is to use the value in the [server] section.
+#tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default is to use the value in the [server] section.
+#tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# The default is to use the value in the [server] section.
+#tls_dhparams = regress/logsrvd_conf/logsrvd_dhparams.pem
+
+[iolog]
+# The top-level directory to use when constructing the path name for the
+# I/O log directory. The session sequence number, if any, is stored here.
+iolog_dir = /var/log/sudo-io
+
+# The path name, relative to iolog_dir, in which to store I/O logs.
+# It is possible for iolog_file to contain directory components.
+iolog_file = %{seq}
+
+# If set, I/O logs will be compressed using zlib. Enabling compression can
+# make it harder to view the logs in real-time as the program is executing.
+iolog_compress = false
+
+# If set, I/O log data is flushed to disk after each write instead of
+# buffering it. This makes it possible to view the logs in real-time
+# as the program is executing but reduces the effectiveness of compression.
+iolog_flush = true
+
+# The group to use when creating new I/O log files and directories.
+# If iolog_group is not set, the primary group-ID of the user specified
+# by iolog_user is used. If neither iolog_group nor iolog_user
+# are set, I/O log files and directories are created with group-ID 0.
+#iolog_group = wheel
+
+# The user to use when setting the user-ID and group-ID of new I/O
+# log files and directories. If iolog_group is set, it will be used
+# instead of the user's primary group-ID. By default, I/O log files
+# and directories are created with user and group-ID 0.
+#iolog_user = root
+
+# The file mode to use when creating I/O log files. The file permissions
+# will always include the owner read and write bits, even if they are
+# not present in the specified mode. When creating I/O log directories,
+# search (execute) bits are added to match the read and write bits
+# specified by iolog_mode.
+iolog_mode = 0600
+
+# If disabled, sudo_logsrvd will attempt to avoid logging plaintext
+# password in the terminal input using passprompt_regex.
+log_passwords = true
+
+# The maximum sequence number that will be substituted for the "%{seq}"
+# escape in the I/O log file. While the value substituted for "%{seq}"
+# is in base 36, maxseq itself should be expressed in decimal. Values
+# larger than 2176782336 (which corresponds to the base 36 sequence
+# number "ZZZZZZ") will be silently truncated to 2176782336.
+maxseq = 2176782336
+
+# One or more POSIX extended regular expressions used to match
+# password prompts in the terminal output when log_passwords is
+# disabled. Multiple passprompt_regex settings may be specified.
+#passprompt_regex = [Pp]assword[: ]*
+passprompt_regex = [Pp]assword for [a-z0-9]+: *
+
+[eventlog]
+# Where to log accept, reject, exit, and alert events.
+# Accepted values are syslog, logfile, or none.
+# Defaults to syslog
+log_type = syslog
+
+# Whether to log an event when a command exits or is terminated by a signal.
+# Defaults to false
+log_exit = true
+
+# Event log format.
+# Supported log formats are "sudo" and "json"
+# Defaults to sudo
+log_format = sudo
+
+[syslog]
+# The maximum length of a syslog payload.
+# On many systems, syslog(3) has a relatively small log buffer.
+# IETF RFC 5424 states that syslog servers must support messages
+# of at least 480 bytes and should support messages up to 2048 bytes.
+# Messages larger than this value will be split into multiple messages.
+maxlen = 960
+
+# The syslog facility to use for event log messages.
+# The following syslog facilities are supported: authpriv (if your OS
+# supports it), auth, daemon, user, local0, local1, local2, local3,
+# local4, local5, local6, and local7.
+#facility = authpriv
+facility = auth
+
+# Syslog priority to use for event log accept messages, when the command
+# is allowed by the security policy. The following syslog priorities are
+# supported: alert, crit, debug, emerg, err, info, notice, warning, none.
+accept_priority = notice
+
+# Syslog priority to use for event log reject messages, when the command
+# is not allowed by the security policy.
+reject_priority = alert
+
+# Syslog priority to use for event log alert messages reported by the
+# client.
+alert_priority = alert
+
+# The syslog facility to use for server warning messages.
+# Defaults to daemon.
+server_facility = daemon
+
+[logfile]
+# The path to the file-based event log.
+# This path must be fully-qualified and start with a '/' character.
+path = /var/log/sudo.log
+
+# The format string used when formatting the date and time for
+# file-based event logs. Formatting is performed via strftime(3) so
+# any format string supported by that function is allowed.
+time_format = %h %e %T
diff --git a/logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.2.in b/logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.2.in
new file mode 100644
index 000000000..01b91ff30
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/sudo_logsrvd.conf.2.in
@@ -0,0 +1,252 @@
+#
+# sudo logsrv daemon configuration
+#
+
+[server]
+# The host name or IP address and port to listen on with an optional TLS
+# flag. If no port is specified, port 30343 will be used for plaintext
+# connections and port 30344 will be used to TLS connections.
+# The following forms are accepted:
+# listen_address = hostname(tls)
+# listen_address = hostname:port(tls)
+# listen_address = IPv4_address(tls)
+# listen_address = IPv4_address:port(tls)
+# listen_address = [IPv6_address](tls)
+# listen_address = [IPv6_address]:port(tls)
+#
+# The (tls) suffix should be omitted for plaintext connections.
+#
+# Multiple listen_address settings may be specified.
+# The default is to listen on all addresses.
+listen_address = 172.0.0.1:30343
+#listen_address = 172.0.0.1:30344(tls)
+
+# The file containing the ID of the running sudo_logsrvd process.
+pid_file = /var/run/sudo/sudo_logsrvd.pid
+
+# Where to log server warnings: none, stderr, syslog, or a path name.
+server_log = stderr
+
+# If true, enable the SO_KEEPALIVE socket option on client connections.
+# Defaults to true.
+tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the client to
+# respond. A value of 0 will disable the timeout. The default value is 30.
+timeout = 30
+
+# If true, the server will validate its own certificate at startup.
+# Defaults to true.
+#tls_verify = false
+
+# If true, client certificates will be validated by the server;
+# clients without a valid certificate will be unable to connect.
+# By default, client certs are not checked.
+#tls_checkpeer = true
+
+# Path to a certificate authority bundle file in PEM format to use
+# instead of the system's default certificate authority database.
+#tls_cacert = regress/logsrvd_conf/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# Required for TLS connections.
+#tls_cert = regress/logsrvd_conf/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# Required for TLS connections.
+#tls_key = regress/logsrvd_conf/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# This setting is only effective if the negotiated protocol is TLS version
+# 1.2. The default cipher list is HIGH:!aNULL.
+#tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default cipher list is TLS_AES_256_GCM_SHA384.
+#tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# If not set, the server will use the OpenSSL defaults.
+#tls_dhparams = regress/logsrvd_conf/logsrvd_dhparams.pem
+
+[relay]
+# The host name or IP address and port to send logs to in relay mode.
+# The syntax is identical to listen_address with the exception of
+# the wild card ('*') syntax. When this setting is enabled, logs will
+# be relayed to the specified host instead of being stored locally.
+# This setting is not enabled by default.
+#relay_host = relayhost.dom.ain
+relay_host = 127.0.0.1
+
+# The amount of time, in seconds, the server will wait for a connection
+# to the relay server to complete. A value of 0 will disable the timeout.
+# The default value is 30.
+connect_timeout = 30
+
+# The directory to store messages in before they are sent to the relay.
+# Messages are stored in wire format.
+# The default value is /var/log/sudo_logsrvd.
+relay_dir = /var/log/sudo_logsrvd
+
+# The number of seconds to wait after a connection error before
+# making a new attempt to forward a message to a relay host.
+# The default value is 30.
+retry_interval = 30
+
+# Whether to store the log before relaying it. If true, enable store
+# and forward mode. If false, the client connection is immediately
+# relayed. Defaults to false.
+store_first = true
+
+# If true, enable the SO_KEEPALIVE socket option on relay connections.
+# Defaults to true.
+tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the relay to
+# respond. A value of 0 will disable the timeout. The default value is 30.
+timeout = 30
+
+# If true, the server's relay certificate will be verified at startup.
+# The default is to use the value in the [server] section.
+#tls_verify = true
+
+# Whether to verify the relay's certificate for TLS connections.
+# The default is to use the value in the [server] section.
+#tls_checkpeer = false
+
+# Path to a certificate authority bundle file in PEM format to use
+# instead of the system's default certificate authority database.
+# The default is to use the value in the [server] section.
+#tls_cacert = regress/logsrvd_conf/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# The default is to use the certificate in the [server] section.
+#tls_cert = regress/logsrvd_conf/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# The default is to use the key in the [server] section.
+#tls_key = regress/logsrvd_conf/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# this setting is only effective if the negotiated protocol is TLS version
+# 1.2. The default is to use the value in the [server] section.
+#tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default is to use the value in the [server] section.
+#tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# The default is to use the value in the [server] section.
+#tls_dhparams = regress/logsrvd_conf/logsrvd_dhparams.pem
+
+[iolog]
+# The top-level directory to use when constructing the path name for the
+# I/O log directory. The session sequence number, if any, is stored here.
+iolog_dir = /var/log/sudo-io
+
+# The path name, relative to iolog_dir, in which to store I/O logs.
+# It is possible for iolog_file to contain directory components.
+iolog_file = %{seq}
+
+# If set, I/O logs will be compressed using zlib. Enabling compression can
+# make it harder to view the logs in real-time as the program is executing.
+iolog_compress = false
+
+# If set, I/O log data is flushed to disk after each write instead of
+# buffering it. This makes it possible to view the logs in real-time
+# as the program is executing but reduces the effectiveness of compression.
+iolog_flush = true
+
+# The group to use when creating new I/O log files and directories.
+# If iolog_group is not set, the primary group-ID of the user specified
+# by iolog_user is used. If neither iolog_group nor iolog_user
+# are set, I/O log files and directories are created with group-ID 0.
+#iolog_group = wheel
+
+# The user to use when setting the user-ID and group-ID of new I/O
+# log files and directories. If iolog_group is set, it will be used
+# instead of the user's primary group-ID. By default, I/O log files
+# and directories are created with user and group-ID 0.
+#iolog_user = root
+
+# The file mode to use when creating I/O log files. The file permissions
+# will always include the owner read and write bits, even if they are
+# not present in the specified mode. When creating I/O log directories,
+# search (execute) bits are added to match the read and write bits
+# specified by iolog_mode.
+iolog_mode = 0600
+
+# If disabled, sudo_logsrvd will attempt to avoid logging plaintext
+# password in the terminal input using passprompt_regex.
+log_passwords = true
+
+# The maximum sequence number that will be substituted for the "%{seq}"
+# escape in the I/O log file. While the value substituted for "%{seq}"
+# is in base 36, maxseq itself should be expressed in decimal. Values
+# larger than 2176782336 (which corresponds to the base 36 sequence
+# number "ZZZZZZ") will be silently truncated to 2176782336.
+maxseq = 2176782336
+
+# One or more POSIX extended regular expressions used to match
+# password prompts in the terminal output when log_passwords is
+# disabled. Multiple passprompt_regex settings may be specified.
+#passprompt_regex = [Pp]assword[: ]*
+passprompt_regex = [Pp]assword for [a-z0-9]+: *
+
+[eventlog]
+# Where to log accept, reject, exit, and alert events.
+# Accepted values are syslog, logfile, or none.
+# Defaults to syslog
+log_type = none
+
+# Whether to log an event when a command exits or is terminated by a signal.
+# Defaults to false
+log_exit = true
+
+# Event log format.
+# Supported log formats are "sudo" and "json"
+# Defaults to sudo
+log_format = json
+
+[syslog]
+# The maximum length of a syslog payload.
+# On many systems, syslog(3) has a relatively small log buffer.
+# IETF RFC 5424 states that syslog servers must support messages
+# of at least 480 bytes and should support messages up to 2048 bytes.
+# Messages larger than this value will be split into multiple messages.
+maxlen = 960
+
+# The syslog facility to use for event log messages.
+# The following syslog facilities are supported: authpriv (if your OS
+# supports it), auth, daemon, user, local0, local1, local2, local3,
+# local4, local5, local6, and local7.
+#facility = authpriv
+facility = daemon
+
+# Syslog priority to use for event log accept messages, when the command
+# is allowed by the security policy. The following syslog priorities are
+# supported: alert, crit, debug, emerg, err, info, notice, warning, none.
+accept_priority = notice
+
+# Syslog priority to use for event log reject messages, when the command
+# is not allowed by the security policy.
+reject_priority = alert
+
+# Syslog priority to use for event log alert messages reported by the
+# client.
+alert_priority = alert
+
+# The syslog facility to use for server warning messages.
+# Defaults to daemon.
+server_facility = daemon
+
+[logfile]
+# The path to the file-based event log.
+# This path must be fully-qualified and start with a '/' character.
+path = /var/log/sudo.log
+
+# The format string used when formatting the date and time for
+# file-based event logs. Formatting is performed via strftime(3) so
+# any format string supported by that function is allowed.
+time_format = %h %e %T
diff --git a/logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.1.in b/logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.1.in
new file mode 100644
index 000000000..6d97f4407
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.1.in
@@ -0,0 +1,252 @@
+#
+# sudo logsrv daemon configuration
+#
+
+[server]
+# The host name or IP address and port to listen on with an optional TLS
+# flag. If no port is specified, port 30343 will be used for plaintext
+# connections and port 30344 will be used to TLS connections.
+# The following forms are accepted:
+# listen_address = hostname(tls)
+# listen_address = hostname:port(tls)
+# listen_address = IPv4_address(tls)
+# listen_address = IPv4_address:port(tls)
+# listen_address = [IPv6_address](tls)
+# listen_address = [IPv6_address]:port(tls)
+#
+# The (tls) suffix should be omitted for plaintext connections.
+#
+# Multiple listen_address settings may be specified.
+# The default is to listen on all addresses.
+listen_address = *:30343
+listen_address = *:30344(tls)
+
+# The file containing the ID of the running sudo_logsrvd process.
+pid_file = /var/run/sudo/sudo_logsrvd.pid
+
+# Where to log server warnings: none, stderr, syslog, or a path name.
+server_log = syslog
+
+# If true, enable the SO_KEEPALIVE socket option on client connections.
+# Defaults to true.
+tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the client to
+# respond. A value of 0 will disable the timeout. The default value is 30.
+timeout = 30
+
+# If true, the server will validate its own certificate at startup.
+# Defaults to true.
+tls_verify = true
+
+# If true, client certificates will be validated by the server;
+# clients without a valid certificate will be unable to connect.
+# By default, client certs are not checked.
+tls_checkpeer = false
+
+# Path to a certificate authority bundle file in PEM format to use
+# instead of the system's default certificate authority database.
+tls_cacert = regress/logsrvd_conf/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# Required for TLS connections.
+tls_cert = regress/logsrvd_conf/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# Required for TLS connections.
+tls_key = regress/logsrvd_conf/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# This setting is only effective if the negotiated protocol is TLS version
+# 1.2. The default cipher list is HIGH:!aNULL.
+tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default cipher list is TLS_AES_256_GCM_SHA384.
+tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# If not set, the server will use the OpenSSL defaults.
+tls_dhparams = regress/logsrvd_conf/logsrvd_dhparams.pem
+
+[relay]
+# The host name or IP address and port to send logs to in relay mode.
+# The syntax is identical to listen_address with the exception of
+# the wild card ('*') syntax. When this setting is enabled, logs will
+# be relayed to the specified host instead of being stored locally.
+# This setting is not enabled by default.
+#relay_host = relayhost.dom.ain
+relay_host = 127.0.0.1(tls)
+
+# The amount of time, in seconds, the server will wait for a connection
+# to the relay server to complete. A value of 0 will disable the timeout.
+# The default value is 30.
+connect_timeout = 30
+
+# The directory to store messages in before they are sent to the relay.
+# Messages are stored in wire format.
+# The default value is /var/log/sudo_logsrvd.
+relay_dir = /var/log/sudo_logsrvd
+
+# The number of seconds to wait after a connection error before
+# making a new attempt to forward a message to a relay host.
+# The default value is 30.
+retry_interval = 30
+
+# Whether to store the log before relaying it. If true, enable store
+# and forward mode. If false, the client connection is immediately
+# relayed. Defaults to false.
+store_first = true
+
+# If true, enable the SO_KEEPALIVE socket option on relay connections.
+# Defaults to true.
+tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the relay to
+# respond. A value of 0 will disable the timeout. The default value is 30.
+timeout = 30
+
+# If true, the server's relay certificate will be verified at startup.
+# The default is to use the value in the [server] section.
+tls_verify = true
+
+# Whether to verify the relay's certificate for TLS connections.
+# The default is to use the value in the [server] section.
+tls_checkpeer = false
+
+# Path to a certificate authority bundle file in PEM format to use
+# instead of the system's default certificate authority database.
+# The default is to use the value in the [server] section.
+tls_cacert = regress/logsrvd_conf/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# The default is to use the certificate in the [server] section.
+tls_cert = regress/logsrvd_conf/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# The default is to use the key in the [server] section.
+tls_key = regress/logsrvd_conf/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# this setting is only effective if the negotiated protocol is TLS version
+# 1.2. The default is to use the value in the [server] section.
+tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default is to use the value in the [server] section.
+tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# The default is to use the value in the [server] section.
+tls_dhparams = regress/logsrvd_conf/logsrvd_dhparams.pem
+
+[iolog]
+# The top-level directory to use when constructing the path name for the
+# I/O log directory. The session sequence number, if any, is stored here.
+iolog_dir = /var/log/sudo-io
+
+# The path name, relative to iolog_dir, in which to store I/O logs.
+# It is possible for iolog_file to contain directory components.
+iolog_file = %{seq}
+
+# If set, I/O logs will be compressed using zlib. Enabling compression can
+# make it harder to view the logs in real-time as the program is executing.
+iolog_compress = false
+
+# If set, I/O log data is flushed to disk after each write instead of
+# buffering it. This makes it possible to view the logs in real-time
+# as the program is executing but reduces the effectiveness of compression.
+iolog_flush = true
+
+# The group to use when creating new I/O log files and directories.
+# If iolog_group is not set, the primary group-ID of the user specified
+# by iolog_user is used. If neither iolog_group nor iolog_user
+# are set, I/O log files and directories are created with group-ID 0.
+#iolog_group = wheel
+
+# The user to use when setting the user-ID and group-ID of new I/O
+# log files and directories. If iolog_group is set, it will be used
+# instead of the user's primary group-ID. By default, I/O log files
+# and directories are created with user and group-ID 0.
+#iolog_user = root
+
+# The file mode to use when creating I/O log files. The file permissions
+# will always include the owner read and write bits, even if they are
+# not present in the specified mode. When creating I/O log directories,
+# search (execute) bits are added to match the read and write bits
+# specified by iolog_mode.
+iolog_mode = 0600
+
+# If disabled, sudo_logsrvd will attempt to avoid logging plaintext
+# password in the terminal input using passprompt_regex.
+log_passwords = true
+
+# The maximum sequence number that will be substituted for the "%{seq}"
+# escape in the I/O log file. While the value substituted for "%{seq}"
+# is in base 36, maxseq itself should be expressed in decimal. Values
+# larger than 2176782336 (which corresponds to the base 36 sequence
+# number "ZZZZZZ") will be silently truncated to 2176782336.
+maxseq = 2176782336
+
+# One or more POSIX extended regular expressions used to match
+# password prompts in the terminal output when log_passwords is
+# disabled. Multiple passprompt_regex settings may be specified.
+#passprompt_regex = [Pp]assword[: ]*
+passprompt_regex = [Pp]assword for [a-z0-9]+: *
+
+[eventlog]
+# Where to log accept, reject, exit, and alert events.
+# Accepted values are syslog, logfile, or none.
+# Defaults to syslog
+log_type = syslog
+
+# Whether to log an event when a command exits or is terminated by a signal.
+# Defaults to false
+log_exit = true
+
+# Event log format.
+# Supported log formats are "sudo" and "json"
+# Defaults to sudo
+log_format = sudo
+
+[syslog]
+# The maximum length of a syslog payload.
+# On many systems, syslog(3) has a relatively small log buffer.
+# IETF RFC 5424 states that syslog servers must support messages
+# of at least 480 bytes and should support messages up to 2048 bytes.
+# Messages larger than this value will be split into multiple messages.
+maxlen = 960
+
+# The syslog facility to use for event log messages.
+# The following syslog facilities are supported: authpriv (if your OS
+# supports it), auth, daemon, user, local0, local1, local2, local3,
+# local4, local5, local6, and local7.
+#facility = authpriv
+facility = auth
+
+# Syslog priority to use for event log accept messages, when the command
+# is allowed by the security policy. The following syslog priorities are
+# supported: alert, crit, debug, emerg, err, info, notice, warning, none.
+accept_priority = notice
+
+# Syslog priority to use for event log reject messages, when the command
+# is not allowed by the security policy.
+reject_priority = alert
+
+# Syslog priority to use for event log alert messages reported by the
+# client.
+alert_priority = alert
+
+# The syslog facility to use for server warning messages.
+# Defaults to daemon.
+server_facility = daemon
+
+[logfile]
+# The path to the file-based event log.
+# This path must be fully-qualified and start with a '/' character.
+path = /var/log/sudo.log
+
+# The format string used when formatting the date and time for
+# file-based event logs. Formatting is performed via strftime(3) so
+# any format string supported by that function is allowed.
+time_format = %h %e %T
diff --git a/logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.2.in b/logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.2.in
new file mode 100644
index 000000000..0e71f67a3
--- /dev/null
+++ b/logsrvd/regress/logsrvd_conf/tls/sudo_logsrvd.conf.2.in
@@ -0,0 +1,252 @@
+#
+# sudo logsrv daemon configuration
+#
+
+[server]
+# The host name or IP address and port to listen on with an optional TLS
+# flag. If no port is specified, port 30343 will be used for plaintext
+# connections and port 30344 will be used to TLS connections.
+# The following forms are accepted:
+# listen_address = hostname(tls)
+# listen_address = hostname:port(tls)
+# listen_address = IPv4_address(tls)
+# listen_address = IPv4_address:port(tls)
+# listen_address = [IPv6_address](tls)
+# listen_address = [IPv6_address]:port(tls)
+#
+# The (tls) suffix should be omitted for plaintext connections.
+#
+# Multiple listen_address settings may be specified.
+# The default is to listen on all addresses.
+listen_address = 172.0.0.1:30343
+listen_address = 172.0.0.1:30344(tls)
+
+# The file containing the ID of the running sudo_logsrvd process.
+pid_file = /var/run/sudo/sudo_logsrvd.pid
+
+# Where to log server warnings: none, stderr, syslog, or a path name.
+server_log = stderr
+
+# If true, enable the SO_KEEPALIVE socket option on client connections.
+# Defaults to true.
+tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the client to
+# respond. A value of 0 will disable the timeout. The default value is 30.
+timeout = 30
+
+# If true, the server will validate its own certificate at startup.
+# Defaults to true.
+tls_verify = false
+
+# If true, client certificates will be validated by the server;
+# clients without a valid certificate will be unable to connect.
+# By default, client certs are not checked.
+tls_checkpeer = true
+
+# Path to a certificate authority bundle file in PEM format to use
+# instead of the system's default certificate authority database.
+tls_cacert = regress/logsrvd_conf/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# Required for TLS connections.
+tls_cert = regress/logsrvd_conf/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# Required for TLS connections.
+tls_key = regress/logsrvd_conf/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# This setting is only effective if the negotiated protocol is TLS version
+# 1.2. The default cipher list is HIGH:!aNULL.
+tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default cipher list is TLS_AES_256_GCM_SHA384.
+tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# If not set, the server will use the OpenSSL defaults.
+tls_dhparams = regress/logsrvd_conf/logsrvd_dhparams.pem
+
+[relay]
+# The host name or IP address and port to send logs to in relay mode.
+# The syntax is identical to listen_address with the exception of
+# the wild card ('*') syntax. When this setting is enabled, logs will
+# be relayed to the specified host instead of being stored locally.
+# This setting is not enabled by default.
+#relay_host = relayhost.dom.ain
+relay_host = 127.0.0.1(tls)
+
+# The amount of time, in seconds, the server will wait for a connection
+# to the relay server to complete. A value of 0 will disable the timeout.
+# The default value is 30.
+connect_timeout = 30
+
+# The directory to store messages in before they are sent to the relay.
+# Messages are stored in wire format.
+# The default value is /var/log/sudo_logsrvd.
+relay_dir = /var/log/sudo_logsrvd
+
+# The number of seconds to wait after a connection error before
+# making a new attempt to forward a message to a relay host.
+# The default value is 30.
+retry_interval = 30
+
+# Whether to store the log before relaying it. If true, enable store
+# and forward mode. If false, the client connection is immediately
+# relayed. Defaults to false.
+store_first = true
+
+# If true, enable the SO_KEEPALIVE socket option on relay connections.
+# Defaults to true.
+tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the relay to
+# respond. A value of 0 will disable the timeout. The default value is 30.
+timeout = 30
+
+# If true, the server's relay certificate will be verified at startup.
+# The default is to use the value in the [server] section.
+tls_verify = true
+
+# Whether to verify the relay's certificate for TLS connections.
+# The default is to use the value in the [server] section.
+tls_checkpeer = false
+
+# Path to a certificate authority bundle file in PEM format to use
+# instead of the system's default certificate authority database.
+# The default is to use the value in the [server] section.
+tls_cacert = regress/logsrvd_conf/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# The default is to use the certificate in the [server] section.
+tls_cert = regress/logsrvd_conf/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# The default is to use the key in the [server] section.
+tls_key = regress/logsrvd_conf/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# this setting is only effective if the negotiated protocol is TLS version
+# 1.2. The default is to use the value in the [server] section.
+tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default is to use the value in the [server] section.
+tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# The default is to use the value in the [server] section.
+tls_dhparams = regress/logsrvd_conf/logsrvd_dhparams.pem
+
+[iolog]
+# The top-level directory to use when constructing the path name for the
+# I/O log directory. The session sequence number, if any, is stored here.
+iolog_dir = /var/log/sudo-io
+
+# The path name, relative to iolog_dir, in which to store I/O logs.
+# It is possible for iolog_file to contain directory components.
+iolog_file = %{seq}
+
+# If set, I/O logs will be compressed using zlib. Enabling compression can
+# make it harder to view the logs in real-time as the program is executing.
+iolog_compress = false
+
+# If set, I/O log data is flushed to disk after each write instead of
+# buffering it. This makes it possible to view the logs in real-time
+# as the program is executing but reduces the effectiveness of compression.
+iolog_flush = true
+
+# The group to use when creating new I/O log files and directories.
+# If iolog_group is not set, the primary group-ID of the user specified
+# by iolog_user is used. If neither iolog_group nor iolog_user
+# are set, I/O log files and directories are created with group-ID 0.
+#iolog_group = wheel
+
+# The user to use when setting the user-ID and group-ID of new I/O
+# log files and directories. If iolog_group is set, it will be used
+# instead of the user's primary group-ID. By default, I/O log files
+# and directories are created with user and group-ID 0.
+#iolog_user = root
+
+# The file mode to use when creating I/O log files. The file permissions
+# will always include the owner read and write bits, even if they are
+# not present in the specified mode. When creating I/O log directories,
+# search (execute) bits are added to match the read and write bits
+# specified by iolog_mode.
+iolog_mode = 0600
+
+# If disabled, sudo_logsrvd will attempt to avoid logging plaintext
+# password in the terminal input using passprompt_regex.
+log_passwords = true
+
+# The maximum sequence number that will be substituted for the "%{seq}"
+# escape in the I/O log file. While the value substituted for "%{seq}"
+# is in base 36, maxseq itself should be expressed in decimal. Values
+# larger than 2176782336 (which corresponds to the base 36 sequence
+# number "ZZZZZZ") will be silently truncated to 2176782336.
+maxseq = 2176782336
+
+# One or more POSIX extended regular expressions used to match
+# password prompts in the terminal output when log_passwords is
+# disabled. Multiple passprompt_regex settings may be specified.
+#passprompt_regex = [Pp]assword[: ]*
+passprompt_regex = [Pp]assword for [a-z0-9]+: *
+
+[eventlog]
+# Where to log accept, reject, exit, and alert events.
+# Accepted values are syslog, logfile, or none.
+# Defaults to syslog
+log_type = none
+
+# Whether to log an event when a command exits or is terminated by a signal.
+# Defaults to false
+log_exit = true
+
+# Event log format.
+# Supported log formats are "sudo" and "json"
+# Defaults to sudo
+log_format = json
+
+[syslog]
+# The maximum length of a syslog payload.
+# On many systems, syslog(3) has a relatively small log buffer.
+# IETF RFC 5424 states that syslog servers must support messages
+# of at least 480 bytes and should support messages up to 2048 bytes.
+# Messages larger than this value will be split into multiple messages.
+maxlen = 960
+
+# The syslog facility to use for event log messages.
+# The following syslog facilities are supported: authpriv (if your OS
+# supports it), auth, daemon, user, local0, local1, local2, local3,
+# local4, local5, local6, and local7.
+#facility = authpriv
+facility = daemon
+
+# Syslog priority to use for event log accept messages, when the command
+# is allowed by the security policy. The following syslog priorities are
+# supported: alert, crit, debug, emerg, err, info, notice, warning, none.
+accept_priority = notice
+
+# Syslog priority to use for event log reject messages, when the command
+# is not allowed by the security policy.
+reject_priority = alert
+
+# Syslog priority to use for event log alert messages reported by the
+# client.
+alert_priority = alert
+
+# The syslog facility to use for server warning messages.
+# Defaults to daemon.
+server_facility = daemon
+
+[logfile]
+# The path to the file-based event log.
+# This path must be fully-qualified and start with a '/' character.
+path = /var/log/sudo.log
+
+# The format string used when formatting the date and time for
+# file-based event logs. Formatting is performed via strftime(3) so
+# any format string supported by that function is allowed.
+time_format = %h %e %T
diff --git a/logsrvd/sendlog.c b/logsrvd/sendlog.c
index f0710563b..094bd369d 100644
--- a/logsrvd/sendlog.c
+++ b/logsrvd/sendlog.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2019-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2019-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -1214,7 +1214,7 @@ handle_server_message(uint8_t *buf, size_t len,
sudo_debug_printf(SUDO_DEBUG_INFO, "%s: unpacking ServerMessage", __func__);
msg = server_message__unpack(NULL, len, buf);
if (msg == NULL) {
- sudo_warnx("unable to unpack %s size %zu", "ServerMessage", len);
+ sudo_warnx(U_("unable to unpack %s size %zu"), "ServerMessage", len);
debug_return_bool(false);
}
@@ -1332,20 +1332,20 @@ server_msg_cb(int fd, int what, void *v)
#if !defined(HAVE_WOLFSSL)
if (closure->state == RECV_HELLO &&
ERR_GET_REASON(err) == SSL_R_TLSV1_ALERT_INTERNAL_ERROR) {
- errstr = "host name does not match certificate";
+ errstr = U_("host name does not match certificate");
} else
#endif
{
errstr = ERR_reason_error_string(err);
}
- sudo_warnx("%s", errstr);
+ sudo_warnx("%s", errstr ? errstr : strerror(errno));
goto bad;
case SSL_ERROR_SYSCALL:
sudo_warn("recv");
goto bad;
default:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("recv: %s", errstr);
+ sudo_warnx("recv: %s", errstr ? errstr : strerror(errno));
goto bad;
}
}
@@ -1469,7 +1469,7 @@ client_msg_cb(int fd, int what, void *v)
goto bad;
default:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("send: %s", errstr);
+ sudo_warnx("send: %s", errstr ? errstr : strerror(errno));
goto bad;
}
}
diff --git a/logsrvd/tls_client.c b/logsrvd/tls_client.c
index 210ff8b26..9be07fd2a 100644
--- a/logsrvd/tls_client.c
+++ b/logsrvd/tls_client.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2019-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2019-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -153,7 +153,8 @@ tls_connect_cb(int sock, int what, void *v)
goto bad;
default:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("TLS connection failed: %s"), errstr);
+ sudo_warnx(U_("TLS connection failed: %s"),
+ errstr ? errstr : strerror(errno));
goto bad;
}
}
@@ -187,21 +188,22 @@ tls_ctx_client_setup(SSL_CTX *ssl_ctx, int sock,
if ((closure->ssl = SSL_new(ssl_ctx)) == NULL) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("unable to allocate ssl object: %s"), errstr);
+ sudo_warnx(U_("unable to allocate ssl object: %s"),
+ errstr ? errstr : strerror(errno));
goto done;
}
if (SSL_set_ex_data(closure->ssl, 1, closure->peer_name) <= 0) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("Unable to attach user data to the ssl object: %s"),
- errstr);
+ errstr ? errstr : strerror(errno));
goto done;
}
if (SSL_set_fd(closure->ssl, sock) <= 0) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("Unable to attach socket to the ssl object: %s"),
- errstr);
+ errstr ? errstr : strerror(errno));
goto done;
}
diff --git a/logsrvd/tls_init.c b/logsrvd/tls_init.c
index 2210d58d1..6a24fcc83 100644
--- a/logsrvd/tls_init.c
+++ b/logsrvd/tls_init.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2019-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2019-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -30,6 +30,7 @@
#endif
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <fcntl.h>
#include <unistd.h>
@@ -63,37 +64,42 @@ verify_cert_chain(SSL_CTX *ctx, const char *cert_file)
if ((x509 = SSL_CTX_get0_certificate(ctx)) == NULL) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("SSL_CTX_get0_certificate: %s", errstr);
+ sudo_warnx("SSL_CTX_get0_certificate: %s",
+ errstr ? errstr : strerror(errno));
goto done;
}
if ((store_ctx = X509_STORE_CTX_new()) == NULL) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("X509_STORE_CTX_new: %s", errstr);
+ sudo_warnx("X509_STORE_CTX_new: %s",
+ errstr ? errstr : strerror(errno));
goto done;
}
if (!SSL_CTX_get0_chain_certs(ctx, &chain_certs)) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("SSL_CTX_get0_chain_certs: %s", errstr);
+ sudo_warnx("SSL_CTX_get0_chain_certs: %s: %s", cert_file,
+ errstr ? errstr : strerror(errno));
goto done;
}
-#if !defined(HAVE_WOLFSSL)
- if ((ca_store = SSL_CTX_get_cert_store(ctx)) != NULL)
+ ca_store = SSL_CTX_get_cert_store(ctx);
+#ifdef X509_V_FLAG_X509_STRICT
+ if (ca_store != NULL)
X509_STORE_set_flags(ca_store, X509_V_FLAG_X509_STRICT);
#endif
if (!X509_STORE_CTX_init(store_ctx, ca_store, x509, chain_certs)) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("X509_STORE_CTX_init: %s", errstr);
+ sudo_warnx("X509_STORE_CTX_init: %s",
+ errstr ? errstr : strerror(errno));
goto done;
}
if (X509_verify_cert(store_ctx) <= 0) {
errstr =
X509_verify_cert_error_string(X509_STORE_CTX_get_error(store_ctx));
- sudo_warnx("X509_verify_cert: %s", errstr);
+ sudo_warnx("X509_verify_cert: %s: %s", cert_file, errstr);
goto done;
}
@@ -125,7 +131,7 @@ init_tls_ciphersuites(SSL_CTX *ctx, const char *ciphers_v12,
} else {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("unable to set TLS 1.2 ciphersuite to %s: %s"),
- ciphers_v12, errstr);
+ ciphers_v12, errstr ? errstr : strerror(errno));
}
}
if (!success) {
@@ -133,7 +139,7 @@ init_tls_ciphersuites(SSL_CTX *ctx, const char *ciphers_v12,
if (SSL_CTX_set_cipher_list(ctx, DEFAULT_CIPHER_LST12) <= 0) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("unable to set TLS 1.2 ciphersuite to %s: %s"),
- DEFAULT_CIPHER_LST12, errstr);
+ DEFAULT_CIPHER_LST12, errstr ? errstr : strerror(errno));
debug_return_bool(false);
} else {
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
@@ -153,7 +159,7 @@ init_tls_ciphersuites(SSL_CTX *ctx, const char *ciphers_v12,
} else {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("unable to set TLS 1.3 ciphersuite to %s: %s"),
- ciphers_v13, errstr);
+ ciphers_v13, errstr ? errstr : strerror(errno));
}
}
if (!success) {
@@ -161,7 +167,7 @@ init_tls_ciphersuites(SSL_CTX *ctx, const char *ciphers_v12,
if (SSL_CTX_set_ciphersuites(ctx, DEFAULT_CIPHER_LST13) <= 0) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("unable to set TLS 1.3 ciphersuite to %s: %s"),
- DEFAULT_CIPHER_LST13, errstr);
+ DEFAULT_CIPHER_LST13, errstr ? errstr : strerror(errno));
debug_return_bool(false);
} else {
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
@@ -193,7 +199,7 @@ set_dhparams_bio(SSL_CTX *ctx, BIO *bio)
if (!ret) {
const char *errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("unable to set diffie-hellman parameters: %s"),
- errstr);
+ errstr ? errstr : strerror(errno));
EVP_PKEY_free(dhparams);
}
}
@@ -214,7 +220,7 @@ set_dhparams_bio(SSL_CTX *ctx, BIO *bio)
if (!ret) {
const char *errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("unable to set diffie-hellman parameters: %s"),
- errstr);
+ errstr ? errstr : strerror(errno));
DH_free(dhparams);
}
}
@@ -233,7 +239,7 @@ set_dhparams(SSL_CTX *ctx, const char *dhparam_file)
bool ret = false;
debug_decl(set_dhparams, SUDO_DEBUG_UTIL);
- bio = BIO_new_file(dhparam_file, O_RDONLY);
+ bio = BIO_new_file(dhparam_file, "r");
if (bio != NULL) {
if (set_dhparams_bio(ctx, bio)) {
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
@@ -269,14 +275,15 @@ init_tls_context(const char *ca_bundle_file, const char *cert_file,
/* Create the ssl context and enforce TLS 1.2 or higher. */
if ((ctx = SSL_CTX_new(TLS_method())) == NULL) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("unable to create TLS context: %s"), errstr);
+ sudo_warnx(U_("unable to create TLS context: %s"),
+ errstr ? errstr : strerror(errno));
goto bad;
}
#ifdef HAVE_SSL_CTX_SET_MIN_PROTO_VERSION
if (!SSL_CTX_set_min_proto_version(ctx, TLS1_2_VERSION)) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("unable to set minimum protocol version to TLS 1.2: %s"),
- errstr);
+ errstr ? errstr : strerror(errno));
goto bad;
}
#else
@@ -290,20 +297,23 @@ init_tls_context(const char *ca_bundle_file, const char *cert_file,
if (cacerts == NULL) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("%s: %s"), ca_bundle_file, errstr);
+ sudo_warnx(U_("%s: %s"), ca_bundle_file,
+ errstr ? errstr : strerror(errno));
goto bad;
}
SSL_CTX_set_client_CA_list(ctx, cacerts);
if (SSL_CTX_load_verify_locations(ctx, ca_bundle_file, NULL) <= 0) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("SSL_CTX_load_verify_locations: %s", errstr);
+ sudo_warnx("SSL_CTX_load_verify_locations: %s: %s", ca_bundle_file,
+ errstr ? errstr : strerror(errno));
goto bad;
}
} else {
if (!SSL_CTX_set_default_verify_paths(ctx)) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("SSL_CTX_set_default_verify_paths: %s", errstr);
+ sudo_warnx("SSL_CTX_set_default_verify_paths: %s",
+ errstr ? errstr : strerror(errno));
goto bad;
}
}
@@ -311,7 +321,8 @@ init_tls_context(const char *ca_bundle_file, const char *cert_file,
if (cert_file != NULL) {
if (!SSL_CTX_use_certificate_chain_file(ctx, cert_file)) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("%s: %s"), cert_file, errstr);
+ sudo_warnx(U_("%s: %s"), cert_file,
+ errstr ? errstr : strerror(errno));
goto bad;
}
if (key_file == NULL) {
@@ -321,7 +332,8 @@ init_tls_context(const char *ca_bundle_file, const char *cert_file,
if (!SSL_CTX_use_PrivateKey_file(ctx, key_file, SSL_FILETYPE_PEM) ||
!SSL_CTX_check_private_key(ctx)) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("%s: %s"), key_file, errstr);
+ sudo_warnx(U_("%s: %s"), key_file,
+ errstr ? errstr : strerror(errno));
goto bad;
}
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 4b909b6cc..afdadd80b 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,6 +1,7 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
-# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
@@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl
# along with this program. If not, see <http://www.gnu.org/licenses/>.
])
-# serial 58 LT_INIT
+# serial 59 LT_INIT
# LT_PREREQ(VERSION)
@@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_DECL_FILECMD])dnl
m4_require([_LT_CHECK_MAGIC_METHOD])dnl
m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
@@ -219,8 +221,8 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
+# All known linkers require a '.a' archive for static linking (except MSVC and
+# ICC, which need '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -778,7 +780,7 @@ _LT_EOF
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
+ $SED '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
mv -f "$cfgfile" "$ofile" ||
@@ -1042,8 +1044,8 @@ int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
cat > conftest.c << _LT_EOF
@@ -1068,11 +1070,11 @@ _LT_EOF
darwin1.*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*)
- case ${MACOSX_DEPLOYMENT_TARGET},$host in
- 10.[[012]],*|,*powerpc*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- *)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ case $MACOSX_DEPLOYMENT_TARGET,$host in
+ 10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ *)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
@@ -1121,12 +1123,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
output_verbose_link_cmd=func_echo_all
_LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
_LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
m4_if([$1], [CXX],
[ if test yes != "$lt_cv_apple_cc_single_mod"; then
_LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
fi
],[])
else
@@ -1240,7 +1242,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
# _LT_WITH_SYSROOT
# ----------------
AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
+[m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([for sysroot])
AC_ARG_WITH([sysroot],
[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
[Search for dependent libraries within DIR (or the compiler's sysroot
@@ -1257,7 +1260,7 @@ case $with_sysroot in #(
fi
;; #(
/*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
;; #(
no|'')
;; #(
@@ -1287,7 +1290,7 @@ ia64-*-hpux*)
# options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*ELF-32*)
HPUX_IA64_MODE=32
;;
@@ -1304,7 +1307,7 @@ ia64-*-hpux*)
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
if test yes = "$lt_cv_prog_gnu_ld"; then
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
;;
@@ -1316,7 +1319,7 @@ ia64-*-hpux*)
;;
esac
else
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
;;
@@ -1338,7 +1341,7 @@ mips64*-*linux*)
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
emul=elf
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
emul="${emul}32"
;;
@@ -1346,7 +1349,7 @@ mips64*-*linux*)
emul="${emul}64"
;;
esac
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*MSB*)
emul="${emul}btsmip"
;;
@@ -1354,7 +1357,7 @@ mips64*-*linux*)
emul="${emul}ltsmip"
;;
esac
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*N32*)
emul="${emul}n32"
;;
@@ -1374,14 +1377,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# not appear in the list.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*32-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
;;
@@ -1449,7 +1452,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*)
@@ -1488,9 +1491,22 @@ need_locks=$enable_libtool_lock
m4_defun([_LT_PROG_AR],
[AC_CHECK_TOOLS(AR, [ar], false)
: ${AR=ar}
-: ${AR_FLAGS=cru}
_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
+# higher priority because thats what people were doing historically (setting
+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
+# variable obsoleted/removed.
+
+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+lt_ar_flags=$AR_FLAGS
+_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
+
+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
+_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
+ [Flags to create an archive])
AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
[lt_cv_ar_at_file=no
@@ -1709,7 +1725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=8192;
;;
- bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1752,7 +1768,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
@@ -2203,26 +2219,35 @@ m4_defun([_LT_CMD_STRIPLIB],
striplib=
old_striplib=
AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
+if test -z "$STRIP"; then
+ AC_MSG_RESULT([no])
else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP"; then
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+ else
+ case $host_os in
+ darwin*)
+ # FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
- else
+ ;;
+ freebsd*)
+ if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
AC_MSG_RESULT([no])
- fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
+ ;;
+ esac
+ fi
fi
_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
_LT_DECL([], [striplib], [1])
@@ -2545,7 +2570,7 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
@@ -2555,14 +2580,14 @@ m4_if([$1], [],[
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
;;
- *,cl*)
- # Native MSVC
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
@@ -2581,7 +2606,7 @@ m4_if([$1], [],[
done
IFS=$lt_save_ifs
# Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
;;
cygwin*)
# Convert to unix form, then to dos form, then back to unix form
@@ -2618,7 +2643,7 @@ m4_if([$1], [],[
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
@@ -2651,7 +2676,7 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd* | dragonfly*)
+freebsd* | dragonfly* | midnightbsd*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
if test -x /usr/bin/objformat; then
@@ -3450,7 +3475,7 @@ beos*)
bsdi[[45]]*)
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_cmd='$FILECMD -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
@@ -3484,14 +3509,14 @@ darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | dragonfly*)
+freebsd* | dragonfly* | midnightbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
@@ -3538,7 +3563,7 @@ netbsd*)
newos6*)
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
@@ -3665,13 +3690,13 @@ else
mingw*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
- case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
*$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
break 2
;;
*)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
break 2
@@ -3697,7 +3722,7 @@ else
# Let the user override the test.
else
AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
*COFF*)
DUMPBIN="$DUMPBIN -symbols -headers"
;;
@@ -3937,7 +3962,7 @@ esac
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Gets list of data symbols to import.
- lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
# Adjust the below global symbol transforms to fixup imported variables.
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
@@ -3955,20 +3980,20 @@ fi
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
$lt_cdecl_hook\
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
$lt_c_name_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
# Transform an extracted symbol line into symbol name with lib prefix and
# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
$lt_c_name_lib_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
@@ -3992,7 +4017,7 @@ for ac_symprfx in "" "_"; do
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++,
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
@@ -4010,9 +4035,9 @@ for ac_symprfx in "" "_"; do
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx]"
else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
@@ -4299,7 +4324,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- freebsd* | dragonfly*)
+ freebsd* | dragonfly* | midnightbsd*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
@@ -4382,7 +4407,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
@@ -4718,7 +4743,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
@@ -4901,7 +4926,7 @@ m4_if([$1], [CXX], [
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
@@ -4909,7 +4934,7 @@ m4_if([$1], [CXX], [
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
- cl*)
+ cl* | icl*)
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
;;
*)
@@ -4968,15 +4993,15 @@ dnl Note also adjust exclude_expsyms for C++ above.
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
+ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
@@ -5028,7 +5053,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
supports_anon_versioning=no
- case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
+ case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -5140,6 +5165,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
interix[[3-9]]*)
@@ -5154,7 +5180,7 @@ _LT_EOF
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
@@ -5197,7 +5223,7 @@ _LT_EOF
_LT_TAGVAR(compiler_needs_object, $1)=yes
;;
esac
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*) # Sun C 5.9
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
@@ -5209,7 +5235,7 @@ _LT_EOF
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
@@ -5225,7 +5251,7 @@ _LT_EOF
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
@@ -5357,7 +5383,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -5540,12 +5566,12 @@ _LT_EOF
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
- cl*)
- # Native MSVC
+ cl* | icl*)
+ # Native MSVC or ICC
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=yes
@@ -5586,7 +5612,7 @@ _LT_EOF
fi'
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Tell ltmain to make .lib files, not .a files.
@@ -5634,7 +5660,7 @@ _LT_EOF
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
+ freebsd* | dragonfly* | midnightbsd*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
@@ -5892,6 +5918,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
osf3*)
@@ -6668,8 +6695,8 @@ if test yes != "$_lt_caught_CXX_error"; then
cygwin* | mingw* | pw32* | cegcc*)
case $GXX,$cc_basename in
- ,cl* | no,cl*)
- # Native MSVC
+ ,cl* | no,cl* | ,icl* | no,icl*)
+ # Native MSVC or ICC
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
@@ -6767,6 +6794,7 @@ if test yes != "$_lt_caught_CXX_error"; then
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
dgux*)
@@ -6797,7 +6825,7 @@ if test yes != "$_lt_caught_CXX_error"; then
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
;;
- freebsd* | dragonfly*)
+ freebsd* | dragonfly* | midnightbsd*)
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
# conventions
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -6949,7 +6977,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
irix5* | irix6*)
case $cc_basename in
@@ -7089,13 +7117,13 @@ if test yes != "$_lt_caught_CXX_error"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
@@ -7724,8 +7752,6 @@ _LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(fix_hardcoded_libdir_flag_spec, $1)=
_LT_TAGVAR(fix_hardcoded_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(fix_hardcoded_libdir_flag_spec, $1)=
-_LT_TAGVAR(fix_hardcoded_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(module_cmds, $1)=
_LT_TAGVAR(module_expsym_cmds, $1)=
@@ -8245,6 +8271,14 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
AC_SUBST([DLLTOOL])
])
+# _LT_DECL_FILECMD
+# ----------------
+# Check for a file(cmd) program that can be used to detect file type and magic
+m4_defun([_LT_DECL_FILECMD],
+[AC_CHECK_TOOL([FILECMD], [file], [:])
+_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
+])# _LD_DECL_FILECMD
+
# _LT_DECL_SED
# ------------
# Check for a fully-functional sed program, that truncates
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 94b082976..b0b5e9c21 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,7 +1,7 @@
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
-# Foundation, Inc.
+# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
+# Software Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
index 48bc9344a..902508bd9 100644
--- a/m4/ltsugar.m4
+++ b/m4/ltsugar.m4
@@ -1,6 +1,6 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index fa04b52a3..b155d0ace 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -1,6 +1,7 @@
# ltversion.m4 -- version numbers -*- Autoconf -*-
#
-# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
+# Inc.
# Written by Scott James Remnant, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -9,15 +10,15 @@
# @configure_input@
-# serial 4179 ltversion.m4
+# serial 4245 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4.6])
-m4_define([LT_PACKAGE_REVISION], [2.4.6])
+m4_define([LT_PACKAGE_VERSION], [2.4.7])
+m4_define([LT_PACKAGE_REVISION], [2.4.7])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.6'
-macro_revision='2.4.6'
+[macro_version='2.4.7'
+macro_revision='2.4.7'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index c6b26f88f..0f7a8759d 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,7 +1,7 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
-# Foundation, Inc.
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
+# Software Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
diff --git a/plugins/audit_json/Makefile.in b/plugins/audit_json/Makefile.in
index 0a2840415..2ec476bcc 100644
--- a/plugins/audit_json/Makefile.in
+++ b/plugins/audit_json/Makefile.in
@@ -23,6 +23,7 @@
srcdir = @srcdir@
devdir = @devdir@
top_builddir = @top_builddir@
+abs_top_builddir = @abs_top_builddir@
top_srcdir = @top_srcdir@
scriptdir = $(top_srcdir)/scripts
incdir = $(top_srcdir)/include
@@ -65,8 +66,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -119,7 +120,7 @@ all: audit_json.la
depend:
$(scriptdir)/mkdep.pl --srcdir=$(top_srcdir) \
- --builddir=`pwd`/$(top_builddir) plugins/audit_json/Makefile.in
+ --builddir=$(abs_top_builddir) plugins/audit_json/Makefile.in
cd $(top_builddir) && ./config.status --file plugins/audit_json/Makefile
Makefile: $(srcdir)/Makefile.in
@@ -128,7 +129,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -143,7 +144,7 @@ $(shlib_opt): $(shlib_exp)
@$(SED) 's/^/+e /' $(shlib_exp) > $@
audit_json.la: $(OBJS) $(LT_LIBS) @LT_LDDEP@
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
pre-install:
@@ -211,7 +212,7 @@ cleandir: realclean
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) $(SSP_CFLAGS) $(srcdir)/getgrent.c
+ $(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
@@ -221,7 +222,7 @@ getgrent.plog: getgrent.i
audit_json.lo: $(srcdir)/audit_json.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/audit_json.c
+ $(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
diff --git a/plugins/group_file/Makefile.in b/plugins/group_file/Makefile.in
index e648dd88b..e387e4db4 100644
--- a/plugins/group_file/Makefile.in
+++ b/plugins/group_file/Makefile.in
@@ -68,8 +68,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -131,7 +131,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -146,7 +146,7 @@ $(shlib_opt): $(shlib_exp)
@$(SED) 's/^/+e /' $(shlib_exp) > $@
group_file.la: $(OBJS) $(LT_LIBS) @LT_LDDEP@
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
pre-install:
@@ -214,7 +214,7 @@ cleandir: realclean
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) $(SSP_CFLAGS) $(srcdir)/getgrent.c
+ $(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
@@ -224,7 +224,7 @@ getgrent.plog: getgrent.i
group_file.lo: $(srcdir)/group_file.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/group_file.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/group_file.c
group_file.i: $(srcdir)/group_file.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \
$(top_builddir)/config.h
diff --git a/plugins/python/Makefile.in b/plugins/python/Makefile.in
index aa129b892..a4b71e57a 100644
--- a/plugins/python/Makefile.in
+++ b/plugins/python/Makefile.in
@@ -72,8 +72,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -148,10 +148,10 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog .o
.c.o:
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -166,7 +166,7 @@ $(shlib_opt): $(shlib_exp)
@$(SED) 's/^/+e /' $(shlib_exp) > $@
python_plugin.la: $(OBJS) $(LT_LIBS) @LT_LDDEP@
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
pre-install:
@@ -233,6 +233,7 @@ check: $(TEST_PROGS) check-fuzzer
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
LSAN_OPTIONS=suppressions=$(srcdir)/lsan_suppr.txt \
@@ -248,7 +249,7 @@ update_test_data: $(TEST_PROGS)
fi
check_python_examples: $(CHECK_PYTHON_EXAMPLES_OBJS) $(LIBPYTHONPLUGIN)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_PYTHON_EXAMPLES_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_PYTHON_EXAMPLES_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
.PHONY: clean mostlyclean distclean cleandir clobber realclean
@@ -262,7 +263,7 @@ check_python_examples.o: $(srcdir)/regress/check_python_examples.c \
$(srcdir)/regress/iohelpers.h \
$(srcdir)/regress/testhelpers.h \
$(srcdir)/sudo_python_debug.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/check_python_examples.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/check_python_examples.c
check_python_examples.i: $(srcdir)/regress/check_python_examples.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -277,7 +278,7 @@ check_python_examples.plog: check_python_examples.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/check_python_examples.c --i-file $< --output-file $@
iohelpers.o: $(srcdir)/regress/iohelpers.c $(incdir)/sudo_compat.h \
$(srcdir)/regress/iohelpers.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/iohelpers.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/iohelpers.c
iohelpers.i: $(srcdir)/regress/iohelpers.c $(incdir)/sudo_compat.h \
$(srcdir)/regress/iohelpers.h $(top_builddir)/config.h
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -289,7 +290,7 @@ pyhelpers.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/pyhelpers.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pyhelpers.c
pyhelpers.i: $(srcdir)/pyhelpers.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
@@ -305,14 +306,14 @@ pyhelpers.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/pyhelpers.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pyhelpers.c
python_baseplugin.lo: $(srcdir)/python_baseplugin.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
$(srcdir)/pyhelpers.h $(srcdir)/pyhelpers_cpychecker.h \
$(srcdir)/sudo_python_debug.h \
$(srcdir)/sudo_python_module.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_baseplugin.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_baseplugin.c
python_baseplugin.i: $(srcdir)/python_baseplugin.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
@@ -329,7 +330,7 @@ python_convmessage.lo: $(srcdir)/python_convmessage.c \
$(srcdir)/pyhelpers_cpychecker.h \
$(srcdir)/sudo_python_debug.h \
$(srcdir)/sudo_python_module.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_convmessage.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_convmessage.c
python_convmessage.i: $(srcdir)/python_convmessage.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
@@ -348,7 +349,7 @@ python_importblocker.lo: $(srcdir)/python_importblocker.c \
$(srcdir)/pyhelpers_cpychecker.h \
$(srcdir)/sudo_python_debug.h \
$(srcdir)/sudo_python_module.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_importblocker.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_importblocker.c
python_importblocker.i: $(srcdir)/python_importblocker.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
@@ -366,7 +367,7 @@ python_loghandler.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_loghandler.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_loghandler.c
python_loghandler.i: $(srcdir)/python_loghandler.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
@@ -385,7 +386,7 @@ python_plugin_approval.lo: $(srcdir)/python_plugin_approval.c \
$(srcdir)/python_plugin_common.h \
$(srcdir)/sudo_python_debug.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_plugin_approval.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_plugin_approval.c
python_plugin_approval.i: $(srcdir)/python_plugin_approval.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
@@ -406,7 +407,7 @@ python_plugin_audit.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_plugin_audit.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_plugin_audit.c
python_plugin_audit.i: $(srcdir)/python_plugin_audit.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
@@ -427,7 +428,7 @@ python_plugin_common.lo: $(srcdir)/python_plugin_common.c \
$(srcdir)/python_plugin_common.h \
$(srcdir)/sudo_python_debug.h \
$(srcdir)/sudo_python_module.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_plugin_common.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_plugin_common.c
python_plugin_common.i: $(srcdir)/python_plugin_common.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -447,7 +448,7 @@ python_plugin_group.lo: $(srcdir)/python_plugin_group.c \
$(srcdir)/pyhelpers_cpychecker.h \
$(srcdir)/python_plugin_common.h \
$(srcdir)/sudo_python_debug.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_plugin_group.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_plugin_group.c
python_plugin_group.i: $(srcdir)/python_plugin_group.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
@@ -465,7 +466,7 @@ python_plugin_io.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_plugin_io.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_plugin_io.c
python_plugin_io.i: $(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 \
@@ -483,7 +484,7 @@ python_plugin_policy.lo: $(srcdir)/python_plugin_policy.c \
$(srcdir)/pyhelpers_cpychecker.h \
$(srcdir)/python_plugin_common.h \
$(srcdir)/sudo_python_debug.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/python_plugin_policy.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/python_plugin_policy.c
python_plugin_policy.i: $(srcdir)/python_plugin_policy.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
@@ -500,7 +501,7 @@ sudo_python_debug.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_python_debug.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_python_debug.c
sudo_python_debug.i: $(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 \
@@ -516,7 +517,7 @@ sudo_python_debug.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_python_debug.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_python_debug.c
sudo_python_module.lo: $(srcdir)/sudo_python_module.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
@@ -524,7 +525,7 @@ sudo_python_module.lo: $(srcdir)/sudo_python_module.c \
$(srcdir)/pyhelpers_cpychecker.h \
$(srcdir)/sudo_python_debug.h \
$(srcdir)/sudo_python_module.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_python_module.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_python_module.c
sudo_python_module.i: $(srcdir)/sudo_python_module.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
@@ -542,7 +543,7 @@ testhelpers.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/testhelpers.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/testhelpers.c
testhelpers.i: $(srcdir)/regress/testhelpers.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \
diff --git a/plugins/python/python_plugin_common.c b/plugins/python/python_plugin_common.c
index 8dae8a36d..c337dd730 100644
--- a/plugins/python/python_plugin_common.c
+++ b/plugins/python/python_plugin_common.c
@@ -736,8 +736,9 @@ python_plugin_unlink(void)
if (Py_IsInitialized()) {
sudo_debug_printf(SUDO_DEBUG_NOTICE, "Closing: deinit python %zu subinterpreters\n",
py_ctx.interpreter_count);
- for (size_t i = 0; i < py_ctx.interpreter_count; ++i) {
- PyThreadState *py_interpreter = py_ctx.py_subinterpreters[i];
+ while (py_ctx.interpreter_count != 0) {
+ PyThreadState *py_interpreter =
+ py_ctx.py_subinterpreters[--py_ctx.interpreter_count];
PyThreadState_Swap(py_interpreter);
Py_EndInterpreter(py_interpreter);
}
diff --git a/plugins/python/regress/testdata/check_example_group_plugin_is_able_to_debug.log b/plugins/python/regress/testdata/check_example_group_plugin_is_able_to_debug.log
index 6879f3ae4..6def4623a 100644
--- a/plugins/python/regress/testdata/check_example_group_plugin_is_able_to_debug.log
+++ b/plugins/python/regress/testdata/check_example_group_plugin_is_able_to_debug.log
@@ -1,4 +1,4 @@
SudoGroupPlugin.__init__ was called with arguments: () [('args', ('ModulePath=SRC_DIR/example_group_plugin.py', 'ClassName=SudoGroupPlugin')), ('version', '1.0')]
SudoGroupPlugin.__init__ returned result: <example_group_plugin.SudoGroupPlugin object>
SudoGroupPlugin.query was called with arguments: ('user', 'group', ('pw_name', 'pw_passwd', 1001, 101, 'pw_gecos', 'pw_dir', 'pw_shell'))
-SudoGroupPlugin.query returned result: REJECT
+SudoGroupPlugin.query returned result: 0
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 fa29e46a5..d0c1566cf 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.18"
+ "version": "1.19"
}
(APPROVAL 2) Constructed:
{
@@ -56,7 +56,7 @@
"INFO1=VALUE1",
"info2=value2"
],
- "version": "1.18"
+ "version": "1.19"
}
(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 1a861bd91..9c42c1da9 100644
--- a/plugins/python/regress/testhelpers.c
+++ b/plugins/python/regress/testhelpers.c
@@ -28,6 +28,36 @@ const char *sudo_conf_normal_mode = TESTDATA_DIR "sudo.conf.normal_mode";
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.
+ */
+static void
+remove_underline(char *output)
+{
+ char *cp, *ep;
+
+ // Remove lines that only consist of '^' and white space.
+ cp = output;
+ ep = output + strlen(output);
+ for (;;) {
+ size_t len = strspn(cp, "^ \t");
+ if (len > 0 && cp[len] == '\n') {
+ /* Prune out lines that are "underlining". */
+ memmove(cp, cp + len + 1, ep - cp);
+ if (*cp == '\0')
+ break;
+ } else {
+ /* No match, move to the next line. */
+ cp = strchr(cp, '\n');
+ if (cp == NULL)
+ break;
+ cp++;
+ }
+ }
+}
+
static void
clean_output(char *output)
{
@@ -38,6 +68,8 @@ clean_output(char *output)
str_replace_in_place(output, MAX_OUTPUT, data.tmp_dir2, TEMP_PATH_TEMPLATE "2");
str_replace_in_place(output, MAX_OUTPUT, SRC_DIR, "SRC_DIR");
+
+ remove_underline(output);
}
const char *
@@ -189,7 +221,7 @@ verify_log_lines(const char *reference_path)
char line[1024] = "";
char stored_str[MAX_OUTPUT] = "";
- while(fgets(line, sizeof(line), file) != NULL) {
+ while (fgets(line, sizeof(line), file) != NULL) {
char *line_data = strstr(line, "] "); // this skips the timestamp and pid at the beginning
VERIFY_NOT_NULL(line_data); // malformed log line
line_data += 2;
@@ -218,7 +250,15 @@ verify_log_lines(const char *reference_path)
// LogHandler.emit argument details vary based on python version
line_data[26] = '\n';
line_data[27] = '\0';
- }
+ } else {
+ // Python 3.11 uses 0 instead of the symbolic REJECT in backtraces
+ char *cp = strstr(line_data, ": REJECT");
+ if (cp != NULL) {
+ // Convert ": REJECT" to ": 0" + rest of line
+ memcpy(cp, ": 0", 3);
+ memmove(cp + 3, cp + 8, strlen(cp + 8) + 1);
+ }
+ }
VERIFY_TRUE(strlcat(stored_str, line_data, sizeof(stored_str)) < sizeof(stored_str)); // we have enough space in buffer
}
diff --git a/plugins/sample/Makefile.in b/plugins/sample/Makefile.in
index f16bf747b..412dac3a6 100644
--- a/plugins/sample/Makefile.in
+++ b/plugins/sample/Makefile.in
@@ -67,8 +67,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -126,7 +126,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -141,7 +141,7 @@ $(shlib_opt): $(shlib_exp)
@$(SED) 's/^/+e /' $(shlib_exp) > $@
sample_plugin.la: $(OBJS) @LT_LDDEP@
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
pre-install:
@@ -210,7 +210,7 @@ sample_plugin.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sample_plugin.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sample_plugin.c
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 \
diff --git a/plugins/sample_approval/Makefile.in b/plugins/sample_approval/Makefile.in
index 6f6456dcd..212fe8d8e 100644
--- a/plugins/sample_approval/Makefile.in
+++ b/plugins/sample_approval/Makefile.in
@@ -23,6 +23,7 @@
srcdir = @srcdir@
devdir = @devdir@
top_builddir = @top_builddir@
+abs_top_builddir = @abs_top_builddir@
top_srcdir = @top_srcdir@
scriptdir = $(top_srcdir)/scripts
incdir = $(top_srcdir)/include
@@ -65,8 +66,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -119,7 +120,7 @@ all: sample_approval.la
depend:
$(scriptdir)/mkdep.pl --srcdir=$(top_srcdir) \
- --builddir=`pwd`/$(top_builddir) plugins/sample_approval/Makefile.in
+ --builddir=$(abs_top_builddir) plugins/sample_approval/Makefile.in
cd $(top_builddir) && ./config.status --file plugins/sample_approval/Makefile
Makefile: $(srcdir)/Makefile.in
@@ -128,7 +129,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -143,7 +144,7 @@ $(shlib_opt): $(shlib_exp)
@$(SED) 's/^/+e /' $(shlib_exp) > $@
sample_approval.la: $(OBJS) $(LT_LIBS) @LT_LDDEP@
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
pre-install:
@@ -211,7 +212,7 @@ cleandir: realclean
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) $(SSP_CFLAGS) $(srcdir)/getgrent.c
+ $(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
@@ -221,7 +222,7 @@ getgrent.plog: getgrent.i
sample_approval.lo: $(srcdir)/sample_approval.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sample_approval.c
+ $(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
diff --git a/plugins/sudoers/Makefile.in b/plugins/sudoers/Makefile.in
index 5e73fda59..5cf8ef243 100644
--- a/plugins/sudoers/Makefile.in
+++ b/plugins/sudoers/Makefile.in
@@ -58,7 +58,7 @@ INSTALL_BACKUP = @INSTALL_BACKUP@
# Libraries
LIBFUZZSTUB = $(top_builddir)/lib/fuzzstub/libsudo_fuzzstub.la
LIBEVENTLOG = $(top_builddir)/lib/eventlog/libsudo_eventlog.la
-LIBIOLOG = $(top_builddir)/lib/iolog/libsudo_iolog.la
+LIBIOLOG = $(top_builddir)/lib/iolog/libsudo_iolog.la $(LIBEVENTLOG)
LIBLOGSRV = @LIBLOGSRV@
LIBUTIL = $(top_builddir)/lib/util/libsudo_util.la
LIBS = $(LIBUTIL)
@@ -99,8 +99,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -266,7 +266,7 @@ FUZZ_POLICY_CORPUS = $(srcdir)/regress/corpus/seed/policy/policy.*
FUZZ_SUDOERS_OBJS = check_aliases.o fuzz_stubs.o fuzz_sudoers.o fmtsudoers.lo \
parse.lo locale.lo
-FUZZ_SUDOERS_CORPUS = $(top_srcdir)/examples/sudoers \
+FUZZ_SUDOERS_CORPUS = $(top_builddir)/examples/sudoers \
$(srcdir)/regress/sudoers/test1.in \
$(srcdir)/regress/sudoers/test2.in \
$(srcdir)/regress/sudoers/test3.in \
@@ -306,10 +306,10 @@ all: $(PROGS)
.SUFFIXES: .c .h .i .l .lo .o .plog .y
.c.o:
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -349,75 +349,75 @@ sudoers.la: $(SUDOERS_OBJS) $(LIBIOLOG) $(LIBLOGSRV) libparsesudoers.la @LT_LDDE
*-no-install*) \
$(LIBTOOL) $(LTFLAGS) @SUDOERS_LT_STATIC@ --mode=link $(CC) $(LDFLAGS) $(LT_LDFLAGS) -o $@ $(SUDOERS_OBJS) libparsesudoers.la $(SUDOERS_LIBS) -module;; \
*) \
- $(LIBTOOL) $(LTFLAGS) @SUDOERS_LT_STATIC@ --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) -o $@ $(SUDOERS_OBJS) libparsesudoers.la $(SUDOERS_LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so;; \
+ $(LIBTOOL) $(LTFLAGS) @SUDOERS_LT_STATIC@ --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) -o $@ $(SUDOERS_OBJS) libparsesudoers.la $(SUDOERS_LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so;; \
esac
visudo: libparsesudoers.la $(VISUDO_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(VISUDO_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) libparsesudoers.la $(LIBS) $(VISUDO_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(VISUDO_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) libparsesudoers.la $(LIBS) $(VISUDO_LIBS)
cvtsudoers: libparsesudoers.la $(CVTSUDOERS_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CVTSUDOERS_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) libparsesudoers.la $(LIBS) $(CVTSUDOERS_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CVTSUDOERS_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) libparsesudoers.la $(LIBS) $(CVTSUDOERS_LIBS)
sudoreplay: timestr.lo $(REPLAY_OBJS) $(LIBIOLOG)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(REPLAY_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) timestr.lo $(REPLAY_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(REPLAY_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) timestr.lo $(REPLAY_LIBS)
testsudoers: libparsesudoers.la $(TEST_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(TEST_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) libparsesudoers.la $(LIBS) $(TESTSUDOERS_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(TEST_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) libparsesudoers.la $(LIBS) $(TESTSUDOERS_LIBS)
tsdump: $(TSDUMP_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(TSDUMP_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(TSDUMP_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_addr: $(CHECK_ADDR_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_ADDR_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS) $(NET_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_ADDR_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS) $(NET_LIBS)
check_base64: $(CHECK_BASE64_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_BASE64_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_BASE64_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_digest: $(CHECK_DIGEST_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_DIGEST_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_DIGEST_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_editor: $(CHECK_EDITOR_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_EDITOR_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_EDITOR_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_env_pattern: $(CHECK_ENV_MATCH_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_ENV_MATCH_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_ENV_MATCH_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_exptilde: $(CHECK_EXPTILDE_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_EXPTILDE_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_EXPTILDE_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_fill: $(CHECK_FILL_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_FILL_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_FILL_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_gentime: $(CHECK_GENTIME_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_GENTIME_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_GENTIME_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_hexchar: $(CHECK_HEXCHAR_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_HEXCHAR_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_HEXCHAR_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_iolog_plugin: $(CHECK_IOLOG_PLUGIN_OBJS) $(LIBUTIL) $(LIBIOLOG) $(LIBLOGSRV)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_PLUGIN_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBIOLOG) $(LIBLOGSRV) @LIBTLS@
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_IOLOG_PLUGIN_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBIOLOG) $(LIBLOGSRV) @LIBTLS@
check_serialize_list: $(CHECK_SERIALIZE_LIST_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_SERIALIZE_LIST_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_SERIALIZE_LIST_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_starttime: $(CHECK_STARTTIME_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_STARTTIME_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_STARTTIME_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_unesc: $(CHECK_UNESC_OBJS) $(LIBUTIL)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_UNESC_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_UNESC_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
# 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) $(SSP_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@
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) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) $(LIBEVENTLOG)
+ $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_POLICY_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) $(LIBEVENTLOG)
fuzz_sudoers: $(FUZZ_SUDOERS_OBJS) libparsesudoers.la $(LIBUTIL) $(LIBFUZZSTUB)
- $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_SUDOERS_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) $(LIBUTIL)
+ $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_SUDOERS_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) $(LIBUTIL)
fuzz_sudoers_ldif: $(FUZZ_SUDOERS_LDIF_OBJS) libparsesudoers.la $(LIBUTIL) $(LIBFUZZSTUB)
- $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_SUDOERS_LDIF_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) $(LIBUTIL)
+ $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_SUDOERS_LDIF_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) $(LIBUTIL)
fuzz_policy_seed_corpus.zip:
tdir=fuzz_policy.$$$$; \
@@ -435,6 +435,7 @@ run-fuzz_policy: fuzz_policy
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -461,6 +462,7 @@ run-fuzz_sudoers: fuzz_sudoers
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -487,6 +489,7 @@ run-fuzz_sudoers_ldif: fuzz_sudoers_ldif
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -636,6 +639,7 @@ check-fuzzer: $(FUZZ_PROGS)
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
echo "fuzz_sudoers: verifying corpus"; \
@@ -654,6 +658,7 @@ check: $(TEST_PROGS) visudo testsudoers cvtsudoers check-fuzzer
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
umask 022; \
@@ -728,7 +733,7 @@ afs.lo: $(authdir)/afs.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/afs.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/afs.c
afs.i: $(authdir)/afs.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 \
@@ -750,7 +755,7 @@ aix_auth.lo: $(authdir)/aix_auth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/aix_auth.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/aix_auth.c
aix_auth.i: $(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 \
@@ -772,7 +777,7 @@ alias.lo: $(srcdir)/alias.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/redblack.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/alias.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/alias.c
alias.i: $(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 \
@@ -795,7 +800,7 @@ audit.lo: $(srcdir)/audit.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/solaris_audit.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/audit.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/audit.c
audit.i: $(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 \
@@ -819,7 +824,7 @@ b64_decode.lo: $(srcdir)/b64_decode.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/b64_decode.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/b64_decode.c
b64_decode.i: $(srcdir)/b64_decode.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -843,7 +848,7 @@ b64_encode.o: $(srcdir)/b64_encode.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/b64_encode.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/b64_encode.c
b64_encode.i: $(srcdir)/b64_encode.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -866,7 +871,7 @@ boottime.lo: $(srcdir)/boottime.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/boottime.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/boottime.c
boottime.i: $(srcdir)/boottime.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -888,7 +893,7 @@ bsdauth.lo: $(authdir)/bsdauth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/bsdauth.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/bsdauth.c
bsdauth.i: $(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 \
@@ -911,7 +916,7 @@ bsm_audit.lo: $(srcdir)/bsm_audit.c $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/bsm_audit.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/bsm_audit.c
bsm_audit.i: $(srcdir)/bsm_audit.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -933,7 +938,7 @@ check.lo: $(srcdir)/check.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/check.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/check.c
check.i: $(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 \
@@ -955,7 +960,7 @@ check_addr.o: $(srcdir)/regress/parser/check_addr.c $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/parser/check_addr.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/parser/check_addr.c
check_addr.i: $(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 \
@@ -979,7 +984,7 @@ check_aliases.o: $(srcdir)/check_aliases.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/check_aliases.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/check_aliases.c
check_aliases.i: $(srcdir)/check_aliases.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -996,7 +1001,7 @@ check_aliases.plog: check_aliases.i
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
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/parser/check_base64.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(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
@@ -1008,7 +1013,7 @@ check_digest.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/parser/check_digest.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/parser/check_digest.c
check_digest.i: $(srcdir)/regress/parser/check_digest.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_digest.h $(incdir)/sudo_fatal.h \
@@ -1027,7 +1032,7 @@ check_editor.o: $(srcdir)/regress/editor/check_editor.c $(devdir)/def_data.c \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/editor/check_editor.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/editor/check_editor.c
check_editor.i: $(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 \
@@ -1052,7 +1057,7 @@ check_env_pattern.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/env_match/check_env_pattern.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/env_match/check_env_pattern.c
check_env_pattern.i: $(srcdir)/regress/env_match/check_env_pattern.c \
$(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -1078,7 +1083,7 @@ check_exptilde.o: $(srcdir)/regress/exptilde/check_exptilde.c \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/exptilde/check_exptilde.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/exptilde/check_exptilde.c
check_exptilde.i: $(srcdir)/regress/exptilde/check_exptilde.c \
$(devdir)/def_data.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
@@ -1098,7 +1103,7 @@ check_fill.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/parser/check_fill.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/parser/check_fill.c
check_fill.i: $(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 \
@@ -1112,7 +1117,7 @@ check_gentime.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/parser/check_gentime.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/parser/check_gentime.c
check_gentime.i: $(srcdir)/regress/parser/check_gentime.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \
@@ -1124,7 +1129,7 @@ check_gentime.plog: check_gentime.i
check_hexchar.o: $(srcdir)/regress/parser/check_hexchar.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_util.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/parser/check_hexchar.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/parser/check_hexchar.c
check_hexchar.i: $(srcdir)/regress/parser/check_hexchar.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_util.h $(top_builddir)/config.h
@@ -1143,7 +1148,7 @@ check_iolog_plugin.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c
check_iolog_plugin.i: $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c \
$(devdir)/def_data.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
@@ -1171,7 +1176,7 @@ check_serialize_list.lo: \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/serialize_list/check_serialize_list.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/serialize_list/check_serialize_list.c
check_serialize_list.i: \
$(srcdir)/regress/serialize_list/check_serialize_list.c \
$(devdir)/def_data.h $(incdir)/compat/stdbool.h \
@@ -1192,7 +1197,7 @@ check_starttime.o: $(srcdir)/regress/starttime/check_starttime.c \
$(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_util.h $(srcdir)/check.h \
$(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/starttime/check_starttime.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/starttime/check_starttime.c
check_starttime.i: $(srcdir)/regress/starttime/check_starttime.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \
@@ -1206,7 +1211,7 @@ check_symbols.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/check_symbols/check_symbols.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/check_symbols/check_symbols.c
check_symbols.i: $(srcdir)/regress/check_symbols/check_symbols.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_dso.h $(incdir)/sudo_fatal.h \
@@ -1225,7 +1230,7 @@ check_unesc.o: $(srcdir)/regress/unescape/check_unesc.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/unescape/check_unesc.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/unescape/check_unesc.c
check_unesc.i: $(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 \
@@ -1252,7 +1257,7 @@ cvtsudoers.o: $(srcdir)/cvtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/sudoers_debug.h $(srcdir)/sudoers_version.h \
$(srcdir)/tsgetgrpw.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/cvtsudoers.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers.c
cvtsudoers.i: $(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 \
@@ -1280,7 +1285,7 @@ cvtsudoers_csv.o: $(srcdir)/cvtsudoers_csv.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/cvtsudoers_csv.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers_csv.c
cvtsudoers_csv.i: $(srcdir)/cvtsudoers_csv.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -1307,7 +1312,7 @@ cvtsudoers_json.o: $(srcdir)/cvtsudoers_json.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/cvtsudoers_json.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers_json.c
cvtsudoers_json.i: $(srcdir)/cvtsudoers_json.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -1336,7 +1341,7 @@ cvtsudoers_ldif.o: $(srcdir)/cvtsudoers_ldif.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/cvtsudoers_ldif.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers_ldif.c
cvtsudoers_ldif.i: $(srcdir)/cvtsudoers_ldif.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -1365,7 +1370,7 @@ cvtsudoers_merge.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/cvtsudoers_merge.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers_merge.c
cvtsudoers_merge.i: $(srcdir)/cvtsudoers_merge.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -1392,7 +1397,7 @@ cvtsudoers_pwutil.o: $(srcdir)/cvtsudoers_pwutil.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/cvtsudoers_pwutil.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cvtsudoers_pwutil.c
cvtsudoers_pwutil.i: $(srcdir)/cvtsudoers_pwutil.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1416,7 +1421,7 @@ dce.lo: $(authdir)/dce.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/dce.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/dce.c
dce.i: $(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 \
@@ -1439,7 +1444,7 @@ defaults.lo: $(srcdir)/defaults.c $(devdir)/def_data.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/defaults.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/defaults.c
defaults.i: $(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 \
@@ -1458,7 +1463,7 @@ digestname.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/digestname.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/digestname.c
digestname.i: $(srcdir)/digestname.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_digest.h $(incdir)/sudo_queue.h \
@@ -1476,7 +1481,7 @@ editor.lo: $(srcdir)/editor.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/editor.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/editor.c
editor.i: $(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 \
@@ -1497,7 +1502,7 @@ env.lo: $(srcdir)/env.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/env.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/env.c
env.i: $(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 \
@@ -1519,7 +1524,7 @@ env_pattern.lo: $(srcdir)/env_pattern.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/env_pattern.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/env_pattern.c
env_pattern.i: $(srcdir)/env_pattern.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1543,7 +1548,7 @@ exptilde.lo: $(srcdir)/exptilde.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exptilde.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exptilde.c
exptilde.i: $(srcdir)/exptilde.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1566,7 +1571,7 @@ file.lo: $(srcdir)/file.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/file.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/file.c
file.i: $(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 \
@@ -1589,7 +1594,7 @@ filedigest.lo: $(srcdir)/filedigest.c $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/filedigest.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/filedigest.c
filedigest.i: $(srcdir)/filedigest.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1613,7 +1618,7 @@ find_path.lo: $(srcdir)/find_path.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/find_path.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/find_path.c
find_path.i: $(srcdir)/find_path.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1637,7 +1642,7 @@ fmtsudoers.lo: $(srcdir)/fmtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/fmtsudoers.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fmtsudoers.c
fmtsudoers.i: $(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 \
@@ -1662,7 +1667,7 @@ fmtsudoers_cvt.lo: $(srcdir)/fmtsudoers_cvt.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/fmtsudoers_cvt.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fmtsudoers_cvt.c
fmtsudoers_cvt.i: $(srcdir)/fmtsudoers_cvt.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -1688,7 +1693,7 @@ fuzz_policy.o: $(srcdir)/regress/fuzz/fuzz_policy.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_policy.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_policy.c
fuzz_policy.i: $(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 \
@@ -1713,7 +1718,7 @@ fuzz_stubs.o: $(srcdir)/regress/fuzz/fuzz_stubs.c $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_stubs.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_stubs.c
fuzz_stubs.i: $(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 \
@@ -1737,7 +1742,7 @@ fuzz_sudoers.o: $(srcdir)/regress/fuzz/fuzz_sudoers.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_sudoers.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_sudoers.c
fuzz_sudoers.i: $(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 \
@@ -1762,7 +1767,7 @@ fuzz_sudoers_ldif.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c
fuzz_sudoers_ldif.i: $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c \
$(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -1786,7 +1791,7 @@ fwtk.lo: $(authdir)/fwtk.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/fwtk.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/fwtk.c
fwtk.i: $(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 \
@@ -1807,7 +1812,7 @@ gc.lo: $(srcdir)/gc.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gc.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gc.c
gc.i: $(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 \
@@ -1823,7 +1828,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/gentime.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/gentime.c
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 \
@@ -1832,7 +1837,7 @@ gentime.i: $(srcdir)/gentime.c $(incdir)/compat/stdbool.h \
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 $@
getdate.o: $(devdir)/getdate.c $(incdir)/sudo_compat.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(devdir)/getdate.c
+ $(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) $<
getdate.plog: getdate.i
@@ -1847,7 +1852,7 @@ getspwuid.lo: $(srcdir)/getspwuid.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/getspwuid.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getspwuid.c
getspwuid.i: $(srcdir)/getspwuid.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1870,7 +1875,7 @@ goodpath.lo: $(srcdir)/goodpath.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/goodpath.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/goodpath.c
goodpath.i: $(srcdir)/goodpath.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1891,7 +1896,7 @@ gram.lo: $(devdir)/gram.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(srcdir)/toke.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(devdir)/gram.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(devdir)/gram.c
gram.i: $(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 \
@@ -1913,7 +1918,7 @@ group_plugin.lo: $(srcdir)/group_plugin.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/group_plugin.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/group_plugin.c
group_plugin.i: $(srcdir)/group_plugin.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1936,7 +1941,7 @@ hexchar.lo: $(srcdir)/hexchar.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/hexchar.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/hexchar.c
hexchar.i: $(srcdir)/hexchar.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1959,7 +1964,7 @@ interfaces.lo: $(srcdir)/interfaces.c $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/interfaces.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/interfaces.c
interfaces.i: $(srcdir)/interfaces.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -1983,7 +1988,7 @@ iolog.lo: $(srcdir)/iolog.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/parse.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog.c
iolog.i: $(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 \
@@ -2008,7 +2013,7 @@ iolog_path_escapes.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_path_escapes.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/iolog_path_escapes.c
iolog_path_escapes.i: $(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 \
@@ -2032,7 +2037,7 @@ kerb5.lo: $(authdir)/kerb5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/kerb5.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/kerb5.c
kerb5.i: $(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 \
@@ -2054,7 +2059,7 @@ ldap.lo: $(srcdir)/ldap.c $(devdir)/def_data.h $(incdir)/compat/stdbool.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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/ldap.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ldap.c
ldap.i: $(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 \
@@ -2078,7 +2083,7 @@ ldap_conf.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/ldap_conf.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ldap_conf.c
ldap_conf.i: $(srcdir)/ldap_conf.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2104,7 +2109,7 @@ ldap_util.lo: $(srcdir)/ldap_util.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/parse.h $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/ldap_util.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ldap_util.c
ldap_util.i: $(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 \
@@ -2129,7 +2134,7 @@ linux_audit.lo: $(srcdir)/linux_audit.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/linux_audit.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/linux_audit.c
linux_audit.i: $(srcdir)/linux_audit.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2149,7 +2154,7 @@ locale.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/locale.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/locale.c
locale.i: $(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 \
@@ -2172,7 +2177,7 @@ log_client.lo: $(srcdir)/log_client.c $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/log_client.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/log_client.c
log_client.i: $(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 \
@@ -2200,7 +2205,7 @@ logging.lo: $(srcdir)/logging.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/strlist.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logging.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/logging.c
logging.i: $(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 \
@@ -2224,7 +2229,7 @@ match.lo: $(srcdir)/match.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/match.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/match.c
match.i: $(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 \
@@ -2247,7 +2252,7 @@ match_addr.lo: $(srcdir)/match_addr.c $(devdir)/def_data.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/match_addr.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/match_addr.c
match_addr.i: $(srcdir)/match_addr.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2272,7 +2277,7 @@ match_command.lo: $(srcdir)/match_command.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/match_command.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/match_command.c
match_command.i: $(srcdir)/match_command.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/compat/fnmatch.h \
$(incdir)/compat/glob.h $(incdir)/compat/stdbool.h \
@@ -2298,7 +2303,7 @@ match_digest.lo: $(srcdir)/match_digest.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/match_digest.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/match_digest.c
match_digest.i: $(srcdir)/match_digest.c $(devdir)/def_data.h \
$(devdir)/gram.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -2318,7 +2323,7 @@ net_ifs.o: $(top_srcdir)/src/net_ifs.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
$(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_queue.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(top_srcdir)/src/net_ifs.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(top_srcdir)/src/net_ifs.c
net_ifs.i: $(top_srcdir)/src/net_ifs.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
@@ -2335,7 +2340,7 @@ pam.lo: $(authdir)/pam.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/pam.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/pam.c
pam.i: $(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 \
@@ -2356,7 +2361,7 @@ parse.lo: $(srcdir)/parse.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/parse.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/parse.c
parse.i: $(srcdir)/parse.c $(devdir)/def_data.h $(devdir)/gram.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2380,7 +2385,7 @@ parse_ldif.o: $(srcdir)/parse_ldif.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/parse_ldif.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/parse_ldif.c
parse_ldif.i: $(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 \
@@ -2404,7 +2409,7 @@ passwd.lo: $(authdir)/passwd.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/passwd.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/passwd.c
passwd.i: $(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 \
@@ -2427,7 +2432,7 @@ policy.lo: $(srcdir)/policy.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(srcdir)/sudoers_version.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/policy.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/policy.c
policy.i: $(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 \
@@ -2450,7 +2455,7 @@ prompt.lo: $(srcdir)/prompt.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/prompt.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/prompt.c
prompt.i: $(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 \
@@ -2472,7 +2477,7 @@ pwutil.lo: $(srcdir)/pwutil.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/parse.h $(srcdir)/pwutil.h $(srcdir)/redblack.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/pwutil.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pwutil.c
pwutil.i: $(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 \
@@ -2495,7 +2500,7 @@ pwutil_impl.lo: $(srcdir)/pwutil_impl.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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/pwutil_impl.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pwutil_impl.c
pwutil_impl.i: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2519,7 +2524,7 @@ redblack.lo: $(srcdir)/redblack.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/redblack.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/redblack.c
redblack.i: $(srcdir)/redblack.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2542,7 +2547,7 @@ rfc1938.lo: $(authdir)/rfc1938.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/rfc1938.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/rfc1938.c
rfc1938.i: $(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 \
@@ -2565,7 +2570,7 @@ secureware.lo: $(authdir)/secureware.c $(authdir)/sudo_auth.h \
$(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/secureware.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/secureware.c
secureware.i: $(authdir)/secureware.c $(authdir)/sudo_auth.h \
$(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -2588,7 +2593,7 @@ securid5.lo: $(authdir)/securid5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/securid5.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/securid5.c
securid5.i: $(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 \
@@ -2611,7 +2616,7 @@ serialize_list.lo: $(srcdir)/serialize_list.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/serialize_list.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/serialize_list.c
serialize_list.i: $(srcdir)/serialize_list.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2635,7 +2640,7 @@ set_perms.lo: $(srcdir)/set_perms.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/set_perms.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/set_perms.c
set_perms.i: $(srcdir)/set_perms.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2657,7 +2662,7 @@ sia.lo: $(authdir)/sia.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/sia.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/sia.c
sia.i: $(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 \
@@ -2679,7 +2684,7 @@ solaris_audit.lo: $(srcdir)/solaris_audit.c $(devdir)/def_data.h \
$(srcdir)/solaris_audit.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/solaris_audit.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/solaris_audit.c
solaris_audit.i: $(srcdir)/solaris_audit.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2702,7 +2707,7 @@ sssd.lo: $(srcdir)/sssd.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sssd.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sssd.c
sssd.i: $(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 \
@@ -2725,7 +2730,7 @@ starttime.lo: $(srcdir)/starttime.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/starttime.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/starttime.c
starttime.i: $(srcdir)/starttime.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2749,7 +2754,7 @@ strlcpy_unesc.lo: $(srcdir)/strlcpy_unesc.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/strlcpy_unesc.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strlcpy_unesc.c
strlcpy_unesc.i: $(srcdir)/strlcpy_unesc.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2767,7 +2772,7 @@ 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 \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/strlist.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strlist.c
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 \
@@ -2785,7 +2790,7 @@ strvec_join.lo: $(srcdir)/strvec_join.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/strvec_join.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strvec_join.c
strvec_join.i: $(srcdir)/strvec_join.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2807,7 +2812,7 @@ stubs.o: $(srcdir)/stubs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/stubs.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/stubs.c
stubs.i: $(srcdir)/stubs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
@@ -2832,7 +2837,7 @@ sudo_auth.lo: $(authdir)/sudo_auth.c $(authdir)/sudo_auth.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(authdir)/sudo_auth.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(authdir)/sudo_auth.c
sudo_auth.i: $(authdir)/sudo_auth.c $(authdir)/sudo_auth.h \
$(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -2858,7 +2863,7 @@ sudo_nss.lo: $(srcdir)/sudo_nss.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_nss.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_nss.c
sudo_nss.i: $(srcdir)/sudo_nss.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2875,7 +2880,7 @@ 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
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_printf.c
+ $(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 \
@@ -2894,7 +2899,7 @@ sudoers.lo: $(srcdir)/sudoers.c $(devdir)/def_data.h \
$(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudoers.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoers.c
sudoers.i: $(srcdir)/sudoers.c $(devdir)/def_data.h \
$(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
@@ -2919,7 +2924,7 @@ sudoers_debug.lo: $(srcdir)/sudoers_debug.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudoers_debug.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoers_debug.c
sudoers_debug.i: $(srcdir)/sudoers_debug.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2943,7 +2948,7 @@ sudoers_hooks.lo: $(srcdir)/sudoers_hooks.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudoers_hooks.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoers_hooks.c
sudoers_hooks.i: $(srcdir)/sudoers_hooks.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2965,7 +2970,7 @@ sudoreplay.o: $(srcdir)/sudoreplay.c $(incdir)/compat/getopt.h \
$(incdir)/sudo_iolog.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudoreplay.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudoreplay.c
sudoreplay.i: $(srcdir)/sudoreplay.c $(incdir)/compat/getopt.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -2988,7 +2993,7 @@ testsudoers.o: $(srcdir)/testsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(srcdir)/tsgetgrpw.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/testsudoers.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/testsudoers.c
testsudoers.i: $(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 \
@@ -3015,7 +3020,7 @@ testsudoers_pwutil.o: $(srcdir)/testsudoers_pwutil.c $(devdir)/def_data.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(srcdir)/tsgetgrpw.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/testsudoers_pwutil.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/testsudoers_pwutil.c
testsudoers_pwutil.i: $(srcdir)/testsudoers_pwutil.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -3035,7 +3040,7 @@ 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 \
$(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/timeout.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/timeout.c
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 \
@@ -3053,7 +3058,7 @@ timestamp.lo: $(srcdir)/timestamp.c $(devdir)/def_data.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/timestamp.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/timestamp.c
timestamp.i: $(srcdir)/timestamp.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -3070,7 +3075,7 @@ timestamp.plog: timestamp.i
timestr.lo: $(srcdir)/timestr.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_queue.h $(srcdir)/parse.h $(top_builddir)/config.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/timestr.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/timestr.c
timestr.i: $(srcdir)/timestr.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_queue.h $(srcdir)/parse.h $(top_builddir)/config.h
@@ -3086,7 +3091,7 @@ toke.lo: $(devdir)/toke.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(srcdir)/toke.h $(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(devdir)/toke.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(devdir)/toke.c
toke.i: $(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 \
@@ -3109,7 +3114,7 @@ toke_util.lo: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(srcdir)/toke.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/toke_util.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/toke_util.c
toke_util.i: $(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 \
@@ -3131,7 +3136,7 @@ tsdump.o: $(srcdir)/tsdump.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
$(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/tsdump.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/tsdump.c
tsdump.i: $(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 \
@@ -3153,7 +3158,7 @@ tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \
$(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(srcdir)/tsgetgrpw.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/tsgetgrpw.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/tsgetgrpw.c
tsgetgrpw.i: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -3168,7 +3173,7 @@ tsgetgrpw.i: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \
tsgetgrpw.plog: tsgetgrpw.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tsgetgrpw.c --i-file $< --output-file $@
unesc_str.lo: $(srcdir)/unesc_str.c
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/unesc_str.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/unesc_str.c
unesc_str.i: $(srcdir)/unesc_str.c
$(CC) -E -o $@ $(CPPFLAGS) $<
unesc_str.plog: unesc_str.i
@@ -3183,7 +3188,7 @@ visudo.o: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \
$(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(srcdir)/sudoers_version.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/visudo.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/visudo.c
visudo.i: $(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 \
diff --git a/plugins/sudoers/audit.c b/plugins/sudoers/audit.c
index 090e9eea1..f72d5b87d 100644
--- a/plugins/sudoers/audit.c
+++ b/plugins/sudoers/audit.c
@@ -181,7 +181,7 @@ sudoers_audit_open(unsigned int version, sudo_conv_t conversation,
info.settings = settings;
info.user_info = user_info;
info.plugin_args = plugin_options;
- ret = sudoers_init(&info, submit_envp);
+ ret = sudoers_init(&info, log_parse_error, submit_envp);
if (ret == true) {
/* Unset close function if we don't need it to avoid extra process. */
diff --git a/plugins/sudoers/auth/kerb5.c b/plugins/sudoers/auth/kerb5.c
index 6bb00a804..b45421841 100644
--- a/plugins/sudoers/auth/kerb5.c
+++ b/plugins/sudoers/auth/kerb5.c
@@ -92,6 +92,11 @@ sudo_krb5_setup(struct passwd *pw, char **promptp, sudo_auth *auth)
static char *krb5_prompt;
debug_decl(sudo_krb5_init, SUDOERS_DEBUG_AUTH);
+ /* Don't override the prompt if the user specified their own. */
+ if (strcmp(*promptp, PASSPROMPT) != 0) {
+ debug_return_int(AUTH_SUCCESS);
+ }
+
if (krb5_prompt == NULL) {
krb5_context sudo_context;
krb5_principal princ;
@@ -112,14 +117,11 @@ sudo_krb5_setup(struct passwd *pw, char **promptp, sudo_auth *auth)
debug_return_int(AUTH_FAILURE);
}
- /* Only rewrite prompt if user didn't specify their own. */
- /*if (!strcmp(prompt, PASSPROMPT)) { */
- if (asprintf(&krb5_prompt, "Password for %s: ", pname) == -1) {
- log_warningx(0, N_("unable to allocate memory"));
- free(pname);
- debug_return_int(AUTH_FATAL);
- }
- /*}*/
+ if (asprintf(&krb5_prompt, "Password for %s: ", pname) == -1) {
+ log_warningx(0, N_("unable to allocate memory"));
+ free(pname);
+ debug_return_int(AUTH_FATAL);
+ }
free(pname);
}
*promptp = krb5_prompt;
diff --git a/plugins/sudoers/check.c b/plugins/sudoers/check.c
index 21dc2e4da..6f5d9cc0a 100644
--- a/plugins/sudoers/check.c
+++ b/plugins/sudoers/check.c
@@ -190,6 +190,9 @@ check_user(int validated, int mode)
#ifdef HAVE_SELINUX
if (user_role == NULL && user_type == NULL)
#endif
+#ifdef HAVE_APPARMOR
+ if (user_apparmor_profile == NULL)
+#endif
#ifdef HAVE_PRIV_SET
if (runas_privs == NULL && runas_limitprivs == NULL)
#endif
diff --git a/plugins/sudoers/check_aliases.c b/plugins/sudoers/check_aliases.c
index e00f17e9e..959a220cc 100644
--- a/plugins/sudoers/check_aliases.c
+++ b/plugins/sudoers/check_aliases.c
@@ -1,7 +1,8 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2004-2005, 2007-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2004-2005, 2007-2018, 2021-2022
+ * Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -37,6 +38,8 @@ struct alias_warned {
};
SLIST_HEAD(alias_warned_list, alias_warned);
+static bool alias_warnx(const char *file, int line, int column, bool strict, bool quiet, const char *fmt, ...) __printflike(6, 7);
+
static bool
alias_warned(struct alias_warned_list *warned, char *name)
{
@@ -66,6 +69,44 @@ alias_warned_add(struct alias_warned_list *warned, char *name)
debug_return;
}
+static bool
+alias_warnx(const char *file, int line, int column, bool strict, bool quiet,
+ const char *fmt, ...)
+{
+ bool ret = true;
+ va_list ap;
+ debug_decl(alias_warnx, SUDOERS_DEBUG_ALIAS);
+
+ if (strict && sudoers_error_hook != NULL) {
+ va_start(ap, fmt);
+ ret = sudoers_error_hook(file, line, column, fmt, ap);
+ va_end(ap);
+ }
+
+ if (!quiet) {
+ int oldlocale;
+ char *errstr;
+
+ sudoers_setlocale(SUDOERS_LOCALE_USER, &oldlocale);
+ va_start(ap, fmt);
+ if (vasprintf(&errstr, _(fmt), ap) == -1) {
+ errstr = NULL;
+ ret = false;
+ } else if (line > 0) {
+ sudo_printf(SUDO_CONV_ERROR_MSG, _("%s:%d:%d: %s\n"), file,
+ line, column, errstr);
+ } else {
+ sudo_printf(SUDO_CONV_ERROR_MSG, _("%s: %s\n"), file, errstr);
+ }
+ va_end(ap);
+ sudoers_setlocale(oldlocale, NULL);
+
+ free(errstr);
+ }
+
+ debug_return_bool(ret);
+}
+
static int
check_alias(struct sudoers_parse_tree *parse_tree,
struct alias_warned_list *warned, char *name, int type,
@@ -86,22 +127,14 @@ check_alias(struct sudoers_parse_tree *parse_tree,
}
alias_put(a);
} else {
- if (!quiet && !alias_warned(warned, name)) {
+ if (!alias_warned(warned, name)) {
if (errno == ELOOP) {
- sudo_printf(SUDO_CONV_ERROR_MSG, strict ?
- U_("Error: %s:%d:%d: cycle in %s \"%s\"") :
- U_("Warning: %s:%d:%d: cycle in %s \"%s\""),
- file, line, column, alias_type_to_string(type), name);
+ alias_warnx(file, line, column, strict, quiet,
+ N_("cycle in %s \"%s\""), alias_type_to_string(type), name);
} else {
- sudo_printf(SUDO_CONV_ERROR_MSG, strict ?
- U_("Error: %s:%d:%d: %s \"%s\" referenced but not defined") :
- U_("Warning: %s:%d:%d: %s \"%s\" referenced but not defined"),
- file, line, column, alias_type_to_string(type), name);
- }
- sudo_printf(SUDO_CONV_ERROR_MSG, "\n");
- if (strict && errorfile == NULL) {
- errorfile = sudo_rcstr_addref(file);
- errorlineno = line;
+ alias_warnx(file, line, column, strict, quiet,
+ N_("%s \"%s\" referenced but not defined"),
+ alias_type_to_string(type), name);
}
alias_warned_add(warned, name);
}
@@ -114,6 +147,7 @@ check_alias(struct sudoers_parse_tree *parse_tree,
/*
* Iterate through the sudoers datastructures looking for undefined
* aliases or unused aliases.
+ * In strict mode, returns the number of errors, else 0.
*/
int
check_aliases(struct sudoers_parse_tree *parse_tree, bool strict, bool quiet,
diff --git a/plugins/sudoers/cvtsudoers.c b/plugins/sudoers/cvtsudoers.c
index 6c9114e18..847c5c750 100644
--- a/plugins/sudoers/cvtsudoers.c
+++ b/plugins/sudoers/cvtsudoers.c
@@ -753,19 +753,8 @@ parse_sudoers(const char *input_file, struct cvtsudoers_config *conf)
if (sudoersparse() && !parse_error) {
sudo_warnx(U_("failed to parse %s file, unknown error"), input_file);
parse_error = true;
- sudo_rcstr_delref(errorfile);
- if ((errorfile = sudo_rcstr_dup(input_file)) == NULL)
- sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
- }
- if (parse_error) {
- if (errorlineno != -1)
- sudo_warnx(U_("parse error in %s near line %d\n"),
- errorfile, errorlineno);
- else if (errorfile != NULL)
- sudo_warnx(U_("parse error in %s\n"), errorfile);
- debug_return_bool(false);
}
- debug_return_bool(true);
+ debug_return_bool(!parse_error);
}
FILE *
diff --git a/plugins/sudoers/cvtsudoers_csv.c b/plugins/sudoers/cvtsudoers_csv.c
index bcfa28d9f..63512c5dc 100644
--- a/plugins/sudoers/cvtsudoers_csv.c
+++ b/plugins/sudoers/cvtsudoers_csv.c
@@ -553,6 +553,14 @@ print_cmndspec_csv(FILE *fp, struct sudoers_parse_tree *parse_tree,
}
#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) {
@@ -566,12 +574,15 @@ print_cmndspec_csv(FILE *fp, struct sudoers_parse_tree *parse_tree,
}
}
#endif /* HAVE_PRIV_SET */
+#ifdef __clang_analyzer__
+ (void)&need_comma;
+#endif
putc('"', fp);
putc(',', fp);
/*
* Merge adjacent commands with matching tags, runas, SELinux
- * role/type and Solaris priv settings.
+ * role/type, AppArmor profiles and Solaris priv settings.
*/
for (;;) {
/* Does the next entry differ only in the command itself? */
@@ -585,6 +596,9 @@ print_cmndspec_csv(FILE *fp, struct sudoers_parse_tree *parse_tree,
#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) {
diff --git a/plugins/sudoers/cvtsudoers_json.c b/plugins/sudoers/cvtsudoers_json.c
index 10386617e..a89ef82b3 100644
--- a/plugins/sudoers/cvtsudoers_json.c
+++ b/plugins/sudoers/cvtsudoers_json.c
@@ -581,6 +581,9 @@ cmndspec_continues(struct cmndspec *cs, struct cmndspec *next)
#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;
}
@@ -755,6 +758,16 @@ print_cmndspec_json(struct json_container *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) {
diff --git a/plugins/sudoers/cvtsudoers_ldif.c b/plugins/sudoers/cvtsudoers_ldif.c
index a71890b95..91acfcd86 100644
--- a/plugins/sudoers/cvtsudoers_ldif.c
+++ b/plugins/sudoers/cvtsudoers_ldif.c
@@ -460,6 +460,18 @@ print_cmndspec_ldif(FILE *fp, struct sudoers_parse_tree *parse_tree,
}
#endif /* HAVE_SELINUX */
+#ifdef HAVE_APPARMOR
+ /* Print AppArmor profile */
+ if (cs->apparmor_profile != NULL) {
+ if (asprintf(&attr_val, "apparmor_profile=%s", cs->apparmor_profile) == -1) {
+ sudo_fatalx(U_("%s: %s"), __func__,
+ U_("unable to allocate memory"));
+ }
+ print_attribute_ldif(fp, "sudoOption", attr_val);
+ free(attr_val);
+ }
+#endif /* HAVE_APPARMOR */
+
#ifdef HAVE_PRIV_SET
/* Print Solaris privs/limitprivs */
if (cs->privs != NULL || cs->limitprivs != NULL) {
diff --git a/plugins/sudoers/cvtsudoers_merge.c b/plugins/sudoers/cvtsudoers_merge.c
index 5093a0fa5..dde5b9b37 100644
--- a/plugins/sudoers/cvtsudoers_merge.c
+++ b/plugins/sudoers/cvtsudoers_merge.c
@@ -976,6 +976,14 @@ cmndspec_equivalent(struct cmndspec *cs1, struct cmndspec *cs2, bool check_negat
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)
diff --git a/plugins/sudoers/def_data.c b/plugins/sudoers/def_data.c
index e5a80e2b8..41de8fc0b 100644
--- a/plugins/sudoers/def_data.c
+++ b/plugins/sudoers/def_data.c
@@ -44,6 +44,12 @@ static struct def_values def_data_log_format[] = {
{ NULL, 0 },
};
+static struct def_values def_data_intercept_type[] = {
+ { "dso", dso },
+ { "trace", trace },
+ { NULL, 0 },
+};
+
struct sudo_defs_types sudo_defs_table[] = {
{
"syslog", T_LOGFAC|T_BOOL,
@@ -658,6 +664,14 @@ struct sudo_defs_types sudo_defs_table[] = {
N_("List of regular expressions to use when matching a password prompt"),
NULL,
}, {
+ "intercept_type", T_TUPLE,
+ N_("The mechanism used by the intercept and log_subcmds options: %s"),
+ def_data_intercept_type,
+ }, {
+ "apparmor_profile", T_STR,
+ N_("AppArmor profile to use in the new security context: %s"),
+ NULL,
+ }, {
NULL, 0, NULL
}
};
diff --git a/plugins/sudoers/def_data.h b/plugins/sudoers/def_data.h
index 4795177bb..38de4386b 100644
--- a/plugins/sudoers/def_data.h
+++ b/plugins/sudoers/def_data.h
@@ -306,6 +306,10 @@
#define def_log_passwords (sudo_defs_table[I_LOG_PASSWORDS].sd_un.flag)
#define I_PASSPROMPT_REGEX 152
#define def_passprompt_regex (sudo_defs_table[I_PASSPROMPT_REGEX].sd_un.list)
+#define I_INTERCEPT_TYPE 153
+#define def_intercept_type (sudo_defs_table[I_INTERCEPT_TYPE].sd_un.tuple)
+#define I_APPARMOR_PROFILE 154
+#define def_apparmor_profile (sudo_defs_table[I_APPARMOR_PROFILE].sd_un.str)
enum def_tuple {
never,
@@ -319,5 +323,7 @@ enum def_tuple {
tty,
kernel,
sudo,
- json
+ json,
+ dso,
+ trace
};
diff --git a/plugins/sudoers/def_data.in b/plugins/sudoers/def_data.in
index d0cc1780d..6372048c9 100644
--- a/plugins/sudoers/def_data.in
+++ b/plugins/sudoers/def_data.in
@@ -475,3 +475,10 @@ log_passwords
passprompt_regex
T_LIST|T_SPACE|T_BOOL
"List of regular expressions to use when matching a password prompt"
+intercept_type
+ T_TUPLE
+ "The mechanism used by the intercept and log_subcmds options: %s"
+ dso trace
+apparmor_profile
+ T_STR
+ "AppArmor profile to use in the new security context: %s" \ No newline at end of file
diff --git a/plugins/sudoers/defaults.c b/plugins/sudoers/defaults.c
index 3159a19fa..ec6b64fe9 100644
--- a/plugins/sudoers/defaults.c
+++ b/plugins/sudoers/defaults.c
@@ -73,6 +73,7 @@ static bool store_timespec(const char *str, struct sudo_defs_types *def);
static bool store_rlimit(const char *str, struct sudo_defs_types *def);
static bool list_op(const char *str, size_t, struct list_members *list, enum list_ops op);
static bool valid_path(struct sudo_defs_types *def, const char *val, const char *file, int line, int column, bool quiet);
+static bool defaults_warnx(const char *file, int line, int column, bool quiet, const char *fmt, ...) __printflike(5, 6);
/*
* Table describing compile-time and run-time options.
@@ -185,17 +186,9 @@ find_default(const char *name, const char *file, int line, int column, bool quie
if (strcmp(name, sudo_defs_table[i].name) == 0)
debug_return_int(i);
}
- if (!quiet && !def_ignore_unknown_defaults) {
- if (line > 0) {
- sudo_warnx(U_("%s:%d:%d: unknown defaults entry \"%s\""),
- file, line, column + 1, name);
- } else {
- sudo_warnx(U_("%s: unknown defaults entry \"%s\""),
- file, name);
- }
- } else {
- sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO,
- "%s: unknown defaults entry \"%s\"", __func__, name);
+ if (!def_ignore_unknown_defaults) {
+ defaults_warnx(file, line, column, quiet,
+ N_("unknown defaults entry \"%s\""), name);
}
debug_return_int(-1);
}
@@ -237,15 +230,8 @@ parse_default_entry(struct sudo_defs_types *def, const char *val, int op,
break;
default:
if (!ISSET(def->type, T_BOOL) || op != false) {
- if (!quiet) {
- if (line > 0) {
- sudo_warnx(U_("%s:%d:%d: no value specified for \"%s\""),
- file, line, column, def->name);
- } else {
- sudo_warnx(U_("%s: no value specified for \"%s\""),
- file, def->name);
- }
- }
+ defaults_warnx(file, line, column, quiet,
+ N_("no value specified for \"%s\""), def->name);
debug_return_bool(false);
}
}
@@ -253,15 +239,8 @@ parse_default_entry(struct sudo_defs_types *def, const char *val, int op,
/* Only lists support append/remove. */
if ((op == '+' || op == '-') && (def->type & T_MASK) != T_LIST) {
- if (!quiet) {
- if (line > 0) {
- sudo_warnx(U_("%s:%d:%d: invalid operator \"%c=\" for \"%s\""),
- file, line, column, op, def->name);
- } else {
- sudo_warnx(U_("%s: invalid operator \"%c=\" for \"%s\""),
- file, op, def->name);
- }
- }
+ defaults_warnx(file, line, column, quiet,
+ N_("invalid operator \"%c=\" for \"%s\""), op, def->name);
debug_return_bool(false);
}
@@ -292,15 +271,8 @@ parse_default_entry(struct sudo_defs_types *def, const char *val, int op,
break;
case T_FLAG:
if (val != NULL) {
- if (!quiet) {
- if (line > 0) {
- sudo_warnx(U_("%s:%d:%d: option \"%s\" does not take a value"),
- file, line, column, def->name);
- } else {
- sudo_warnx(U_("%s: option \"%s\" does not take a value"),
- file, def->name);
- }
- }
+ defaults_warnx(file, line, column, quiet,
+ N_("option \"%s\" does not take a value"), def->name);
rc = -1;
break;
}
@@ -323,28 +295,15 @@ parse_default_entry(struct sudo_defs_types *def, const char *val, int op,
rc = store_rlimit(val, def);
break;
default:
- if (!quiet) {
- if (line > 0) {
- sudo_warnx(U_("%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""),
- file, line, column, def->type, def->name);
- } else {
- sudo_warnx(U_("%s: invalid Defaults type 0x%x for option \"%s\""),
- file, def->type, def->name);
- }
- }
+ defaults_warnx(file, line, column, quiet,
+ N_("invalid Defaults type 0x%x for option \"%s\""),
+ def->type, def->name);
rc = -1;
break;
}
if (rc == false) {
- if (!quiet) {
- if (line > 0) {
- sudo_warnx(U_("%s:%d:%d: value \"%s\" is invalid for option \"%s\""),
- file, line, column, val, def->name);
- } else {
- sudo_warnx(U_("%s: value \"%s\" is invalid for option \"%s\""),
- file, val, def->name);
- }
- }
+ defaults_warnx(file, line, column, quiet,
+ N_("value \"%s\" is invalid for option \"%s\""), val, def->name);
}
debug_return_bool(rc == true);
@@ -364,13 +323,14 @@ is_early_default(const char *name)
}
static bool
-run_callback(struct sudo_defs_types *def, int op)
+run_callback(const char *file, int line, int column,
+ struct sudo_defs_types *def, int op)
{
debug_decl(run_callback, SUDOERS_DEBUG_DEFAULTS);
if (def->callback == NULL)
debug_return_bool(true);
- debug_return_bool(def->callback(&def->sd_un, op));
+ debug_return_bool(def->callback(file, line, column, &def->sd_un, op));
}
/*
@@ -392,7 +352,7 @@ set_default(const char *var, const char *val, int op, const char *file,
/* Set parsed value in sudo_defs_table and run callback (if any). */
struct sudo_defs_types *def = &sudo_defs_table[idx];
if (parse_default_entry(def, val, op, file, line, column, quiet))
- debug_return_bool(run_callback(def, op));
+ debug_return_bool(run_callback(file, line, column, def, op));
}
debug_return_bool(false);
}
@@ -413,6 +373,11 @@ set_early_default(const char *var, const char *val, int op, const char *file,
/* Set parsed value in sudo_defs_table but defer callback (if any). */
struct sudo_defs_types *def = &sudo_defs_table[idx];
if (parse_default_entry(def, val, op, file, line, column, quiet)) {
+ if (early->file != NULL)
+ sudo_rcstr_delref(early->file);
+ early->file = sudo_rcstr_addref(file);
+ early->line = line;
+ early->column = column;
early->run_callback = true;
debug_return_bool(true);
}
@@ -432,7 +397,8 @@ run_early_defaults(void)
for (early = early_defaults; early->idx != -1; early++) {
if (early->run_callback) {
- if (!run_callback(&sudo_defs_table[early->idx], true))
+ if (!run_callback(early->file, early->line, early->column,
+ &sudo_defs_table[early->idx], true))
ret = false;
early->run_callback = false;
}
@@ -582,6 +548,7 @@ init_defaults(void)
#endif
if ((def_rlimit_core = strdup("0,0")) == NULL)
goto oom;
+ def_intercept_type = dso;
def_netgroup_tuple = false;
def_sudoedit_checkdir = true;
def_iolog_mode = S_IRUSR|S_IWUSR;
@@ -968,38 +935,38 @@ store_timespec(const char *str, struct sudo_defs_types *def)
sudo_timespecclear(&ts);
if (str != NULL) {
- /* Convert from minutes to timespec. */
+ /* Convert from minutes to seconds. */
if (*str == '+' || *str == '-')
sign = *str++;
while (*str != '\0' && *str != '.') {
if (!isdigit((unsigned char)*str))
debug_return_bool(false); /* invalid number */
- /* Verify (ts.tv_sec * 10) + digit <= TIME_T_MAX. */
- i = *str++ - '0';
+ /* Verify (ts.tv_sec * 10) + (digit * 60) <= TIME_T_MAX. */
+ i = (*str++ - '0') * 60L;
if (ts.tv_sec > (TIME_T_MAX - i) / 10)
debug_return_bool(false); /* overflow */
ts.tv_sec *= 10;
ts.tv_sec += i;
}
if (*str++ == '.') {
- /* Convert optional fractional component to nanosecs. */
+ long long nsec = 0;
+
+ /* Convert optional fractional component to seconds and nanosecs. */
for (i = 100000000; i > 0; i /= 10) {
if (*str == '\0')
break;
if (!isdigit((unsigned char)*str))
debug_return_bool(false); /* invalid number */
- ts.tv_nsec += i * (*str++ - '0');
+ nsec += i * (*str++ - '0') * 60LL;
}
- }
- /* Convert from minutes to seconds. */
- if (ts.tv_sec > TIME_T_MAX / 60)
- debug_return_bool(false); /* overflow */
- ts.tv_sec *= 60;
- ts.tv_nsec *= 60;
- while (ts.tv_nsec >= 1000000000) {
- ts.tv_sec++;
- ts.tv_nsec -= 1000000000;
+ while (nsec >= 1000000000) {
+ if (ts.tv_sec == TIME_T_MAX)
+ debug_return_bool(false); /* overflow */
+ ts.tv_sec++;
+ nsec -= 1000000000;
+ }
+ ts.tv_nsec = nsec;
}
}
if (sign == '-') {
@@ -1156,45 +1123,21 @@ valid_path(struct sudo_defs_types *def, const char *val,
debug_decl(valid_path, SUDOERS_DEBUG_DEFAULTS);
if (strlen(val) >= PATH_MAX) {
- if (!quiet) {
- if (line > 0) {
- sudo_warnx(U_("%s:%d:%d: path name for \"%s\" too long"),
- file, line, column, def->name);
- } else {
- sudo_warnx(U_("%s: path name for \"%s\" too long"),
- file, def->name);
- }
- }
+ defaults_warnx(file, line, column, quiet,
+ N_("path name for \"%s\" too long"), def->name);
ret = false;
}
if (ISSET(def->type, T_CHPATH)) {
if (val[0] != '/' && val[0] != '~' && (val[0] != '*' || val[1] != '\0')) {
- if (!quiet) {
- if (line > 0) {
- sudo_warnx(
- U_("%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"),
- file, line, column, def->name);
- } else {
- sudo_warnx(
- U_("%s: values for \"%s\" must start with a '/', '~', or '*'"),
- file, def->name);
- }
- }
+ defaults_warnx(file, line, column, quiet,
+ N_("values for \"%s\" must start with a '/', '~', or '*'"),
+ def->name);
ret = false;
}
} else {
if (val[0] != '/') {
- if (!quiet) {
- if (line > 0) {
- sudo_warnx(
- U_("%s:%d:%d: values for \"%s\" must start with a '/'"),
- file, line, column, def->name);
- } else {
- sudo_warnx(
- U_("%s: values for \"%s\" must start with a '/'"),
- file, def->name);
- }
- }
+ defaults_warnx(file, line, column, quiet,
+ N_("values for \"%s\" must start with a '/'"), def->name);
ret = false;
}
@@ -1283,7 +1226,8 @@ oom:
}
bool
-cb_passprompt_regex(const union sudo_defs_val *sd_un, int op)
+cb_passprompt_regex(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
struct list_member *lm;
const char *errstr;
@@ -1293,7 +1237,8 @@ cb_passprompt_regex(const union sudo_defs_val *sd_un, int op)
if (op == '+' || op == true) {
SLIST_FOREACH(lm, &sd_un->list, entries) {
if (!sudo_regex_compile(NULL, lm->value, &errstr)) {
- sudo_warnx(U_("invalid regular expression \"%s\": %s"),
+ defaults_warnx(file, line, column, false,
+ U_("invalid regular expression \"%s\": %s"),
lm->value, U_(errstr));
debug_return_bool(false);
}
@@ -1302,3 +1247,41 @@ cb_passprompt_regex(const union sudo_defs_val *sd_un, int op)
debug_return_bool(true);
}
+
+static bool
+defaults_warnx(const char *file, int line, int column, bool quiet,
+ const char *fmt, ...)
+{
+ bool ret = true;
+ va_list ap;
+ debug_decl(defaults_warnx, SUDOERS_DEBUG_DEFAULTS);
+
+ if (sudoers_error_hook != NULL) {
+ va_start(ap, fmt);
+ ret = sudoers_error_hook(file, line, column, fmt, ap);
+ va_end(ap);
+ }
+
+ if (!quiet) {
+ int oldlocale;
+ char *errstr;
+
+ sudoers_setlocale(SUDOERS_LOCALE_USER, &oldlocale);
+ va_start(ap, fmt);
+ if (vasprintf(&errstr, _(fmt), ap) == -1) {
+ errstr = NULL;
+ ret = false;
+ } else if (line > 0) {
+ sudo_printf(SUDO_CONV_ERROR_MSG, _("%s:%d:%d: %s\n"), file,
+ line, column, errstr);
+ } else {
+ sudo_printf(SUDO_CONV_ERROR_MSG, _("%s: %s\n"), file, errstr);
+ }
+ va_end(ap);
+ sudoers_setlocale(oldlocale, NULL);
+
+ free(errstr);
+ }
+
+ debug_return_bool(ret);
+}
diff --git a/plugins/sudoers/defaults.h b/plugins/sudoers/defaults.h
index db7cdc24e..7e9d44fb6 100644
--- a/plugins/sudoers/defaults.h
+++ b/plugins/sudoers/defaults.h
@@ -66,7 +66,7 @@ struct sudo_defs_types {
int type;
char *desc;
struct def_values *values;
- bool (*callback)(const union sudo_defs_val *, int op);
+ bool (*callback)(const char *file, int line, int column, const union sudo_defs_val *, int op);
union sudo_defs_val sd_un;
};
@@ -76,6 +76,9 @@ struct sudo_defs_types {
struct early_default {
short idx;
short run_callback;
+ short line;
+ short column;
+ char *file;
};
/*
@@ -139,7 +142,7 @@ bool set_default(const char *var, const char *val, int op, const char *file, int
bool update_defaults(struct sudoers_parse_tree *parse_tree, struct defaults_list *defs, int what, bool quiet);
bool check_defaults(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(const union sudo_defs_val *sd_un, int op);
+bool cb_passprompt_regex(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
extern struct sudo_defs_types sudo_defs_table[];
diff --git a/plugins/sudoers/file.c b/plugins/sudoers/file.c
index d845f10da..3ccf14136 100644
--- a/plugins/sudoers/file.c
+++ b/plugins/sudoers/file.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2004-2005, 2007-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2004-2005, 2007-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -102,18 +102,9 @@ sudo_file_parse(struct sudo_nss *nss)
sudoersin = handle->fp;
error = sudoersparse();
- if (error || parse_error) {
- if (errorlineno != -1) {
- log_warningx(SLOG_SEND_MAIL|SLOG_NO_STDERR,
- N_("parse error in %s near line %d"), errorfile, errorlineno);
- } else {
- log_warningx(SLOG_SEND_MAIL|SLOG_NO_STDERR,
- N_("parse error in %s"), errorfile);
- }
- if (error || !sudoers_recovery) {
- /* unrecoverable error */
- debug_return_ptr(NULL);
- }
+ if (error || (parse_error && !sudoers_recovery)) {
+ /* unrecoverable error */
+ debug_return_ptr(NULL);
}
/* Move parsed sudoers policy to nss handle. */
@@ -145,6 +136,7 @@ sudo_file_getdefs(struct sudo_nss *nss)
/* sudo_nss implementation */
struct sudo_nss sudo_nss_file = {
{ NULL, NULL },
+ "sudoers",
sudo_file_open,
sudo_file_close,
sudo_file_parse,
diff --git a/plugins/sudoers/fmtsudoers.c b/plugins/sudoers/fmtsudoers.c
index e786f6636..c4152efbf 100644
--- a/plugins/sudoers/fmtsudoers.c
+++ b/plugins/sudoers/fmtsudoers.c
@@ -241,6 +241,10 @@ sudoers_format_cmndspec(struct sudo_lbuf *lbuf,
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 66bccad86..2157d072c 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-2021
+ * Copyright (c) 1996, 1998-2005, 2007-2013, 2014-2022
* Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -134,8 +134,9 @@
bool sudoers_warnings = true;
bool sudoers_strict = false;
bool parse_error = false;
-int errorlineno = -1;
-char *errorfile = NULL;
+
+/* Optional logging function for parse errors. */
+sudoers_logger_t sudoers_error_hook;
static int alias_line, alias_column;
@@ -165,7 +166,7 @@ static struct sudo_command *new_command(char *, char *);
static struct command_digest *new_digest(int, char *);
static void alias_error(const char *name, int errnum);
-#line 163 "gram.c"
+#line 164 "gram.c"
# ifndef YY_CAST
# ifdef __cplusplus
@@ -251,16 +252,17 @@ extern int sudoersdebug;
CWD = 297, /* CWD */
TYPE = 298, /* TYPE */
ROLE = 299, /* ROLE */
- PRIVS = 300, /* PRIVS */
- LIMITPRIVS = 301, /* LIMITPRIVS */
- CMND_TIMEOUT = 302, /* CMND_TIMEOUT */
- NOTBEFORE = 303, /* NOTBEFORE */
- NOTAFTER = 304, /* NOTAFTER */
- MYSELF = 305, /* MYSELF */
- SHA224_TOK = 306, /* SHA224_TOK */
- SHA256_TOK = 307, /* SHA256_TOK */
- SHA384_TOK = 308, /* SHA384_TOK */
- SHA512_TOK = 309 /* SHA512_TOK */
+ APPARMOR_PROFILE = 300, /* APPARMOR_PROFILE */
+ PRIVS = 301, /* PRIVS */
+ LIMITPRIVS = 302, /* LIMITPRIVS */
+ CMND_TIMEOUT = 303, /* CMND_TIMEOUT */
+ NOTBEFORE = 304, /* NOTBEFORE */
+ NOTAFTER = 305, /* NOTAFTER */
+ MYSELF = 306, /* MYSELF */
+ SHA224_TOK = 307, /* SHA224_TOK */
+ SHA256_TOK = 308, /* SHA256_TOK */
+ SHA384_TOK = 309, /* SHA384_TOK */
+ SHA512_TOK = 310 /* SHA512_TOK */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -311,22 +313,23 @@ extern int sudoersdebug;
#define CWD 297
#define TYPE 298
#define ROLE 299
-#define PRIVS 300
-#define LIMITPRIVS 301
-#define CMND_TIMEOUT 302
-#define NOTBEFORE 303
-#define NOTAFTER 304
-#define MYSELF 305
-#define SHA224_TOK 306
-#define SHA256_TOK 307
-#define SHA384_TOK 308
-#define SHA512_TOK 309
+#define APPARMOR_PROFILE 300
+#define PRIVS 301
+#define LIMITPRIVS 302
+#define CMND_TIMEOUT 303
+#define NOTBEFORE 304
+#define NOTAFTER 305
+#define MYSELF 306
+#define SHA224_TOK 307
+#define SHA256_TOK 308
+#define SHA384_TOK 309
+#define SHA512_TOK 310
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
-#line 86 "gram.y"
+#line 87 "gram.y"
struct cmndspec *cmndspec;
struct defaults *defaults;
@@ -340,7 +343,7 @@ union YYSTYPE
char *string;
int tok;
-#line 338 "gram.c"
+#line 341 "gram.c"
};
typedef union YYSTYPE YYSTYPE;
@@ -414,70 +417,72 @@ enum yysymbol_kind_t
YYSYMBOL_CWD = 51, /* CWD */
YYSYMBOL_TYPE = 52, /* TYPE */
YYSYMBOL_ROLE = 53, /* ROLE */
- YYSYMBOL_PRIVS = 54, /* PRIVS */
- YYSYMBOL_LIMITPRIVS = 55, /* LIMITPRIVS */
- YYSYMBOL_CMND_TIMEOUT = 56, /* CMND_TIMEOUT */
- YYSYMBOL_NOTBEFORE = 57, /* NOTBEFORE */
- YYSYMBOL_NOTAFTER = 58, /* NOTAFTER */
- YYSYMBOL_MYSELF = 59, /* MYSELF */
- YYSYMBOL_SHA224_TOK = 60, /* SHA224_TOK */
- YYSYMBOL_SHA256_TOK = 61, /* SHA256_TOK */
- YYSYMBOL_SHA384_TOK = 62, /* SHA384_TOK */
- YYSYMBOL_SHA512_TOK = 63, /* SHA512_TOK */
- YYSYMBOL_YYACCEPT = 64, /* $accept */
- YYSYMBOL_file = 65, /* file */
- YYSYMBOL_line = 66, /* line */
- YYSYMBOL_entry = 67, /* entry */
- YYSYMBOL_include = 68, /* include */
- YYSYMBOL_includedir = 69, /* includedir */
- YYSYMBOL_defaults_list = 70, /* defaults_list */
- YYSYMBOL_defaults_entry = 71, /* defaults_entry */
- YYSYMBOL_privileges = 72, /* privileges */
- YYSYMBOL_privilege = 73, /* privilege */
- YYSYMBOL_ophost = 74, /* ophost */
- YYSYMBOL_host = 75, /* host */
- YYSYMBOL_cmndspeclist = 76, /* cmndspeclist */
- YYSYMBOL_cmndspec = 77, /* cmndspec */
- YYSYMBOL_digestspec = 78, /* digestspec */
- YYSYMBOL_digestlist = 79, /* digestlist */
- YYSYMBOL_digcmnd = 80, /* digcmnd */
- YYSYMBOL_opcmnd = 81, /* opcmnd */
- YYSYMBOL_chdirspec = 82, /* chdirspec */
- YYSYMBOL_chrootspec = 83, /* chrootspec */
- YYSYMBOL_timeoutspec = 84, /* timeoutspec */
- YYSYMBOL_notbeforespec = 85, /* notbeforespec */
- YYSYMBOL_notafterspec = 86, /* notafterspec */
- YYSYMBOL_rolespec = 87, /* rolespec */
- YYSYMBOL_typespec = 88, /* typespec */
- YYSYMBOL_privsspec = 89, /* privsspec */
- YYSYMBOL_limitprivsspec = 90, /* limitprivsspec */
- YYSYMBOL_runasspec = 91, /* runasspec */
- YYSYMBOL_runaslist = 92, /* runaslist */
- YYSYMBOL_reserved_word = 93, /* reserved_word */
- YYSYMBOL_reserved_alias = 94, /* reserved_alias */
- YYSYMBOL_options = 95, /* options */
- YYSYMBOL_cmndtag = 96, /* cmndtag */
- YYSYMBOL_cmnd = 97, /* cmnd */
- YYSYMBOL_hostaliases = 98, /* hostaliases */
- YYSYMBOL_hostalias = 99, /* hostalias */
- YYSYMBOL_100_1 = 100, /* $@1 */
- YYSYMBOL_hostlist = 101, /* hostlist */
- YYSYMBOL_cmndaliases = 102, /* cmndaliases */
- YYSYMBOL_cmndalias = 103, /* cmndalias */
- YYSYMBOL_104_2 = 104, /* $@2 */
- YYSYMBOL_cmndlist = 105, /* cmndlist */
- YYSYMBOL_runasaliases = 106, /* runasaliases */
- YYSYMBOL_runasalias = 107, /* runasalias */
- YYSYMBOL_108_3 = 108, /* $@3 */
- YYSYMBOL_useraliases = 109, /* useraliases */
- YYSYMBOL_useralias = 110, /* useralias */
- YYSYMBOL_111_4 = 111, /* $@4 */
- YYSYMBOL_userlist = 112, /* userlist */
- YYSYMBOL_opuser = 113, /* opuser */
- YYSYMBOL_user = 114, /* user */
- YYSYMBOL_grouplist = 115, /* grouplist */
- YYSYMBOL_opgroup = 116, /* opgroup */
- YYSYMBOL_group = 117 /* group */
+ YYSYMBOL_APPARMOR_PROFILE = 54, /* APPARMOR_PROFILE */
+ YYSYMBOL_PRIVS = 55, /* PRIVS */
+ YYSYMBOL_LIMITPRIVS = 56, /* LIMITPRIVS */
+ YYSYMBOL_CMND_TIMEOUT = 57, /* CMND_TIMEOUT */
+ YYSYMBOL_NOTBEFORE = 58, /* NOTBEFORE */
+ YYSYMBOL_NOTAFTER = 59, /* NOTAFTER */
+ YYSYMBOL_MYSELF = 60, /* MYSELF */
+ YYSYMBOL_SHA224_TOK = 61, /* SHA224_TOK */
+ YYSYMBOL_SHA256_TOK = 62, /* SHA256_TOK */
+ YYSYMBOL_SHA384_TOK = 63, /* SHA384_TOK */
+ YYSYMBOL_SHA512_TOK = 64, /* SHA512_TOK */
+ YYSYMBOL_YYACCEPT = 65, /* $accept */
+ YYSYMBOL_file = 66, /* file */
+ YYSYMBOL_line = 67, /* line */
+ YYSYMBOL_entry = 68, /* entry */
+ YYSYMBOL_include = 69, /* include */
+ YYSYMBOL_includedir = 70, /* includedir */
+ YYSYMBOL_defaults_list = 71, /* defaults_list */
+ YYSYMBOL_defaults_entry = 72, /* defaults_entry */
+ YYSYMBOL_privileges = 73, /* privileges */
+ YYSYMBOL_privilege = 74, /* privilege */
+ YYSYMBOL_ophost = 75, /* ophost */
+ YYSYMBOL_host = 76, /* host */
+ YYSYMBOL_cmndspeclist = 77, /* cmndspeclist */
+ YYSYMBOL_cmndspec = 78, /* cmndspec */
+ YYSYMBOL_digestspec = 79, /* digestspec */
+ YYSYMBOL_digestlist = 80, /* digestlist */
+ YYSYMBOL_digcmnd = 81, /* digcmnd */
+ YYSYMBOL_opcmnd = 82, /* opcmnd */
+ YYSYMBOL_chdirspec = 83, /* chdirspec */
+ YYSYMBOL_chrootspec = 84, /* chrootspec */
+ YYSYMBOL_timeoutspec = 85, /* timeoutspec */
+ YYSYMBOL_notbeforespec = 86, /* notbeforespec */
+ YYSYMBOL_notafterspec = 87, /* notafterspec */
+ YYSYMBOL_rolespec = 88, /* rolespec */
+ YYSYMBOL_typespec = 89, /* typespec */
+ YYSYMBOL_apparmor_profilespec = 90, /* apparmor_profilespec */
+ YYSYMBOL_privsspec = 91, /* privsspec */
+ YYSYMBOL_limitprivsspec = 92, /* limitprivsspec */
+ YYSYMBOL_runasspec = 93, /* runasspec */
+ YYSYMBOL_runaslist = 94, /* runaslist */
+ YYSYMBOL_reserved_word = 95, /* reserved_word */
+ YYSYMBOL_reserved_alias = 96, /* reserved_alias */
+ YYSYMBOL_options = 97, /* options */
+ YYSYMBOL_cmndtag = 98, /* cmndtag */
+ YYSYMBOL_cmnd = 99, /* cmnd */
+ YYSYMBOL_hostaliases = 100, /* hostaliases */
+ YYSYMBOL_hostalias = 101, /* hostalias */
+ YYSYMBOL_102_1 = 102, /* $@1 */
+ YYSYMBOL_hostlist = 103, /* hostlist */
+ YYSYMBOL_cmndaliases = 104, /* cmndaliases */
+ YYSYMBOL_cmndalias = 105, /* cmndalias */
+ YYSYMBOL_106_2 = 106, /* $@2 */
+ YYSYMBOL_cmndlist = 107, /* cmndlist */
+ YYSYMBOL_runasaliases = 108, /* runasaliases */
+ YYSYMBOL_runasalias = 109, /* runasalias */
+ YYSYMBOL_110_3 = 110, /* $@3 */
+ YYSYMBOL_useraliases = 111, /* useraliases */
+ YYSYMBOL_useralias = 112, /* useralias */
+ YYSYMBOL_113_4 = 113, /* $@4 */
+ YYSYMBOL_userlist = 114, /* userlist */
+ YYSYMBOL_opuser = 115, /* opuser */
+ YYSYMBOL_user = 116, /* user */
+ YYSYMBOL_grouplist = 117, /* grouplist */
+ YYSYMBOL_opgroup = 118, /* opgroup */
+ YYSYMBOL_group = 119 /* group */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -803,21 +808,21 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 88
+#define YYFINAL 89
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 321
+#define YYLAST 332
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 64
+#define YYNTOKENS 65
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 54
+#define YYNNTS 55
/* YYNRULES -- Number of rules. */
-#define YYNRULES 151
+#define YYNRULES 154
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 250
+#define YYNSTATES 255
/* YYMAXUTOK -- Last valid token kind. */
-#define YYMAXUTOK 309
+#define YYMAXUTOK 310
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
@@ -861,29 +866,30 @@ static const yytype_int8 yytranslate[] =
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 197, 197, 200, 203, 204, 207, 210, 213, 222,
- 231, 237, 240, 243, 246, 249, 253, 257, 261, 265,
- 271, 274, 280, 283, 289, 290, 297, 306, 315, 325,
- 335, 347, 348, 353, 359, 376, 380, 386, 395, 403,
- 412, 421, 432, 433, 495, 561, 570, 579, 588, 599,
- 600, 607, 610, 624, 628, 634, 650, 666, 671, 675,
- 680, 685, 690, 694, 699, 702, 707, 723, 734, 746,
- 757, 775, 776, 777, 778, 779, 780, 781, 782, 783,
- 784, 787, 793, 796, 801, 806, 815, 824, 836, 843,
- 850, 857, 866, 869, 872, 875, 878, 881, 884, 887,
- 890, 893, 896, 899, 902, 905, 908, 911, 914, 919,
- 933, 942, 965, 966, 969, 969, 981, 984, 985, 992,
- 993, 996, 996, 1008, 1011, 1012, 1019, 1020, 1023, 1023,
- 1035, 1038, 1039, 1042, 1042, 1054, 1057, 1058, 1065, 1069,
- 1075, 1084, 1092, 1101, 1110, 1121, 1122, 1129, 1133, 1139,
- 1148, 1156
+ 0, 200, 200, 203, 206, 207, 210, 213, 216, 225,
+ 234, 240, 243, 246, 249, 252, 256, 260, 264, 268,
+ 274, 277, 283, 286, 292, 293, 300, 309, 318, 328,
+ 338, 350, 351, 356, 362, 379, 383, 389, 398, 406,
+ 415, 424, 435, 436, 498, 568, 577, 586, 595, 606,
+ 607, 614, 617, 631, 635, 641, 657, 673, 678, 682,
+ 687, 692, 697, 702, 706, 711, 714, 719, 735, 746,
+ 758, 769, 787, 788, 789, 790, 791, 792, 793, 794,
+ 795, 796, 797, 800, 806, 809, 814, 819, 828, 837,
+ 849, 856, 863, 870, 877, 886, 889, 892, 895, 898,
+ 901, 904, 907, 910, 913, 916, 919, 922, 925, 928,
+ 931, 934, 939, 953, 962, 985, 986, 989, 989, 1001,
+ 1004, 1005, 1012, 1013, 1016, 1016, 1028, 1031, 1032, 1039,
+ 1040, 1043, 1043, 1055, 1058, 1059, 1062, 1062, 1074, 1077,
+ 1078, 1085, 1089, 1095, 1104, 1112, 1121, 1130, 1141, 1142,
+ 1149, 1153, 1159, 1168, 1176
};
#endif
@@ -907,19 +913,20 @@ static const char *const yytname[] =
"NOLOG_OUTPUT", "MAIL", "NOMAIL", "FOLLOWLNK", "NOFOLLOWLNK",
"INTERCEPT", "NOINTERCEPT", "ALL", "HOSTALIAS", "CMNDALIAS", "USERALIAS",
"RUNASALIAS", "':'", "'='", "','", "'!'", "'+'", "'-'", "'('", "')'",
- "'\\n'", "ERROR", "NOMATCH", "CHROOT", "CWD", "TYPE", "ROLE", "PRIVS",
- "LIMITPRIVS", "CMND_TIMEOUT", "NOTBEFORE", "NOTAFTER", "MYSELF",
- "SHA224_TOK", "SHA256_TOK", "SHA384_TOK", "SHA512_TOK", "$accept",
- "file", "line", "entry", "include", "includedir", "defaults_list",
- "defaults_entry", "privileges", "privilege", "ophost", "host",
- "cmndspeclist", "cmndspec", "digestspec", "digestlist", "digcmnd",
- "opcmnd", "chdirspec", "chrootspec", "timeoutspec", "notbeforespec",
- "notafterspec", "rolespec", "typespec", "privsspec", "limitprivsspec",
- "runasspec", "runaslist", "reserved_word", "reserved_alias", "options",
- "cmndtag", "cmnd", "hostaliases", "hostalias", "$@1", "hostlist",
- "cmndaliases", "cmndalias", "$@2", "cmndlist", "runasaliases",
- "runasalias", "$@3", "useraliases", "useralias", "$@4", "userlist",
- "opuser", "user", "grouplist", "opgroup", "group", YY_NULLPTR
+ "'\\n'", "ERROR", "NOMATCH", "CHROOT", "CWD", "TYPE", "ROLE",
+ "APPARMOR_PROFILE", "PRIVS", "LIMITPRIVS", "CMND_TIMEOUT", "NOTBEFORE",
+ "NOTAFTER", "MYSELF", "SHA224_TOK", "SHA256_TOK", "SHA384_TOK",
+ "SHA512_TOK", "$accept", "file", "line", "entry", "include",
+ "includedir", "defaults_list", "defaults_entry", "privileges",
+ "privilege", "ophost", "host", "cmndspeclist", "cmndspec", "digestspec",
+ "digestlist", "digcmnd", "opcmnd", "chdirspec", "chrootspec",
+ "timeoutspec", "notbeforespec", "notafterspec", "rolespec", "typespec",
+ "apparmor_profilespec", "privsspec", "limitprivsspec", "runasspec",
+ "runaslist", "reserved_word", "reserved_alias", "options", "cmndtag",
+ "cmnd", "hostaliases", "hostalias", "$@1", "hostlist", "cmndaliases",
+ "cmndalias", "$@2", "cmndlist", "runasaliases", "runasalias", "$@3",
+ "useraliases", "useralias", "$@4", "userlist", "opuser", "user",
+ "grouplist", "opgroup", "group", YY_NULLPTR
};
static const char *
@@ -929,7 +936,7 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
-#define YYPACT_NINF (-114)
+#define YYPACT_NINF (-115)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -943,31 +950,32 @@ yysymbol_name (yysymbol_kind_t yysymbol)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 169, 13, -114, -114, -114, -114, 70, 87, 9, 237,
- 249, 249, 6, -114, 37, 48, 74, 110, 184, -114,
- 120, 213, -114, -114, -114, 227, -114, -114, -114, 10,
- 11, 41, 102, 18, -114, -114, -114, -114, -114, -114,
- 268, -114, -114, 8, 32, 32, -114, -114, -114, 52,
- 83, 94, 98, 99, -114, 12, -114, -114, -114, 104,
- -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
- -114, -114, 113, 100, -114, -114, 115, 132, -114, -114,
- 116, 176, -114, -114, 117, 198, -114, -114, -114, -114,
- 249, 215, -114, -23, 93, -114, 95, -114, 163, 165,
- 166, -114, 9, -114, -114, 237, 29, 36, 111, -114,
- 177, 179, 180, 199, 224, -114, 6, 235, 168, 237,
- 37, -114, 170, 6, 48, -114, 172, 249, 74, -114,
- 192, 249, 110, -114, -114, 38, -114, 174, -114, -114,
- -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
- -114, -114, -114, -114, -114, 237, 201, -114, 6, 211,
- -114, 249, 218, -114, 249, 218, -114, -114, -114, 231,
- 222, -114, -114, 201, 211, 218, 218, 107, 220, -3,
- 174, 144, -114, -114, -114, 109, 223, -114, -114, -114,
- 107, -114, 238, 240, 241, 248, 250, 252, 253, 254,
- 255, -114, -114, -114, -114, -114, -114, -114, -114, -114,
- 1, -114, 107, 223, 258, 280, 287, 288, 289, 290,
- 291, 292, 294, -114, -114, -114, -114, -114, -114, -114,
- -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
- -114, -114, -114, -114, -114, -114, -114, -114, -114, -114
+ 177, -29, -115, -115, -115, -115, 46, 47, 9, 241,
+ 245, 245, 6, -115, 32, 75, 89, 117, 192, -115,
+ 41, 221, -115, -115, -115, 69, -115, -115, -115, 10,
+ 11, 238, 96, 30, -115, -115, -115, -115, -115, -115,
+ 258, -115, -115, 8, 54, 54, -115, -115, -115, 101,
+ 21, 35, 42, 80, -115, 12, -115, -115, -115, 56,
+ -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
+ -115, -115, -115, 68, 53, -115, -115, 98, 55, -115,
+ -115, 116, 67, -115, -115, 119, 111, -115, -115, -115,
+ -115, 245, 114, -115, -3, 107, -115, 133, -115, 127,
+ 173, 174, -115, 9, -115, -115, 241, 156, 157, 161,
+ -115, 195, 196, 197, 199, 209, -115, 6, 169, 126,
+ 241, 32, -115, 178, 6, 75, -115, 180, 245, 89,
+ -115, 183, 245, 117, -115, -115, 38, -115, 172, -115,
+ -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
+ -115, -115, -115, -115, -115, -115, 241, 186, -115, 6,
+ 190, -115, 245, 200, -115, 245, 200, -115, -115, -115,
+ 235, 205, -115, -115, 186, 190, 200, 200, 153, 194,
+ 76, 172, 243, -115, -115, -115, 103, 210, -115, -115,
+ -115, 153, -115, 220, 226, 236, 240, 244, 246, 248,
+ 249, 250, 251, -115, -115, -115, -115, -115, -115, -115,
+ -115, -115, -115, 1, -115, 153, 210, 252, 276, 294,
+ 295, 296, 297, 298, 299, 300, 301, -115, -115, -115,
+ -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
+ -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
+ -115, -115, -115, -115, -115
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -975,53 +983,54 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 0, 140, 142, 143, 144, 0, 0, 0, 0,
- 0, 0, 0, 141, 0, 0, 0, 0, 0, 6,
- 0, 0, 4, 8, 9, 0, 136, 138, 7, 0,
+ 0, 0, 143, 145, 146, 147, 0, 0, 0, 0,
+ 0, 0, 0, 144, 0, 0, 0, 0, 0, 6,
+ 0, 0, 4, 8, 9, 0, 139, 141, 7, 0,
0, 26, 0, 0, 24, 37, 40, 39, 41, 38,
- 0, 117, 35, 0, 0, 0, 111, 110, 109, 0,
- 0, 0, 0, 0, 49, 0, 124, 51, 53, 0,
- 114, 71, 72, 73, 78, 77, 79, 80, 74, 75,
- 76, 81, 0, 0, 112, 121, 0, 0, 119, 133,
- 0, 0, 131, 128, 0, 0, 126, 139, 1, 5,
- 0, 0, 31, 0, 0, 20, 0, 22, 0, 0,
- 0, 27, 0, 15, 36, 0, 0, 0, 0, 54,
- 0, 0, 0, 0, 0, 52, 0, 0, 0, 0,
- 0, 12, 0, 0, 0, 13, 0, 0, 0, 11,
- 0, 0, 0, 14, 137, 0, 10, 64, 21, 23,
- 28, 29, 30, 25, 118, 18, 16, 17, 45, 46,
- 47, 48, 50, 125, 19, 0, 116, 113, 0, 123,
- 120, 0, 135, 132, 0, 130, 127, 33, 32, 66,
- 34, 42, 82, 115, 122, 134, 129, 70, 0, 67,
- 64, 92, 149, 151, 150, 0, 69, 145, 147, 65,
- 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 83, 84, 87, 85, 86, 88, 89, 90, 91,
- 0, 148, 0, 68, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 93, 94, 95, 96, 99, 100, 101,
- 102, 103, 104, 107, 108, 105, 106, 97, 98, 44,
- 146, 56, 55, 61, 60, 62, 63, 57, 58, 59
+ 0, 120, 35, 0, 0, 0, 114, 113, 112, 0,
+ 0, 0, 0, 0, 49, 0, 127, 51, 53, 0,
+ 117, 72, 73, 74, 79, 78, 82, 80, 81, 75,
+ 76, 77, 83, 0, 0, 115, 124, 0, 0, 122,
+ 136, 0, 0, 134, 131, 0, 0, 129, 142, 1,
+ 5, 0, 0, 31, 0, 0, 20, 0, 22, 0,
+ 0, 0, 27, 0, 15, 36, 0, 0, 0, 0,
+ 54, 0, 0, 0, 0, 0, 52, 0, 0, 0,
+ 0, 0, 12, 0, 0, 0, 13, 0, 0, 0,
+ 11, 0, 0, 0, 14, 140, 0, 10, 65, 21,
+ 23, 28, 29, 30, 25, 121, 18, 16, 17, 45,
+ 46, 47, 48, 50, 128, 19, 0, 119, 116, 0,
+ 126, 123, 0, 138, 135, 0, 133, 130, 33, 32,
+ 67, 34, 42, 84, 118, 125, 137, 132, 71, 0,
+ 68, 65, 95, 152, 154, 153, 0, 70, 148, 150,
+ 66, 0, 43, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 85, 86, 89, 87, 88, 90, 91,
+ 92, 93, 94, 0, 151, 0, 69, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 96, 97, 98,
+ 99, 102, 103, 104, 105, 106, 107, 110, 111, 108,
+ 109, 100, 101, 44, 149, 56, 55, 61, 60, 62,
+ 63, 64, 57, 58, 59
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -114, -114, -114, 283, -114, -114, 91, 203, -114, 171,
- 202, 269, -114, 128, 196, -114, -113, 256, -114, -114,
- -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
- -9, -114, -114, 263, -114, 193, -114, -7, -114, 190,
- -114, -48, -114, 183, -114, -114, 188, -114, -10, 228,
- 299, 129, 108, 136
+ -115, -115, -115, 290, -115, -115, 120, 211, -115, 176,
+ 207, 275, -115, 135, 202, -115, -114, 263, -115, -115,
+ -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
+ -115, -9, -115, -115, 270, -115, 201, -115, -7, -115,
+ 198, -115, -107, -115, 187, -115, -115, 203, -115, -10,
+ 230, 306, 134, 112, 140
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_uint8 yydefgoto[] =
{
- 0, 20, 21, 22, 23, 24, 33, 34, 91, 92,
- 41, 42, 170, 171, 54, 55, 56, 57, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 172, 178, 71,
- 72, 181, 210, 58, 73, 74, 118, 93, 77, 78,
- 122, 59, 85, 86, 130, 81, 82, 126, 25, 26,
- 27, 186, 187, 188
+ 0, 20, 21, 22, 23, 24, 33, 34, 92, 93,
+ 41, 42, 171, 172, 54, 55, 56, 57, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 173, 179,
+ 72, 73, 182, 213, 58, 74, 75, 119, 94, 78,
+ 79, 123, 59, 86, 87, 131, 82, 83, 127, 25,
+ 26, 27, 187, 188, 189
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1029,76 +1038,78 @@ static const yytype_uint8 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 44, 45, 43, 153, 46, 47, 76, 80, 84, 46,
- 47, 94, 96, 31, 31, 46, 47, 137, 105, 223,
- 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
- 234, 235, 236, 237, 238, 48, 190, 31, 90, 167,
- 48, 60, 35, 49, 36, 37, 48, 38, 49, 105,
- 32, 32, 75, 114, 49, 46, 47, 95, 97, 102,
- 28, 50, 51, 52, 53, 103, 50, 51, 52, 53,
- 102, 61, 39, 90, 32, 159, 145, 102, 79, 29,
- 40, 98, 61, 146, 99, 100, 48, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 30, 239, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 101, 61, 31,
- 174, 182, 156, 182, 83, 76, 183, 162, 183, 80,
- 88, 165, 110, 84, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 111, 106, 107, 108, 112, 113, 120,
- 138, 184, 139, 184, 61, 116, 32, 121, 173, 185,
- 117, 175, 102, 119, 176, 123, 127, 131, 147, 179,
- 62, 63, 64, 65, 66, 67, 68, 69, 70, -2,
- 1, 124, 140, 2, 141, 142, 3, 4, 5, 125,
- 6, 7, 8, 9, 10, 11, 12, 148, 2, 149,
- 150, 3, 4, 5, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 13, 14, 15, 16, 17, 155, 151,
- 158, 18, 161, -3, 1, 128, 19, 2, 13, 169,
- 3, 4, 5, 129, 6, 7, 8, 9, 10, 11,
- 12, 35, 164, 36, 37, 2, 38, 132, 3, 4,
- 5, 35, 105, 36, 37, 133, 38, 13, 14, 15,
- 16, 17, 116, 2, 135, 18, 3, 4, 5, 90,
- 19, 39, 136, 180, 212, 13, 189, 241, 90, 40,
- 177, 39, 35, 18, 36, 37, 102, 38, 214, 40,
- 215, 216, 154, 13, 50, 51, 52, 53, 217, 242,
- 218, 18, 219, 220, 221, 222, 243, 244, 245, 246,
- 247, 248, 39, 249, 89, 143, 168, 144, 191, 104,
- 152, 115, 109, 157, 160, 166, 163, 87, 134, 213,
- 240, 211
+ 44, 45, 43, 154, 46, 47, 77, 81, 85, 46,
+ 47, 95, 97, 31, 31, 46, 47, 160, 28, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 48, 60, 138, 106, 168,
+ 48, 89, 35, 49, 36, 37, 48, 38, 49, 106,
+ 32, 32, 175, 115, 49, 29, 30, 96, 98, 31,
+ 111, 31, 50, 51, 52, 53, 61, 50, 51, 52,
+ 53, 103, 39, 35, 112, 36, 37, 104, 38, 76,
+ 40, 113, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 121, 80, 125, 91, 32, 117, 32, 243,
+ 122, 102, 126, 39, 46, 47, 129, 183, 120, 61,
+ 91, 40, 184, 157, 130, 191, 77, 91, 163, 114,
+ 81, 84, 166, 61, 85, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 48, 141, 185, 124, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 174,
+ 133, 61, 176, 136, 139, 177, 128, 183, 134, 132,
+ 180, 137, 184, 107, 108, 109, 156, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, -2, 1, 118,
+ 140, 2, 142, 143, 3, 4, 5, 185, 6, 7,
+ 8, 9, 10, 11, 12, 186, 2, 103, 103, 3,
+ 4, 5, 103, 146, 147, 149, 150, 151, 148, 152,
+ 103, 13, 14, 15, 16, 17, 155, 170, 159, 18,
+ 162, -3, 1, 165, 19, 2, 13, 106, 3, 4,
+ 5, 117, 6, 7, 8, 9, 10, 11, 12, 2,
+ 190, 91, 3, 4, 5, 35, 181, 36, 37, 2,
+ 38, 215, 3, 4, 5, 13, 14, 15, 16, 17,
+ 217, 245, 35, 18, 36, 37, 218, 38, 19, 13,
+ 50, 51, 52, 53, 178, 39, 219, 18, 99, 13,
+ 220, 100, 101, 40, 221, 246, 222, 18, 223, 224,
+ 225, 226, 39, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 247, 248, 249, 250, 251, 252, 253,
+ 254, 90, 169, 145, 144, 105, 192, 153, 116, 110,
+ 167, 135, 158, 161, 88, 216, 214, 244, 0, 0,
+ 0, 0, 164
};
-static const yytype_uint8 yycheck[] =
+static const yytype_int16 yycheck[] =
{
- 10, 11, 9, 116, 3, 4, 15, 16, 17, 3,
- 4, 1, 1, 5, 5, 3, 4, 40, 41, 18,
+ 10, 11, 9, 117, 3, 4, 15, 16, 17, 3,
+ 4, 1, 1, 5, 5, 3, 4, 124, 47, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 39, 5, 41, 1,
- 34, 4, 4, 42, 6, 7, 34, 9, 42, 41,
- 42, 42, 4, 41, 42, 3, 4, 47, 47, 41,
- 47, 60, 61, 62, 63, 47, 60, 61, 62, 63,
- 41, 34, 34, 41, 42, 123, 47, 41, 4, 9,
- 42, 40, 34, 47, 43, 44, 34, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 9, 210, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 5, 34, 5,
- 158, 4, 119, 4, 4, 124, 9, 127, 9, 128,
- 0, 131, 39, 132, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 39, 43, 44, 45, 39, 39, 39,
- 47, 34, 47, 34, 34, 41, 42, 47, 155, 42,
- 59, 161, 41, 40, 164, 40, 40, 40, 47, 169,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
- 1, 39, 9, 4, 9, 9, 7, 8, 9, 47,
- 11, 12, 13, 14, 15, 16, 17, 10, 4, 10,
- 10, 7, 8, 9, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 34, 35, 36, 37, 38, 40, 10,
- 40, 42, 40, 0, 1, 39, 47, 4, 34, 45,
- 7, 8, 9, 47, 11, 12, 13, 14, 15, 16,
- 17, 4, 40, 6, 7, 4, 9, 39, 7, 8,
- 9, 4, 41, 6, 7, 47, 9, 34, 35, 36,
- 37, 38, 41, 4, 39, 42, 7, 8, 9, 41,
- 47, 34, 47, 41, 41, 34, 46, 9, 41, 42,
- 39, 34, 4, 42, 6, 7, 41, 9, 40, 42,
- 40, 40, 47, 34, 60, 61, 62, 63, 40, 9,
- 40, 42, 40, 40, 40, 40, 9, 9, 9, 9,
- 9, 9, 34, 9, 21, 102, 135, 105, 180, 40,
- 114, 55, 49, 120, 124, 132, 128, 18, 90, 190,
- 212, 185
+ 29, 30, 31, 32, 33, 34, 4, 40, 41, 1,
+ 34, 0, 4, 42, 6, 7, 34, 9, 42, 41,
+ 42, 42, 159, 41, 42, 9, 9, 47, 47, 5,
+ 39, 5, 61, 62, 63, 64, 34, 61, 62, 63,
+ 64, 41, 34, 4, 39, 6, 7, 47, 9, 4,
+ 42, 39, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 39, 4, 39, 41, 42, 41, 42, 213,
+ 47, 5, 47, 34, 3, 4, 39, 4, 40, 34,
+ 41, 42, 9, 120, 47, 39, 125, 41, 128, 39,
+ 129, 4, 132, 34, 133, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 34, 9, 34, 40, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 156,
+ 39, 34, 162, 39, 47, 165, 40, 4, 47, 40,
+ 170, 47, 9, 43, 44, 45, 40, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 0, 1, 59,
+ 47, 4, 9, 9, 7, 8, 9, 34, 11, 12,
+ 13, 14, 15, 16, 17, 42, 4, 41, 41, 7,
+ 8, 9, 41, 47, 47, 10, 10, 10, 47, 10,
+ 41, 34, 35, 36, 37, 38, 47, 45, 40, 42,
+ 40, 0, 1, 40, 47, 4, 34, 41, 7, 8,
+ 9, 41, 11, 12, 13, 14, 15, 16, 17, 4,
+ 46, 41, 7, 8, 9, 4, 41, 6, 7, 4,
+ 9, 41, 7, 8, 9, 34, 35, 36, 37, 38,
+ 40, 9, 4, 42, 6, 7, 40, 9, 47, 34,
+ 61, 62, 63, 64, 39, 34, 40, 42, 40, 34,
+ 40, 43, 44, 42, 40, 9, 40, 42, 40, 40,
+ 40, 40, 34, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 9, 9, 9, 9, 9, 9, 9,
+ 9, 21, 136, 106, 103, 40, 181, 115, 55, 49,
+ 133, 91, 121, 125, 18, 191, 186, 215, -1, -1,
+ -1, -1, 129
};
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
@@ -1107,50 +1118,51 @@ static const yytype_int8 yystos[] =
{
0, 1, 4, 7, 8, 9, 11, 12, 13, 14,
15, 16, 17, 34, 35, 36, 37, 38, 42, 47,
- 65, 66, 67, 68, 69, 112, 113, 114, 47, 9,
- 9, 5, 42, 70, 71, 4, 6, 7, 9, 34,
- 42, 74, 75, 101, 112, 112, 3, 4, 34, 42,
- 60, 61, 62, 63, 78, 79, 80, 81, 97, 105,
+ 66, 67, 68, 69, 70, 114, 115, 116, 47, 9,
+ 9, 5, 42, 71, 72, 4, 6, 7, 9, 34,
+ 42, 75, 76, 103, 114, 114, 3, 4, 34, 42,
+ 61, 62, 63, 64, 79, 80, 81, 82, 99, 107,
4, 34, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 93, 94, 98, 99, 4, 94, 102, 103, 4,
- 94, 109, 110, 4, 94, 106, 107, 114, 0, 67,
- 41, 72, 73, 101, 1, 47, 1, 47, 40, 43,
- 44, 5, 41, 47, 75, 41, 70, 70, 70, 97,
- 39, 39, 39, 39, 41, 81, 41, 70, 100, 40,
- 39, 47, 104, 40, 39, 47, 111, 40, 39, 47,
- 108, 40, 39, 47, 113, 39, 47, 40, 47, 47,
- 9, 9, 9, 71, 74, 47, 47, 47, 10, 10,
- 10, 10, 78, 80, 47, 40, 101, 99, 40, 105,
- 103, 40, 112, 110, 40, 112, 107, 1, 73, 45,
- 76, 77, 91, 101, 105, 112, 112, 39, 92, 112,
- 41, 95, 4, 9, 34, 42, 115, 116, 117, 46,
- 39, 77, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 96, 117, 41, 115, 40, 40, 40, 40, 40, 40,
- 40, 40, 40, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 80,
- 116, 9, 9, 9, 9, 9, 9, 9, 9, 9
+ 58, 59, 95, 96, 100, 101, 4, 96, 104, 105,
+ 4, 96, 111, 112, 4, 96, 108, 109, 116, 0,
+ 68, 41, 73, 74, 103, 1, 47, 1, 47, 40,
+ 43, 44, 5, 41, 47, 76, 41, 71, 71, 71,
+ 99, 39, 39, 39, 39, 41, 82, 41, 71, 102,
+ 40, 39, 47, 106, 40, 39, 47, 113, 40, 39,
+ 47, 110, 40, 39, 47, 115, 39, 47, 40, 47,
+ 47, 9, 9, 9, 72, 75, 47, 47, 47, 10,
+ 10, 10, 10, 79, 81, 47, 40, 103, 101, 40,
+ 107, 105, 40, 114, 112, 40, 114, 109, 1, 74,
+ 45, 77, 78, 93, 103, 107, 114, 114, 39, 94,
+ 114, 41, 97, 4, 9, 34, 42, 117, 118, 119,
+ 46, 39, 78, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 98, 119, 41, 117, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 81, 118, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9
};
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
static const yytype_int8 yyr1[] =
{
- 0, 64, 65, 65, 66, 66, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 68, 68, 69, 69, 70, 70, 71, 71, 71, 71,
- 71, 72, 72, 72, 73, 74, 74, 75, 75, 75,
- 75, 75, 76, 76, 77, 78, 78, 78, 78, 79,
- 79, 80, 80, 81, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 91, 92, 92, 92, 92,
- 92, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 94, 95, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96, 96, 97,
- 97, 97, 98, 98, 100, 99, 99, 101, 101, 102,
- 102, 104, 103, 103, 105, 105, 106, 106, 108, 107,
- 107, 109, 109, 111, 110, 110, 112, 112, 113, 113,
- 114, 114, 114, 114, 114, 115, 115, 116, 116, 117,
- 117, 117
+ 0, 65, 66, 66, 67, 67, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 69, 69, 70, 70, 71, 71, 72, 72, 72, 72,
+ 72, 73, 73, 73, 74, 75, 75, 76, 76, 76,
+ 76, 76, 77, 77, 78, 79, 79, 79, 79, 80,
+ 80, 81, 81, 82, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 93, 94, 94, 94,
+ 94, 94, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 96, 97, 97, 97, 97, 97, 97,
+ 97, 97, 97, 97, 97, 98, 98, 98, 98, 98,
+ 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
+ 98, 98, 99, 99, 99, 100, 100, 102, 101, 101,
+ 103, 103, 104, 104, 106, 105, 105, 107, 107, 108,
+ 108, 110, 109, 109, 111, 111, 113, 112, 112, 114,
+ 114, 115, 115, 116, 116, 116, 116, 116, 117, 117,
+ 118, 118, 119, 119, 119
};
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
@@ -1162,16 +1174,16 @@ static const yytype_int8 yyr2[] =
3, 1, 3, 3, 3, 1, 2, 1, 1, 1,
1, 1, 1, 3, 4, 3, 3, 3, 3, 1,
3, 1, 2, 1, 2, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 0, 3, 0, 1, 3, 2,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 0, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
- 1, 1, 1, 3, 0, 4, 3, 1, 3, 1,
- 3, 0, 4, 3, 1, 3, 1, 3, 0, 4,
- 3, 1, 3, 0, 4, 3, 1, 3, 1, 2,
- 1, 1, 1, 1, 1, 1, 3, 1, 2, 1,
- 1, 1
+ 3, 3, 3, 3, 3, 0, 3, 0, 1, 3,
+ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 0, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 0, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 1, 1, 1, 1, 3, 0, 4, 3,
+ 1, 3, 1, 3, 0, 4, 3, 1, 3, 1,
+ 3, 0, 4, 3, 1, 3, 0, 4, 3, 1,
+ 3, 1, 2, 1, 1, 1, 1, 1, 1, 3,
+ 1, 2, 1, 1, 1
};
@@ -1635,31 +1647,31 @@ yyreduce:
switch (yyn)
{
case 2: /* file: %empty */
-#line 197 "gram.y"
+#line 200 "gram.y"
{
; /* empty file */
}
-#line 1637 "gram.c"
+#line 1649 "gram.c"
break;
case 6: /* entry: '\n' */
-#line 207 "gram.y"
+#line 210 "gram.y"
{
; /* blank line */
}
-#line 1645 "gram.c"
+#line 1657 "gram.c"
break;
case 7: /* entry: error '\n' */
-#line 210 "gram.y"
+#line 213 "gram.y"
{
yyerrok;
}
-#line 1653 "gram.c"
+#line 1665 "gram.c"
break;
case 8: /* entry: include */
-#line 213 "gram.y"
+#line 216 "gram.y"
{
if (!push_include((yyvsp[0].string), false)) {
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -1669,11 +1681,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
free((yyvsp[0].string));
}
-#line 1667 "gram.c"
+#line 1679 "gram.c"
break;
case 9: /* entry: includedir */
-#line 222 "gram.y"
+#line 225 "gram.y"
{
if (!push_include((yyvsp[0].string), true)) {
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -1683,143 +1695,143 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
free((yyvsp[0].string));
}
-#line 1681 "gram.c"
+#line 1693 "gram.c"
break;
case 10: /* entry: userlist privileges '\n' */
-#line 231 "gram.y"
+#line 234 "gram.y"
{
if (!add_userspec((yyvsp[-2].member), (yyvsp[-1].privilege))) {
sudoerserror(N_("unable to allocate memory"));
YYERROR;
}
}
-#line 1692 "gram.c"
+#line 1704 "gram.c"
break;
case 11: /* entry: USERALIAS useraliases '\n' */
-#line 237 "gram.y"
+#line 240 "gram.y"
{
;
}
-#line 1700 "gram.c"
+#line 1712 "gram.c"
break;
case 12: /* entry: HOSTALIAS hostaliases '\n' */
-#line 240 "gram.y"
+#line 243 "gram.y"
{
;
}
-#line 1708 "gram.c"
+#line 1720 "gram.c"
break;
case 13: /* entry: CMNDALIAS cmndaliases '\n' */
-#line 243 "gram.y"
+#line 246 "gram.y"
{
;
}
-#line 1716 "gram.c"
+#line 1728 "gram.c"
break;
case 14: /* entry: RUNASALIAS runasaliases '\n' */
-#line 246 "gram.y"
+#line 249 "gram.y"
{
;
}
-#line 1724 "gram.c"
+#line 1736 "gram.c"
break;
case 15: /* entry: DEFAULTS defaults_list '\n' */
-#line 249 "gram.y"
+#line 252 "gram.y"
{
if (!add_defaults(DEFAULTS, NULL, (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1733 "gram.c"
+#line 1745 "gram.c"
break;
case 16: /* entry: DEFAULTS_USER userlist defaults_list '\n' */
-#line 253 "gram.y"
+#line 256 "gram.y"
{
if (!add_defaults(DEFAULTS_USER, (yyvsp[-2].member), (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1742 "gram.c"
+#line 1754 "gram.c"
break;
case 17: /* entry: DEFAULTS_RUNAS userlist defaults_list '\n' */
-#line 257 "gram.y"
+#line 260 "gram.y"
{
if (!add_defaults(DEFAULTS_RUNAS, (yyvsp[-2].member), (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1751 "gram.c"
+#line 1763 "gram.c"
break;
case 18: /* entry: DEFAULTS_HOST hostlist defaults_list '\n' */
-#line 261 "gram.y"
+#line 264 "gram.y"
{
if (!add_defaults(DEFAULTS_HOST, (yyvsp[-2].member), (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1760 "gram.c"
+#line 1772 "gram.c"
break;
case 19: /* entry: DEFAULTS_CMND cmndlist defaults_list '\n' */
-#line 265 "gram.y"
+#line 268 "gram.y"
{
if (!add_defaults(DEFAULTS_CMND, (yyvsp[-2].member), (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1769 "gram.c"
+#line 1781 "gram.c"
break;
case 20: /* include: INCLUDE WORD '\n' */
-#line 271 "gram.y"
+#line 274 "gram.y"
{
(yyval.string) = (yyvsp[-1].string);
}
-#line 1777 "gram.c"
+#line 1789 "gram.c"
break;
case 21: /* include: INCLUDE WORD error '\n' */
-#line 274 "gram.y"
+#line 277 "gram.y"
{
yyerrok;
(yyval.string) = (yyvsp[-2].string);
}
-#line 1786 "gram.c"
+#line 1798 "gram.c"
break;
case 22: /* includedir: INCLUDEDIR WORD '\n' */
-#line 280 "gram.y"
+#line 283 "gram.y"
{
(yyval.string) = (yyvsp[-1].string);
}
-#line 1794 "gram.c"
+#line 1806 "gram.c"
break;
case 23: /* includedir: INCLUDEDIR WORD error '\n' */
-#line 283 "gram.y"
+#line 286 "gram.y"
{
yyerrok;
(yyval.string) = (yyvsp[-2].string);
}
-#line 1803 "gram.c"
+#line 1815 "gram.c"
break;
case 25: /* defaults_list: defaults_list ',' defaults_entry */
-#line 290 "gram.y"
+#line 293 "gram.y"
{
parser_leak_remove(LEAK_DEFAULTS, (yyvsp[0].defaults));
HLTQ_CONCAT((yyvsp[-2].defaults), (yyvsp[0].defaults), entries);
(yyval.defaults) = (yyvsp[-2].defaults);
}
-#line 1813 "gram.c"
+#line 1825 "gram.c"
break;
case 26: /* defaults_entry: DEFVAR */
-#line 297 "gram.y"
+#line 300 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[0].string), NULL, true);
if ((yyval.defaults) == NULL) {
@@ -1829,11 +1841,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1827 "gram.c"
+#line 1839 "gram.c"
break;
case 27: /* defaults_entry: '!' DEFVAR */
-#line 306 "gram.y"
+#line 309 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[0].string), NULL, false);
if ((yyval.defaults) == NULL) {
@@ -1843,11 +1855,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1841 "gram.c"
+#line 1853 "gram.c"
break;
case 28: /* defaults_entry: DEFVAR '=' WORD */
-#line 315 "gram.y"
+#line 318 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), true);
if ((yyval.defaults) == NULL) {
@@ -1858,11 +1870,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1856 "gram.c"
+#line 1868 "gram.c"
break;
case 29: /* defaults_entry: DEFVAR '+' WORD */
-#line 325 "gram.y"
+#line 328 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), '+');
if ((yyval.defaults) == NULL) {
@@ -1873,11 +1885,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1871 "gram.c"
+#line 1883 "gram.c"
break;
case 30: /* defaults_entry: DEFVAR '-' WORD */
-#line 335 "gram.y"
+#line 338 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), '-');
if ((yyval.defaults) == NULL) {
@@ -1888,30 +1900,30 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1886 "gram.c"
+#line 1898 "gram.c"
break;
case 32: /* privileges: privileges ':' privilege */
-#line 348 "gram.y"
+#line 351 "gram.y"
{
parser_leak_remove(LEAK_PRIVILEGE, (yyvsp[0].privilege));
HLTQ_CONCAT((yyvsp[-2].privilege), (yyvsp[0].privilege), entries);
(yyval.privilege) = (yyvsp[-2].privilege);
}
-#line 1896 "gram.c"
+#line 1908 "gram.c"
break;
case 33: /* privileges: privileges ':' error */
-#line 353 "gram.y"
+#line 356 "gram.y"
{
yyerrok;
(yyval.privilege) = (yyvsp[-2].privilege);
}
-#line 1905 "gram.c"
+#line 1917 "gram.c"
break;
case 34: /* privilege: hostlist '=' cmndspeclist */
-#line 359 "gram.y"
+#line 362 "gram.y"
{
struct privilege *p = calloc(1, sizeof(*p));
if (p == NULL) {
@@ -1927,29 +1939,29 @@ yyreduce:
HLTQ_INIT(p, entries);
(yyval.privilege) = p;
}
-#line 1925 "gram.c"
+#line 1937 "gram.c"
break;
case 35: /* ophost: host */
-#line 376 "gram.y"
+#line 379 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = false;
}
-#line 1934 "gram.c"
+#line 1946 "gram.c"
break;
case 36: /* ophost: '!' host */
-#line 380 "gram.y"
+#line 383 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = true;
}
-#line 1943 "gram.c"
+#line 1955 "gram.c"
break;
case 37: /* host: ALIAS */
-#line 386 "gram.y"
+#line 389 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), ALIAS);
if ((yyval.member) == NULL) {
@@ -1959,11 +1971,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 1957 "gram.c"
+#line 1969 "gram.c"
break;
case 38: /* host: ALL */
-#line 395 "gram.y"
+#line 398 "gram.y"
{
(yyval.member) = new_member(NULL, ALL);
if ((yyval.member) == NULL) {
@@ -1972,11 +1984,11 @@ yyreduce:
}
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 1970 "gram.c"
+#line 1982 "gram.c"
break;
case 39: /* host: NETGROUP */
-#line 403 "gram.y"
+#line 406 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), NETGROUP);
if ((yyval.member) == NULL) {
@@ -1986,11 +1998,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 1984 "gram.c"
+#line 1996 "gram.c"
break;
case 40: /* host: NTWKADDR */
-#line 412 "gram.y"
+#line 415 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), NTWKADDR);
if ((yyval.member) == NULL) {
@@ -2000,11 +2012,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 1998 "gram.c"
+#line 2010 "gram.c"
break;
case 41: /* host: WORD */
-#line 421 "gram.y"
+#line 424 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), WORD);
if ((yyval.member) == NULL) {
@@ -2014,11 +2026,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2012 "gram.c"
+#line 2024 "gram.c"
break;
case 43: /* cmndspeclist: cmndspeclist ',' cmndspec */
-#line 433 "gram.y"
+#line 436 "gram.y"
{
struct cmndspec *prev;
prev = HLTQ_LAST((yyvsp[-2].cmndspec), cmndspec, entries);
@@ -2079,11 +2091,11 @@ yyreduce:
}
(yyval.cmndspec) = (yyvsp[-2].cmndspec);
}
-#line 2077 "gram.c"
+#line 2089 "gram.c"
break;
case 44: /* cmndspec: runasspec options cmndtag digcmnd */
-#line 495 "gram.y"
+#line 498 "gram.y"
{
struct cmndspec *cs = calloc(1, sizeof(*cs));
if (cs == NULL) {
@@ -2125,6 +2137,10 @@ yyreduce:
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);
@@ -2148,11 +2164,11 @@ yyreduce:
cs->tags.setenv = IMPLIED;
(yyval.cmndspec) = cs;
}
-#line 2146 "gram.c"
+#line 2162 "gram.c"
break;
case 45: /* digestspec: SHA224_TOK ':' DIGEST */
-#line 561 "gram.y"
+#line 568 "gram.y"
{
(yyval.digest) = new_digest(SUDO_DIGEST_SHA224, (yyvsp[0].string));
if ((yyval.digest) == NULL) {
@@ -2162,11 +2178,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DIGEST, (yyval.digest));
}
-#line 2160 "gram.c"
+#line 2176 "gram.c"
break;
case 46: /* digestspec: SHA256_TOK ':' DIGEST */
-#line 570 "gram.y"
+#line 577 "gram.y"
{
(yyval.digest) = new_digest(SUDO_DIGEST_SHA256, (yyvsp[0].string));
if ((yyval.digest) == NULL) {
@@ -2176,11 +2192,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DIGEST, (yyval.digest));
}
-#line 2174 "gram.c"
+#line 2190 "gram.c"
break;
case 47: /* digestspec: SHA384_TOK ':' DIGEST */
-#line 579 "gram.y"
+#line 586 "gram.y"
{
(yyval.digest) = new_digest(SUDO_DIGEST_SHA384, (yyvsp[0].string));
if ((yyval.digest) == NULL) {
@@ -2190,11 +2206,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DIGEST, (yyval.digest));
}
-#line 2188 "gram.c"
+#line 2204 "gram.c"
break;
case 48: /* digestspec: SHA512_TOK ':' DIGEST */
-#line 588 "gram.y"
+#line 595 "gram.y"
{
(yyval.digest) = new_digest(SUDO_DIGEST_SHA512, (yyvsp[0].string));
if ((yyval.digest) == NULL) {
@@ -2204,29 +2220,29 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DIGEST, (yyval.digest));
}
-#line 2202 "gram.c"
+#line 2218 "gram.c"
break;
case 50: /* digestlist: digestlist ',' digestspec */
-#line 600 "gram.y"
+#line 607 "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 2212 "gram.c"
+#line 2228 "gram.c"
break;
case 51: /* digcmnd: opcmnd */
-#line 607 "gram.y"
+#line 614 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
}
-#line 2220 "gram.c"
+#line 2236 "gram.c"
break;
case 52: /* digcmnd: digestlist opcmnd */
-#line 610 "gram.y"
+#line 617 "gram.y"
{
struct sudo_command *c =
(struct sudo_command *) (yyvsp[0].member)->name;
@@ -2239,29 +2255,29 @@ yyreduce:
HLTQ_TO_TAILQ(&c->digests, (yyvsp[-1].digest), entries);
(yyval.member) = (yyvsp[0].member);
}
-#line 2237 "gram.c"
+#line 2253 "gram.c"
break;
case 53: /* opcmnd: cmnd */
-#line 624 "gram.y"
+#line 631 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = false;
}
-#line 2246 "gram.c"
+#line 2262 "gram.c"
break;
case 54: /* opcmnd: '!' cmnd */
-#line 628 "gram.y"
+#line 635 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = true;
}
-#line 2255 "gram.c"
+#line 2271 "gram.c"
break;
case 55: /* chdirspec: CWD '=' WORD */
-#line 634 "gram.y"
+#line 641 "gram.y"
{
if ((yyvsp[0].string)[0] != '/' && (yyvsp[0].string)[0] != '~') {
if (strcmp((yyvsp[0].string), "*") != 0) {
@@ -2276,11 +2292,11 @@ yyreduce:
}
(yyval.string) = (yyvsp[0].string);
}
-#line 2274 "gram.c"
+#line 2290 "gram.c"
break;
case 56: /* chrootspec: CHROOT '=' WORD */
-#line 650 "gram.y"
+#line 657 "gram.y"
{
if ((yyvsp[0].string)[0] != '/' && (yyvsp[0].string)[0] != '~') {
if (strcmp((yyvsp[0].string), "*") != 0) {
@@ -2295,83 +2311,91 @@ yyreduce:
}
(yyval.string) = (yyvsp[0].string);
}
-#line 2293 "gram.c"
+#line 2309 "gram.c"
break;
case 57: /* timeoutspec: CMND_TIMEOUT '=' WORD */
-#line 666 "gram.y"
+#line 673 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2301 "gram.c"
+#line 2317 "gram.c"
break;
case 58: /* notbeforespec: NOTBEFORE '=' WORD */
-#line 671 "gram.y"
+#line 678 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2309 "gram.c"
+#line 2325 "gram.c"
break;
case 59: /* notafterspec: NOTAFTER '=' WORD */
-#line 675 "gram.y"
+#line 682 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2317 "gram.c"
+#line 2333 "gram.c"
break;
case 60: /* rolespec: ROLE '=' WORD */
-#line 680 "gram.y"
+#line 687 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2325 "gram.c"
+#line 2341 "gram.c"
break;
case 61: /* typespec: TYPE '=' WORD */
-#line 685 "gram.y"
+#line 692 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2333 "gram.c"
+#line 2349 "gram.c"
break;
- case 62: /* privsspec: PRIVS '=' WORD */
-#line 690 "gram.y"
+ case 62: /* apparmor_profilespec: APPARMOR_PROFILE '=' WORD */
+#line 697 "gram.y"
+ {
+ (yyval.string) = (yyvsp[0].string);
+ }
+#line 2357 "gram.c"
+ break;
+
+ case 63: /* privsspec: PRIVS '=' WORD */
+#line 702 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2341 "gram.c"
+#line 2365 "gram.c"
break;
- case 63: /* limitprivsspec: LIMITPRIVS '=' WORD */
-#line 694 "gram.y"
+ case 64: /* limitprivsspec: LIMITPRIVS '=' WORD */
+#line 706 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2349 "gram.c"
+#line 2373 "gram.c"
break;
- case 64: /* runasspec: %empty */
-#line 699 "gram.y"
+ case 65: /* runasspec: %empty */
+#line 711 "gram.y"
{
(yyval.runas) = NULL;
}
-#line 2357 "gram.c"
+#line 2381 "gram.c"
break;
- case 65: /* runasspec: '(' runaslist ')' */
-#line 702 "gram.y"
+ case 66: /* runasspec: '(' runaslist ')' */
+#line 714 "gram.y"
{
(yyval.runas) = (yyvsp[-1].runas);
}
-#line 2365 "gram.c"
+#line 2389 "gram.c"
break;
- case 66: /* runaslist: %empty */
-#line 707 "gram.y"
+ case 67: /* runaslist: %empty */
+#line 719 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) != NULL) {
@@ -2388,11 +2412,11 @@ yyreduce:
}
parser_leak_add(LEAK_RUNAS, (yyval.runas));
}
-#line 2386 "gram.c"
+#line 2410 "gram.c"
break;
- case 67: /* runaslist: userlist */
-#line 723 "gram.y"
+ case 68: /* runaslist: userlist */
+#line 735 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) == NULL) {
@@ -2404,11 +2428,11 @@ yyreduce:
(yyval.runas)->runasusers = (yyvsp[0].member);
/* $$->runasgroups = NULL; */
}
-#line 2402 "gram.c"
+#line 2426 "gram.c"
break;
- case 68: /* runaslist: userlist ':' grouplist */
-#line 734 "gram.y"
+ case 69: /* runaslist: userlist ':' grouplist */
+#line 746 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) == NULL) {
@@ -2421,11 +2445,11 @@ yyreduce:
(yyval.runas)->runasusers = (yyvsp[-2].member);
(yyval.runas)->runasgroups = (yyvsp[0].member);
}
-#line 2419 "gram.c"
+#line 2443 "gram.c"
break;
- case 69: /* runaslist: ':' grouplist */
-#line 746 "gram.y"
+ case 70: /* runaslist: ':' grouplist */
+#line 758 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) == NULL) {
@@ -2437,11 +2461,11 @@ yyreduce:
/* $$->runasusers = NULL; */
(yyval.runas)->runasgroups = (yyvsp[0].member);
}
-#line 2435 "gram.c"
+#line 2459 "gram.c"
break;
- case 70: /* runaslist: ':' */
-#line 757 "gram.y"
+ case 71: /* runaslist: ':' */
+#line 769 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) != NULL) {
@@ -2458,108 +2482,114 @@ yyreduce:
}
parser_leak_add(LEAK_RUNAS, (yyval.runas));
}
-#line 2456 "gram.c"
+#line 2480 "gram.c"
break;
- case 71: /* reserved_word: ALL */
-#line 775 "gram.y"
+ case 72: /* reserved_word: ALL */
+#line 787 "gram.y"
{ (yyval.string) = "ALL"; }
-#line 2462 "gram.c"
+#line 2486 "gram.c"
break;
- case 72: /* reserved_word: CHROOT */
-#line 776 "gram.y"
+ case 73: /* reserved_word: CHROOT */
+#line 788 "gram.y"
{ (yyval.string) = "CHROOT"; }
-#line 2468 "gram.c"
+#line 2492 "gram.c"
break;
- case 73: /* reserved_word: CWD */
-#line 777 "gram.y"
+ case 74: /* reserved_word: CWD */
+#line 789 "gram.y"
{ (yyval.string) = "CWD"; }
-#line 2474 "gram.c"
+#line 2498 "gram.c"
break;
- case 74: /* reserved_word: CMND_TIMEOUT */
-#line 778 "gram.y"
+ case 75: /* reserved_word: CMND_TIMEOUT */
+#line 790 "gram.y"
{ (yyval.string) = "CMND_TIMEOUT"; }
-#line 2480 "gram.c"
+#line 2504 "gram.c"
break;
- case 75: /* reserved_word: NOTBEFORE */
-#line 779 "gram.y"
+ case 76: /* reserved_word: NOTBEFORE */
+#line 791 "gram.y"
{ (yyval.string) = "NOTBEFORE"; }
-#line 2486 "gram.c"
+#line 2510 "gram.c"
break;
- case 76: /* reserved_word: NOTAFTER */
-#line 780 "gram.y"
+ case 77: /* reserved_word: NOTAFTER */
+#line 792 "gram.y"
{ (yyval.string) = "NOTAFTER"; }
-#line 2492 "gram.c"
+#line 2516 "gram.c"
break;
- case 77: /* reserved_word: ROLE */
-#line 781 "gram.y"
+ case 78: /* reserved_word: ROLE */
+#line 793 "gram.y"
{ (yyval.string) = "ROLE"; }
-#line 2498 "gram.c"
+#line 2522 "gram.c"
break;
- case 78: /* reserved_word: TYPE */
-#line 782 "gram.y"
+ case 79: /* reserved_word: TYPE */
+#line 794 "gram.y"
{ (yyval.string) = "TYPE"; }
-#line 2504 "gram.c"
+#line 2528 "gram.c"
break;
- case 79: /* reserved_word: PRIVS */
-#line 783 "gram.y"
+ case 80: /* reserved_word: PRIVS */
+#line 795 "gram.y"
{ (yyval.string) = "PRIVS"; }
-#line 2510 "gram.c"
+#line 2534 "gram.c"
break;
- case 80: /* reserved_word: LIMITPRIVS */
-#line 784 "gram.y"
+ case 81: /* reserved_word: LIMITPRIVS */
+#line 796 "gram.y"
{ (yyval.string) = "LIMITPRIVS"; }
-#line 2516 "gram.c"
+#line 2540 "gram.c"
break;
- case 81: /* reserved_alias: reserved_word */
-#line 787 "gram.y"
+ case 82: /* reserved_word: APPARMOR_PROFILE */
+#line 797 "gram.y"
+ { (yyval.string) = "APPARMOR_PROFILE"; }
+#line 2546 "gram.c"
+ break;
+
+ case 83: /* reserved_alias: reserved_word */
+#line 800 "gram.y"
{
sudoerserrorf(U_("syntax error, reserved word %s used as an alias name"), (yyvsp[0].string));
YYERROR;
}
-#line 2525 "gram.c"
+#line 2555 "gram.c"
break;
- case 82: /* options: %empty */
-#line 793 "gram.y"
+ case 84: /* options: %empty */
+#line 806 "gram.y"
{
init_options(&(yyval.options));
}
-#line 2533 "gram.c"
+#line 2563 "gram.c"
break;
- case 83: /* options: options chdirspec */
-#line 796 "gram.y"
+ case 85: /* options: options chdirspec */
+#line 809 "gram.y"
{
parser_leak_remove(LEAK_PTR, (yyval.options).runcwd);
free((yyval.options).runcwd);
(yyval.options).runcwd = (yyvsp[0].string);
}
-#line 2543 "gram.c"
+#line 2573 "gram.c"
break;
- case 84: /* options: options chrootspec */
-#line 801 "gram.y"
+ case 86: /* options: options chrootspec */
+#line 814 "gram.y"
{
parser_leak_remove(LEAK_PTR, (yyval.options).runchroot);
free((yyval.options).runchroot);
(yyval.options).runchroot = (yyvsp[0].string);
}
-#line 2553 "gram.c"
+#line 2583 "gram.c"
break;
- case 85: /* options: options notbeforespec */
-#line 806 "gram.y"
+ case 87: /* options: options notbeforespec */
+#line 819 "gram.y"
{
(yyval.options).notbefore = parse_gentime((yyvsp[0].string));
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -2569,11 +2599,11 @@ yyreduce:
YYERROR;
}
}
-#line 2567 "gram.c"
+#line 2597 "gram.c"
break;
- case 86: /* options: options notafterspec */
-#line 815 "gram.y"
+ case 88: /* options: options notafterspec */
+#line 828 "gram.y"
{
(yyval.options).notafter = parse_gentime((yyvsp[0].string));
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -2583,11 +2613,11 @@ yyreduce:
YYERROR;
}
}
-#line 2581 "gram.c"
+#line 2611 "gram.c"
break;
- case 87: /* options: options timeoutspec */
-#line 824 "gram.y"
+ case 89: /* options: options timeoutspec */
+#line 837 "gram.y"
{
(yyval.options).timeout = parse_timeout((yyvsp[0].string));
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -2600,11 +2630,11 @@ yyreduce:
YYERROR;
}
}
-#line 2598 "gram.c"
+#line 2628 "gram.c"
break;
- case 88: /* options: options rolespec */
-#line 836 "gram.y"
+ case 90: /* options: options rolespec */
+#line 849 "gram.y"
{
#ifdef HAVE_SELINUX
parser_leak_remove(LEAK_PTR, (yyval.options).role);
@@ -2612,11 +2642,11 @@ yyreduce:
(yyval.options).role = (yyvsp[0].string);
#endif
}
-#line 2610 "gram.c"
+#line 2640 "gram.c"
break;
- case 89: /* options: options typespec */
-#line 843 "gram.y"
+ case 91: /* options: options typespec */
+#line 856 "gram.y"
{
#ifdef HAVE_SELINUX
parser_leak_remove(LEAK_PTR, (yyval.options).type);
@@ -2624,11 +2654,23 @@ yyreduce:
(yyval.options).type = (yyvsp[0].string);
#endif
}
-#line 2622 "gram.c"
+#line 2652 "gram.c"
+ break;
+
+ case 92: /* options: options apparmor_profilespec */
+#line 863 "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 2664 "gram.c"
break;
- case 90: /* options: options privsspec */
-#line 850 "gram.y"
+ case 93: /* options: options privsspec */
+#line 870 "gram.y"
{
#ifdef HAVE_PRIV_SET
parser_leak_remove(LEAK_PTR, (yyval.options).privs);
@@ -2636,11 +2678,11 @@ yyreduce:
(yyval.options).privs = (yyvsp[0].string);
#endif
}
-#line 2634 "gram.c"
+#line 2676 "gram.c"
break;
- case 91: /* options: options limitprivsspec */
-#line 857 "gram.y"
+ case 94: /* options: options limitprivsspec */
+#line 877 "gram.y"
{
#ifdef HAVE_PRIV_SET
parser_leak_remove(LEAK_PTR, (yyval.options).limitprivs);
@@ -2648,147 +2690,147 @@ yyreduce:
(yyval.options).limitprivs = (yyvsp[0].string);
#endif
}
-#line 2646 "gram.c"
+#line 2688 "gram.c"
break;
- case 92: /* cmndtag: %empty */
-#line 866 "gram.y"
+ case 95: /* cmndtag: %empty */
+#line 886 "gram.y"
{
TAGS_INIT(&(yyval.tag));
}
-#line 2654 "gram.c"
+#line 2696 "gram.c"
break;
- case 93: /* cmndtag: cmndtag NOPASSWD */
-#line 869 "gram.y"
+ case 96: /* cmndtag: cmndtag NOPASSWD */
+#line 889 "gram.y"
{
(yyval.tag).nopasswd = true;
}
-#line 2662 "gram.c"
+#line 2704 "gram.c"
break;
- case 94: /* cmndtag: cmndtag PASSWD */
-#line 872 "gram.y"
+ case 97: /* cmndtag: cmndtag PASSWD */
+#line 892 "gram.y"
{
(yyval.tag).nopasswd = false;
}
-#line 2670 "gram.c"
+#line 2712 "gram.c"
break;
- case 95: /* cmndtag: cmndtag NOEXEC */
-#line 875 "gram.y"
+ case 98: /* cmndtag: cmndtag NOEXEC */
+#line 895 "gram.y"
{
(yyval.tag).noexec = true;
}
-#line 2678 "gram.c"
+#line 2720 "gram.c"
break;
- case 96: /* cmndtag: cmndtag EXEC */
-#line 878 "gram.y"
+ case 99: /* cmndtag: cmndtag EXEC */
+#line 898 "gram.y"
{
(yyval.tag).noexec = false;
}
-#line 2686 "gram.c"
+#line 2728 "gram.c"
break;
- case 97: /* cmndtag: cmndtag INTERCEPT */
-#line 881 "gram.y"
+ case 100: /* cmndtag: cmndtag INTERCEPT */
+#line 901 "gram.y"
{
(yyval.tag).intercept = true;
}
-#line 2694 "gram.c"
+#line 2736 "gram.c"
break;
- case 98: /* cmndtag: cmndtag NOINTERCEPT */
-#line 884 "gram.y"
+ case 101: /* cmndtag: cmndtag NOINTERCEPT */
+#line 904 "gram.y"
{
(yyval.tag).intercept = false;
}
-#line 2702 "gram.c"
+#line 2744 "gram.c"
break;
- case 99: /* cmndtag: cmndtag SETENV */
-#line 887 "gram.y"
+ case 102: /* cmndtag: cmndtag SETENV */
+#line 907 "gram.y"
{
(yyval.tag).setenv = true;
}
-#line 2710 "gram.c"
+#line 2752 "gram.c"
break;
- case 100: /* cmndtag: cmndtag NOSETENV */
-#line 890 "gram.y"
+ case 103: /* cmndtag: cmndtag NOSETENV */
+#line 910 "gram.y"
{
(yyval.tag).setenv = false;
}
-#line 2718 "gram.c"
+#line 2760 "gram.c"
break;
- case 101: /* cmndtag: cmndtag LOG_INPUT */
-#line 893 "gram.y"
+ case 104: /* cmndtag: cmndtag LOG_INPUT */
+#line 913 "gram.y"
{
(yyval.tag).log_input = true;
}
-#line 2726 "gram.c"
+#line 2768 "gram.c"
break;
- case 102: /* cmndtag: cmndtag NOLOG_INPUT */
-#line 896 "gram.y"
+ case 105: /* cmndtag: cmndtag NOLOG_INPUT */
+#line 916 "gram.y"
{
(yyval.tag).log_input = false;
}
-#line 2734 "gram.c"
+#line 2776 "gram.c"
break;
- case 103: /* cmndtag: cmndtag LOG_OUTPUT */
-#line 899 "gram.y"
+ case 106: /* cmndtag: cmndtag LOG_OUTPUT */
+#line 919 "gram.y"
{
(yyval.tag).log_output = true;
}
-#line 2742 "gram.c"
+#line 2784 "gram.c"
break;
- case 104: /* cmndtag: cmndtag NOLOG_OUTPUT */
-#line 902 "gram.y"
+ case 107: /* cmndtag: cmndtag NOLOG_OUTPUT */
+#line 922 "gram.y"
{
(yyval.tag).log_output = false;
}
-#line 2750 "gram.c"
+#line 2792 "gram.c"
break;
- case 105: /* cmndtag: cmndtag FOLLOWLNK */
-#line 905 "gram.y"
+ case 108: /* cmndtag: cmndtag FOLLOWLNK */
+#line 925 "gram.y"
{
(yyval.tag).follow = true;
}
-#line 2758 "gram.c"
+#line 2800 "gram.c"
break;
- case 106: /* cmndtag: cmndtag NOFOLLOWLNK */
-#line 908 "gram.y"
+ case 109: /* cmndtag: cmndtag NOFOLLOWLNK */
+#line 928 "gram.y"
{
(yyval.tag).follow = false;
}
-#line 2766 "gram.c"
+#line 2808 "gram.c"
break;
- case 107: /* cmndtag: cmndtag MAIL */
-#line 911 "gram.y"
+ case 110: /* cmndtag: cmndtag MAIL */
+#line 931 "gram.y"
{
(yyval.tag).send_mail = true;
}
-#line 2774 "gram.c"
+#line 2816 "gram.c"
break;
- case 108: /* cmndtag: cmndtag NOMAIL */
-#line 914 "gram.y"
+ case 111: /* cmndtag: cmndtag NOMAIL */
+#line 934 "gram.y"
{
(yyval.tag).send_mail = false;
}
-#line 2782 "gram.c"
+#line 2824 "gram.c"
break;
- case 109: /* cmnd: ALL */
-#line 919 "gram.y"
+ case 112: /* cmnd: ALL */
+#line 939 "gram.y"
{
struct sudo_command *c;
@@ -2803,11 +2845,11 @@ yyreduce:
}
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2801 "gram.c"
+#line 2843 "gram.c"
break;
- case 110: /* cmnd: ALIAS */
-#line 933 "gram.y"
+ case 113: /* cmnd: ALIAS */
+#line 953 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), ALIAS);
if ((yyval.member) == NULL) {
@@ -2817,11 +2859,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2815 "gram.c"
+#line 2857 "gram.c"
break;
- case 111: /* cmnd: COMMAND */
-#line 942 "gram.y"
+ case 114: /* cmnd: COMMAND */
+#line 962 "gram.y"
{
struct sudo_command *c;
@@ -2843,20 +2885,20 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].command).args);
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2841 "gram.c"
+#line 2883 "gram.c"
break;
- case 114: /* $@1: %empty */
-#line 969 "gram.y"
+ case 117: /* $@1: %empty */
+#line 989 "gram.y"
{
alias_line = this_lineno;
alias_column = sudolinebuf.toke_start + 1;
}
-#line 2850 "gram.c"
+#line 2892 "gram.c"
break;
- case 115: /* hostalias: ALIAS $@1 '=' hostlist */
-#line 972 "gram.y"
+ case 118: /* hostalias: ALIAS $@1 '=' hostlist */
+#line 992 "gram.y"
{
if (!alias_add(&parsed_policy, (yyvsp[-3].string), HOSTALIAS,
sudoers, alias_line, alias_column, (yyvsp[0].member))) {
@@ -2866,30 +2908,30 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
}
-#line 2864 "gram.c"
+#line 2906 "gram.c"
break;
- case 118: /* hostlist: hostlist ',' ophost */
-#line 985 "gram.y"
+ case 121: /* hostlist: hostlist ',' ophost */
+#line 1005 "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 2874 "gram.c"
+#line 2916 "gram.c"
break;
- case 121: /* $@2: %empty */
-#line 996 "gram.y"
+ case 124: /* $@2: %empty */
+#line 1016 "gram.y"
{
alias_line = this_lineno;
alias_column = sudolinebuf.toke_start + 1;
}
-#line 2883 "gram.c"
+#line 2925 "gram.c"
break;
- case 122: /* cmndalias: ALIAS $@2 '=' cmndlist */
-#line 999 "gram.y"
+ case 125: /* cmndalias: ALIAS $@2 '=' cmndlist */
+#line 1019 "gram.y"
{
if (!alias_add(&parsed_policy, (yyvsp[-3].string), CMNDALIAS,
sudoers, alias_line, alias_column, (yyvsp[0].member))) {
@@ -2899,30 +2941,30 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
}
-#line 2897 "gram.c"
+#line 2939 "gram.c"
break;
- case 125: /* cmndlist: cmndlist ',' digcmnd */
-#line 1012 "gram.y"
+ case 128: /* cmndlist: cmndlist ',' digcmnd */
+#line 1032 "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 2907 "gram.c"
+#line 2949 "gram.c"
break;
- case 128: /* $@3: %empty */
-#line 1023 "gram.y"
+ case 131: /* $@3: %empty */
+#line 1043 "gram.y"
{
alias_line = this_lineno;
alias_column = sudolinebuf.toke_start + 1;
}
-#line 2916 "gram.c"
+#line 2958 "gram.c"
break;
- case 129: /* runasalias: ALIAS $@3 '=' userlist */
-#line 1026 "gram.y"
+ case 132: /* runasalias: ALIAS $@3 '=' userlist */
+#line 1046 "gram.y"
{
if (!alias_add(&parsed_policy, (yyvsp[-3].string), RUNASALIAS,
sudoers, alias_line, alias_column, (yyvsp[0].member))) {
@@ -2932,20 +2974,20 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
}
-#line 2930 "gram.c"
+#line 2972 "gram.c"
break;
- case 133: /* $@4: %empty */
-#line 1042 "gram.y"
+ case 136: /* $@4: %empty */
+#line 1062 "gram.y"
{
alias_line = this_lineno;
alias_column = sudolinebuf.toke_start + 1;
}
-#line 2939 "gram.c"
+#line 2981 "gram.c"
break;
- case 134: /* useralias: ALIAS $@4 '=' userlist */
-#line 1045 "gram.y"
+ case 137: /* useralias: ALIAS $@4 '=' userlist */
+#line 1065 "gram.y"
{
if (!alias_add(&parsed_policy, (yyvsp[-3].string), USERALIAS,
sudoers, alias_line, alias_column, (yyvsp[0].member))) {
@@ -2955,39 +2997,39 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
}
-#line 2953 "gram.c"
+#line 2995 "gram.c"
break;
- case 137: /* userlist: userlist ',' opuser */
-#line 1058 "gram.y"
+ case 140: /* userlist: userlist ',' opuser */
+#line 1078 "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 2963 "gram.c"
+#line 3005 "gram.c"
break;
- case 138: /* opuser: user */
-#line 1065 "gram.y"
+ case 141: /* opuser: user */
+#line 1085 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = false;
}
-#line 2972 "gram.c"
+#line 3014 "gram.c"
break;
- case 139: /* opuser: '!' user */
-#line 1069 "gram.y"
+ case 142: /* opuser: '!' user */
+#line 1089 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = true;
}
-#line 2981 "gram.c"
+#line 3023 "gram.c"
break;
- case 140: /* user: ALIAS */
-#line 1075 "gram.y"
+ case 143: /* user: ALIAS */
+#line 1095 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), ALIAS);
if ((yyval.member) == NULL) {
@@ -2997,11 +3039,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2995 "gram.c"
+#line 3037 "gram.c"
break;
- case 141: /* user: ALL */
-#line 1084 "gram.y"
+ case 144: /* user: ALL */
+#line 1104 "gram.y"
{
(yyval.member) = new_member(NULL, ALL);
if ((yyval.member) == NULL) {
@@ -3010,11 +3052,11 @@ yyreduce:
}
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3008 "gram.c"
+#line 3050 "gram.c"
break;
- case 142: /* user: NETGROUP */
-#line 1092 "gram.y"
+ case 145: /* user: NETGROUP */
+#line 1112 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), NETGROUP);
if ((yyval.member) == NULL) {
@@ -3024,11 +3066,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3022 "gram.c"
+#line 3064 "gram.c"
break;
- case 143: /* user: USERGROUP */
-#line 1101 "gram.y"
+ case 146: /* user: USERGROUP */
+#line 1121 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), USERGROUP);
if ((yyval.member) == NULL) {
@@ -3038,11 +3080,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3036 "gram.c"
+#line 3078 "gram.c"
break;
- case 144: /* user: WORD */
-#line 1110 "gram.y"
+ case 147: /* user: WORD */
+#line 1130 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), WORD);
if ((yyval.member) == NULL) {
@@ -3052,39 +3094,39 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3050 "gram.c"
+#line 3092 "gram.c"
break;
- case 146: /* grouplist: grouplist ',' opgroup */
-#line 1122 "gram.y"
+ case 149: /* grouplist: grouplist ',' opgroup */
+#line 1142 "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 3060 "gram.c"
+#line 3102 "gram.c"
break;
- case 147: /* opgroup: group */
-#line 1129 "gram.y"
+ case 150: /* opgroup: group */
+#line 1149 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = false;
}
-#line 3069 "gram.c"
+#line 3111 "gram.c"
break;
- case 148: /* opgroup: '!' group */
-#line 1133 "gram.y"
+ case 151: /* opgroup: '!' group */
+#line 1153 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = true;
}
-#line 3078 "gram.c"
+#line 3120 "gram.c"
break;
- case 149: /* group: ALIAS */
-#line 1139 "gram.y"
+ case 152: /* group: ALIAS */
+#line 1159 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), ALIAS);
if ((yyval.member) == NULL) {
@@ -3094,11 +3136,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3092 "gram.c"
+#line 3134 "gram.c"
break;
- case 150: /* group: ALL */
-#line 1148 "gram.y"
+ case 153: /* group: ALL */
+#line 1168 "gram.y"
{
(yyval.member) = new_member(NULL, ALL);
if ((yyval.member) == NULL) {
@@ -3107,11 +3149,11 @@ yyreduce:
}
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3105 "gram.c"
+#line 3147 "gram.c"
break;
- case 151: /* group: WORD */
-#line 1156 "gram.y"
+ case 154: /* group: WORD */
+#line 1176 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), WORD);
if ((yyval.member) == NULL) {
@@ -3121,11 +3163,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3119 "gram.c"
+#line 3161 "gram.c"
break;
-#line 3123 "gram.c"
+#line 3165 "gram.c"
default: break;
}
@@ -3318,19 +3360,20 @@ yyreturnlab:
return yyresult;
}
-#line 1166 "gram.y"
+#line 1186 "gram.y"
/* Like yyerror() but takes a printf-style format string. */
void
sudoerserrorf(const char *fmt, ...)
{
+ const int column = sudolinebuf.toke_start + 1;
+ va_list ap;
debug_decl(sudoerserrorf, SUDOERS_DEBUG_PARSER);
- /* Save the line the first error occurred on. */
- if (errorlineno == -1) {
- errorlineno = this_lineno;
- sudo_rcstr_delref(errorfile);
- errorfile = sudo_rcstr_addref(sudoers);
+ if (sudoers_error_hook != NULL) {
+ va_start(ap, fmt);
+ sudoers_error_hook(sudoers, this_lineno, column, fmt, ap);
+ va_end(ap);
}
if (sudoers_warnings && fmt != NULL) {
LEXTRACE("<*> ");
@@ -3338,7 +3381,6 @@ sudoerserrorf(const char *fmt, ...)
if (trace_print == NULL || trace_print == sudoers_trace_print) {
char *s, *tofree = NULL;
int oldlocale;
- va_list ap;
/* Warnings are displayed in the user's locale. */
sudoers_setlocale(SUDOERS_LOCALE_USER, &oldlocale);
@@ -3348,7 +3390,7 @@ sudoerserrorf(const char *fmt, ...)
/* Optimize common case, a single string. */
s = _(va_arg(ap, char *));
} else {
- if (vasprintf(&s, fmt, ap) != -1)
+ if (vasprintf(&s, _(fmt), ap) != -1)
tofree = s;
else
s = _("syntax error");
@@ -3576,7 +3618,8 @@ add_userspec(struct member *members, struct privilege *privs)
"unable to allocate memory");
debug_return_bool(false);
}
- u->line = this_lineno;
+ /* We already parsed the newline so sudolineno is off by one. */
+ u->line = sudolineno - 1;
u->column = sudolinebuf.toke_start + 1;
u->file = sudo_rcstr_addref(sudoers);
parser_leak_remove(LEAK_MEMBER, members);
@@ -3909,9 +3952,6 @@ init_parser(const char *path, bool quiet, bool strict)
}
parse_error = false;
- errorlineno = -1;
- sudo_rcstr_delref(errorfile);
- errorfile = NULL;
sudoers_warnings = !quiet;
sudoers_strict = strict;
@@ -3937,6 +3977,9 @@ init_options(struct command_options *opts)
opts->privs = NULL;
opts->limitprivs = NULL;
#endif
+#ifdef HAVE_APPARMOR
+ opts->apparmor_profile = NULL;
+#endif
}
bool
diff --git a/plugins/sudoers/gram.h b/plugins/sudoers/gram.h
index 251d3b91b..5ed1beaa0 100644
--- a/plugins/sudoers/gram.h
+++ b/plugins/sudoers/gram.h
@@ -96,16 +96,17 @@ extern int sudoersdebug;
CWD = 297, /* CWD */
TYPE = 298, /* TYPE */
ROLE = 299, /* ROLE */
- PRIVS = 300, /* PRIVS */
- LIMITPRIVS = 301, /* LIMITPRIVS */
- CMND_TIMEOUT = 302, /* CMND_TIMEOUT */
- NOTBEFORE = 303, /* NOTBEFORE */
- NOTAFTER = 304, /* NOTAFTER */
- MYSELF = 305, /* MYSELF */
- SHA224_TOK = 306, /* SHA224_TOK */
- SHA256_TOK = 307, /* SHA256_TOK */
- SHA384_TOK = 308, /* SHA384_TOK */
- SHA512_TOK = 309 /* SHA512_TOK */
+ APPARMOR_PROFILE = 300, /* APPARMOR_PROFILE */
+ PRIVS = 301, /* PRIVS */
+ LIMITPRIVS = 302, /* LIMITPRIVS */
+ CMND_TIMEOUT = 303, /* CMND_TIMEOUT */
+ NOTBEFORE = 304, /* NOTBEFORE */
+ NOTAFTER = 305, /* NOTAFTER */
+ MYSELF = 306, /* MYSELF */
+ SHA224_TOK = 307, /* SHA224_TOK */
+ SHA256_TOK = 308, /* SHA256_TOK */
+ SHA384_TOK = 309, /* SHA384_TOK */
+ SHA512_TOK = 310 /* SHA512_TOK */
};
typedef enum yytokentype yytoken_kind_t;
#endif
@@ -156,22 +157,23 @@ extern int sudoersdebug;
#define CWD 297
#define TYPE 298
#define ROLE 299
-#define PRIVS 300
-#define LIMITPRIVS 301
-#define CMND_TIMEOUT 302
-#define NOTBEFORE 303
-#define NOTAFTER 304
-#define MYSELF 305
-#define SHA224_TOK 306
-#define SHA256_TOK 307
-#define SHA384_TOK 308
-#define SHA512_TOK 309
+#define APPARMOR_PROFILE 300
+#define PRIVS 301
+#define LIMITPRIVS 302
+#define CMND_TIMEOUT 303
+#define NOTBEFORE 304
+#define NOTAFTER 305
+#define MYSELF 306
+#define SHA224_TOK 307
+#define SHA256_TOK 308
+#define SHA384_TOK 309
+#define SHA512_TOK 310
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
-#line 86 "gram.y"
+#line 87 "gram.y"
struct cmndspec *cmndspec;
struct defaults *defaults;
@@ -185,7 +187,7 @@ union YYSTYPE
char *string;
int tok;
-#line 189 "y.tab.h"
+#line 191 "y.tab.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/plugins/sudoers/gram.y b/plugins/sudoers/gram.y
index 63bb5adff..edb931322 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-2021
+ * Copyright (c) 1996, 1998-2005, 2007-2013, 2014-2022
* Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -51,8 +51,9 @@
bool sudoers_warnings = true;
bool sudoers_strict = false;
bool parse_error = false;
-int errorlineno = -1;
-char *errorfile = NULL;
+
+/* Optional logging function for parse errors. */
+sudoers_logger_t sudoers_error_hook;
static int alias_line, alias_column;
@@ -143,6 +144,7 @@ static void alias_error(const char *name, int errnum);
%token <tok> CWD /* working directory for command */
%token <tok> TYPE /* SELinux type */
%token <tok> ROLE /* SELinux role */
+%token <tok> APPARMOR_PROFILE /* AppArmor profile */
%token <tok> PRIVS /* Solaris privileges */
%token <tok> LIMITPRIVS /* Solaris limit privileges */
%token <tok> CMND_TIMEOUT /* command timeout */
@@ -181,6 +183,7 @@ static void alias_error(const char *name, int errnum);
%type <string> chrootspec
%type <string> rolespec
%type <string> typespec
+%type <string> apparmor_profilespec
%type <string> privsspec
%type <string> limitprivsspec
%type <string> timeoutspec
@@ -533,6 +536,10 @@ cmndspec : runasspec options cmndtag digcmnd {
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);
@@ -687,6 +694,11 @@ typespec : TYPE '=' WORD {
}
;
+apparmor_profilespec : APPARMOR_PROFILE '=' WORD {
+ $$ = $3;
+ }
+ ;
+
privsspec : PRIVS '=' WORD {
$$ = $3;
}
@@ -782,6 +794,7 @@ reserved_word : ALL { $$ = "ALL"; }
| TYPE { $$ = "TYPE"; }
| PRIVS { $$ = "PRIVS"; }
| LIMITPRIVS { $$ = "LIMITPRIVS"; }
+ | APPARMOR_PROFILE { $$ = "APPARMOR_PROFILE"; }
;
reserved_alias : reserved_word {
@@ -847,6 +860,13 @@ options : /* empty */ {
$$.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);
@@ -1168,13 +1188,14 @@ group : ALIAS {
void
sudoerserrorf(const char *fmt, ...)
{
+ const int column = sudolinebuf.toke_start + 1;
+ va_list ap;
debug_decl(sudoerserrorf, SUDOERS_DEBUG_PARSER);
- /* Save the line the first error occurred on. */
- if (errorlineno == -1) {
- errorlineno = this_lineno;
- sudo_rcstr_delref(errorfile);
- errorfile = sudo_rcstr_addref(sudoers);
+ if (sudoers_error_hook != NULL) {
+ va_start(ap, fmt);
+ sudoers_error_hook(sudoers, this_lineno, column, fmt, ap);
+ va_end(ap);
}
if (sudoers_warnings && fmt != NULL) {
LEXTRACE("<*> ");
@@ -1182,7 +1203,6 @@ sudoerserrorf(const char *fmt, ...)
if (trace_print == NULL || trace_print == sudoers_trace_print) {
char *s, *tofree = NULL;
int oldlocale;
- va_list ap;
/* Warnings are displayed in the user's locale. */
sudoers_setlocale(SUDOERS_LOCALE_USER, &oldlocale);
@@ -1192,7 +1212,7 @@ sudoerserrorf(const char *fmt, ...)
/* Optimize common case, a single string. */
s = _(va_arg(ap, char *));
} else {
- if (vasprintf(&s, fmt, ap) != -1)
+ if (vasprintf(&s, _(fmt), ap) != -1)
tofree = s;
else
s = _("syntax error");
@@ -1420,7 +1440,8 @@ add_userspec(struct member *members, struct privilege *privs)
"unable to allocate memory");
debug_return_bool(false);
}
- u->line = this_lineno;
+ /* We already parsed the newline so sudolineno is off by one. */
+ u->line = sudolineno - 1;
u->column = sudolinebuf.toke_start + 1;
u->file = sudo_rcstr_addref(sudoers);
parser_leak_remove(LEAK_MEMBER, members);
@@ -1753,9 +1774,6 @@ init_parser(const char *path, bool quiet, bool strict)
}
parse_error = false;
- errorlineno = -1;
- sudo_rcstr_delref(errorfile);
- errorfile = NULL;
sudoers_warnings = !quiet;
sudoers_strict = strict;
@@ -1781,6 +1799,9 @@ init_options(struct command_options *opts)
opts->privs = NULL;
opts->limitprivs = NULL;
#endif
+#ifdef HAVE_APPARMOR
+ opts->apparmor_profile = NULL;
+#endif
}
bool
diff --git a/plugins/sudoers/group_plugin.c b/plugins/sudoers/group_plugin.c
index b794d009d..e11cfb1f1 100644
--- a/plugins/sudoers/group_plugin.c
+++ b/plugins/sudoers/group_plugin.c
@@ -220,7 +220,8 @@ group_plugin_query(const char *user, const char *group,
* Group plugin sudoers callback.
*/
bool
-cb_group_plugin(const union sudo_defs_val *sd_un, int op)
+cb_group_plugin(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
bool rc = true;
debug_decl(cb_group_plugin, SUDOERS_DEBUG_PLUGIN);
diff --git a/plugins/sudoers/iolog.c b/plugins/sudoers/iolog.c
index 1dc255e9f..c43bcdcfd 100644
--- a/plugins/sudoers/iolog.c
+++ b/plugins/sudoers/iolog.c
@@ -82,7 +82,8 @@ extern sudo_dso_public struct io_plugin sudoers_io;
* Sudoers callback for maxseq Defaults setting.
*/
bool
-cb_maxseq(const union sudo_defs_val *sd_un, int op)
+cb_maxseq(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
const char *errstr;
unsigned int value;
@@ -106,7 +107,8 @@ cb_maxseq(const union sudo_defs_val *sd_un, int op)
* Sudoers callback for iolog_user Defaults setting.
*/
bool
-cb_iolog_user(const union sudo_defs_val *sd_un, int op)
+cb_iolog_user(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
const char *name = sd_un->str;
struct passwd *pw;
@@ -131,7 +133,8 @@ cb_iolog_user(const union sudo_defs_val *sd_un, int op)
* Look up I/O log group-ID from group name.
*/
bool
-cb_iolog_group(const union sudo_defs_val *sd_un, int op)
+cb_iolog_group(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
const char *name = sd_un->str;
struct group *gr;
@@ -156,7 +159,8 @@ cb_iolog_group(const union sudo_defs_val *sd_un, int op)
* Sudoers callback for iolog_mode Defaults setting.
*/
bool
-cb_iolog_mode(const union sudo_defs_val *sd_un, int op)
+cb_iolog_mode(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
iolog_set_mode(sd_un->mode);
return true;
@@ -548,7 +552,7 @@ iolog_deserialize_info(struct log_details *details, char * const user_info[],
if (strncmp(*cur, "maxseq=", sizeof("maxseq=") - 1) == 0) {
union sudo_defs_val sd_un;
sd_un.str = *cur + sizeof("maxseq=") - 1;
- cb_maxseq(&sd_un, true);
+ cb_maxseq("policy", -1, -1, &sd_un, true);
continue;
}
break;
diff --git a/plugins/sudoers/ldap.c b/plugins/sudoers/ldap.c
index 13e74160b..4f0192265 100644
--- a/plugins/sudoers/ldap.c
+++ b/plugins/sudoers/ldap.c
@@ -2143,6 +2143,7 @@ sudo_ldap_result_from_search(LDAP *ldap, LDAPMessage *searchresult)
/* sudo_nss implementation */
struct sudo_nss sudo_nss_ldap = {
{ NULL, NULL },
+ "ldap",
sudo_ldap_open,
sudo_ldap_close,
sudo_ldap_parse,
diff --git a/plugins/sudoers/locale.c b/plugins/sudoers/locale.c
index bae857bee..634de6dbc 100644
--- a/plugins/sudoers/locale.c
+++ b/plugins/sudoers/locale.c
@@ -142,7 +142,8 @@ sudoers_warn_setlocale(bool restore, int *cookie)
* Callback for sudoers_locale sudoers setting.
*/
bool
-sudoers_locale_callback(const union sudo_defs_val *sd_un, int op)
+sudoers_locale_callback(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(sudoers_locale_callback, SUDOERS_DEBUG_UTIL);
diff --git a/plugins/sudoers/log_client.c b/plugins/sudoers/log_client.c
index dec2ff7a5..cb8803fcd 100644
--- a/plugins/sudoers/log_client.c
+++ b/plugins/sudoers/log_client.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2019-2020 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2019-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -197,14 +197,16 @@ tls_init(struct client_closure *closure)
/* Create the ssl context and enforce TLS 1.2 or higher. */
if ((closure->ssl_ctx = SSL_CTX_new(TLS_method())) == NULL) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("Creation of new SSL_CTX object failed: %s"), errstr);
+ sudo_warnx(U_("Creation of new SSL_CTX object failed: %s"),
+ errstr ? errstr : strerror(errno));
goto bad;
}
#ifdef HAVE_SSL_CTX_SET_MIN_PROTO_VERSION
if (!SSL_CTX_set_min_proto_version(closure->ssl_ctx, TLS1_2_VERSION)) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO,
- "unable to restrict min. protocol version: %s", errstr);
+ "unable to restrict min. protocol version: %s",
+ errstr ? errstr : strerror(errno));
goto bad;
}
#else
@@ -219,7 +221,7 @@ tls_init(struct client_closure *closure)
closure->log_details->ca_bundle, NULL) <= 0) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("%s: %s"), closure->log_details->ca_bundle,
- errstr);
+ errstr ? errstr : strerror(errno));
sudo_warnx(U_("unable to load certificate authority bundle %s"),
closure->log_details->ca_bundle);
goto bad;
@@ -227,7 +229,8 @@ tls_init(struct client_closure *closure)
} else {
if (!SSL_CTX_set_default_verify_paths(closure->ssl_ctx)) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("SSL_CTX_set_default_verify_paths: %s", errstr);
+ sudo_warnx("SSL_CTX_set_default_verify_paths: %s",
+ errstr ? errstr : strerror(errno));
goto bad;
}
}
@@ -239,7 +242,8 @@ tls_init(struct client_closure *closure)
if (!SSL_CTX_use_certificate_chain_file(closure->ssl_ctx,
closure->log_details->cert_file)) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("%s: %s"), closure->log_details->cert_file, errstr);
+ sudo_warnx(U_("%s: %s"), closure->log_details->cert_file,
+ errstr ? errstr : strerror(errno));
sudo_warnx(U_("unable to load certificate %s"),
closure->log_details->cert_file);
goto bad;
@@ -252,7 +256,8 @@ tls_init(struct client_closure *closure)
closure->log_details->key_file, SSL_FILETYPE_PEM) ||
!SSL_CTX_check_private_key(closure->ssl_ctx)) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("%s: %s"), closure->log_details->key_file, errstr);
+ sudo_warnx(U_("%s: %s"), closure->log_details->key_file,
+ errstr ? errstr : strerror(errno));
sudo_warnx(U_("unable to load private key %s"),
closure->log_details->key_file);
goto bad;
@@ -262,13 +267,14 @@ tls_init(struct client_closure *closure)
/* Create the SSL object and attach the closure. */
if ((closure->ssl = SSL_new(closure->ssl_ctx)) == NULL) {
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx(U_("Unable to allocate ssl object: %s"), errstr);
+ sudo_warnx(U_("Unable to allocate ssl object: %s"),
+ errstr ? errstr : strerror(errno));
goto bad;
}
if (SSL_set_ex_data(closure->ssl, 1, closure) <= 0) {
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("Unable to attach user data to the ssl object: %s"),
- errstr);
+ errstr ? errstr : strerror(errno));
goto bad;
}
@@ -356,7 +362,8 @@ tls_connect_cb(int sock, int what, void *v)
default:
errstr = ERR_reason_error_string(ERR_get_error());
sudo_warnx(U_("TLS connection to %s:%s failed: %s"),
- closure->host, closure->port, errstr);
+ closure->host, closure->port,
+ errstr ? errstr : strerror(errno));
goto bad;
}
}
@@ -1531,10 +1538,13 @@ handle_commit_point(TimeSpec *commit_point, struct client_closure *closure)
debug_return_bool(false);
}
- sudo_debug_printf(SUDO_DEBUG_INFO, "%s: commit point: [%lld, %d]",
- __func__, (long long)commit_point->tv_sec, commit_point->tv_nsec);
closure->committed.tv_sec = commit_point->tv_sec;
closure->committed.tv_nsec = commit_point->tv_nsec;
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: received [%lld, %d], elapsed [%lld, %ld], committed [%lld, %ld]",
+ __func__, (long long)commit_point->tv_sec, commit_point->tv_nsec,
+ (long long)closure->elapsed.tv_sec, closure->elapsed.tv_nsec,
+ (long long)closure->committed.tv_sec, closure->committed.tv_nsec);
if (closure->state == CLOSING) {
if (sudo_timespeccmp(&closure->elapsed, &closure->committed, ==)) {
@@ -1605,7 +1615,7 @@ handle_server_message(uint8_t *buf, size_t len,
sudo_debug_printf(SUDO_DEBUG_INFO, "%s: unpacking ServerMessage", __func__);
msg = server_message__unpack(NULL, len, buf);
if (msg == NULL) {
- sudo_warnx("%s", U_("unable to unpack ServerMessage"));
+ sudo_warnx(U_("unable to unpack %s size %zu"), "ServerMessage", len);
debug_return_bool(false);
}
@@ -1715,7 +1725,9 @@ server_msg_cb(int fd, int what, void *v)
switch (SSL_get_error(closure->ssl, nread)) {
case SSL_ERROR_ZERO_RETURN:
- /* ssl connection shutdown cleanly */
+ /* TLS connection shutdown cleanly */
+ sudo_debug_printf(SUDO_DEBUG_NOTICE|SUDO_DEBUG_LINENO,
+ "TLS connection shut down cleanly");
nread = 0;
break;
case SSL_ERROR_WANT_READ:
@@ -1750,13 +1762,13 @@ server_msg_cb(int fd, int what, void *v)
#if !defined(HAVE_WOLFSSL)
if (closure->state == RECV_HELLO &&
ERR_GET_REASON(err) == SSL_R_TLSV1_ALERT_INTERNAL_ERROR) {
- errstr = "host name does not match certificate";
+ errstr = U_("host name does not match certificate");
} else
#endif
{
errstr = ERR_reason_error_string(err);
}
- sudo_warnx("%s", errstr);
+ sudo_warnx("%s", errstr ? errstr : strerror(errno));
goto bad;
case SSL_ERROR_SYSCALL:
if (nread == 0)
@@ -1766,7 +1778,7 @@ server_msg_cb(int fd, int what, void *v)
goto bad;
default:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("recv: %s", errstr);
+ sudo_warnx("recv: %s", errstr ? errstr : strerror(errno));
goto bad;
}
}
@@ -1876,7 +1888,9 @@ client_msg_cb(int fd, int what, void *v)
switch (SSL_get_error(closure->ssl, nwritten)) {
case SSL_ERROR_ZERO_RETURN:
- /* ssl connection shutdown */
+ /* TLS connection shutdown cleanly */
+ sudo_debug_printf(SUDO_DEBUG_NOTICE|SUDO_DEBUG_LINENO,
+ "TLS connection shut down cleanly");
goto bad;
case SSL_ERROR_WANT_READ:
/* ssl wants to read, read event always active */
@@ -1892,14 +1906,14 @@ client_msg_cb(int fd, int what, void *v)
debug_return;
case SSL_ERROR_SSL:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("%s", errstr);
+ sudo_warnx("%s", errstr ? errstr : strerror(errno));
goto bad;
case SSL_ERROR_SYSCALL:
sudo_warn("send");
goto bad;
default:
errstr = ERR_reason_error_string(ERR_get_error());
- sudo_warnx("send: %s", errstr);
+ sudo_warnx("send: %s", errstr ? errstr : strerror(errno));
goto bad;
}
}
@@ -1997,6 +2011,7 @@ log_server_open(struct log_details *details, struct timespec *now,
struct sudo_plugin_event * (*event_alloc)(void))
{
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,
@@ -2007,7 +2022,10 @@ log_server_open(struct log_details *details, struct timespec *now,
/* Connect to log first available log server. */
if (!log_server_connect(closure)) {
/* TODO: support offline logs if server unreachable */
- sudo_warnx("%s", U_("unable to connect to log server"));
+ if (!warned) {
+ sudo_warnx("%s", U_("unable to connect to log server"));
+ warned = true;
+ }
goto bad;
}
diff --git a/plugins/sudoers/logging.c b/plugins/sudoers/logging.c
index 4fabaaad3..d0c037593 100644
--- a/plugins/sudoers/logging.c
+++ b/plugins/sudoers/logging.c
@@ -59,6 +59,14 @@
# include "strlist.h"
#endif
+struct parse_error {
+ STAILQ_ENTRY(parse_error) entries;
+ char *errstr;
+};
+STAILQ_HEAD(parse_error_list, parse_error);
+static struct parse_error_list parse_error_list =
+ STAILQ_HEAD_INITIALIZER(parse_error_list);
+
static bool should_mail(int);
static bool warned = false;
@@ -770,6 +778,134 @@ gai_log_warning(int flags, int errnum, const char *fmt, ...)
}
/*
+ * Send mail about accumulated parser errors.
+ * Frees the list of parse errors when done.
+ */
+bool
+mail_parse_errors(void)
+{
+ const int evl_flags = EVLOG_MAIL|EVLOG_MAIL_ONLY|EVLOG_RAW;
+ struct parse_error *pe;
+ struct eventlog evlog;
+ char *cp, *mailbody = NULL;
+ struct timespec now;
+ size_t len, n;
+ bool ret;
+ debug_decl(mail_parse_errors, SUDOERS_DEBUG_LOGGING);
+
+ if (STAILQ_EMPTY(&parse_error_list))
+ debug_return_bool(true);
+
+ if (sudo_gettime_real(&now) == -1) {
+ sudo_warn("%s", U_("unable to get time of day"));
+ ret = false;
+ goto done;
+ }
+ sudoers_to_eventlog(&evlog, NewArgv, env_get(), sudo_user.uuid_str);
+
+ len = strlen(_("problem parsing sudoers")) + 1;
+ STAILQ_FOREACH(pe, &parse_error_list, entries) {
+ len += strlen(_(pe->errstr)) + 1;
+ }
+ mailbody = malloc(len);
+ if (mailbody == NULL) {
+ sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
+ ret = false;
+ goto done;
+ }
+ cp = mailbody;
+
+ n = strlcpy(cp, _("problem parsing sudoers"), len);
+ if (n >= len) {
+ sudo_warnx(U_("internal error, %s overflow"), __func__);
+ ret = false;
+ goto done;
+ }
+ cp += n;
+ len -= n;
+
+ STAILQ_FOREACH(pe, &parse_error_list, entries) {
+ n = snprintf(cp, len, "\n%s", _(pe->errstr));
+ if (n >= len) {
+ sudo_warnx(U_("internal error, %s overflow"), __func__);
+ ret = false;
+ goto done;
+ }
+ cp += n;
+ len -= n;
+ }
+
+ ret = eventlog_alert(&evlog, evl_flags, &now, mailbody, NULL);
+ if (!log_server_alert(&evlog, &now, mailbody, NULL,
+ sudoers_policy.event_alloc)) {
+ ret = false;
+ }
+
+done:
+ free(mailbody);
+ while ((pe = STAILQ_FIRST(&parse_error_list)) != NULL) {
+ STAILQ_REMOVE_HEAD(&parse_error_list, entries);
+ free(pe->errstr);
+ free(pe);
+ }
+ debug_return_bool(ret);
+}
+
+/*
+ * Log a parse error using log_warningx().
+ * Journals the message to be mailed after parsing is complete.
+ * Does not write the message to stderr.
+ */
+bool
+log_parse_error(const char *file, int line, int column, const char *fmt,
+ va_list args)
+{
+ const int flags = SLOG_RAW_MSG|SLOG_NO_STDERR;
+ char *errstr, *tofree = NULL;
+ struct parse_error *pe;
+ bool ret;
+ debug_decl(log_parse_error, SUDOERS_DEBUG_LOGGING);
+
+ if (strcmp(fmt, "%s") == 0) {
+ /* Optimize common case, a single string. */
+ errstr = _(va_arg(args, char *));
+ } else {
+ if (vasprintf(&errstr, _(fmt), args) == -1)
+ debug_return_bool(false);
+ tofree = errstr;
+ }
+
+ if (line > 0) {
+ ret = log_warningx(flags, N_("%s:%d:%d: %s"), file, line, column,
+ errstr);
+ } else {
+ ret = log_warningx(flags, N_("%s: %s"), file, errstr);
+ }
+
+ /* Journal parse error for later mailing. */
+ pe = malloc(sizeof(*pe));
+ if (pe != NULL) {
+ int len;
+
+ if (line > 0) {
+ len = asprintf(&pe->errstr, _("%s:%d:%d: %s"), file, line, column,
+ errstr);
+ } else {
+ len = asprintf(&pe->errstr, _("%s: %s"), file, errstr);
+ }
+ if (len != -1) {
+ STAILQ_INSERT_TAIL(&parse_error_list, pe, entries);
+ } else {
+ free(pe);
+ }
+ }
+
+ free(tofree);
+
+ debug_return_bool(ret);
+}
+
+/*
* Determine whether we should send mail based on "status" and defaults options.
*/
static bool
diff --git a/plugins/sudoers/logging.h b/plugins/sudoers/logging.h
index f61de455b..10599d643 100644
--- a/plugins/sudoers/logging.h
+++ b/plugins/sudoers/logging.h
@@ -57,6 +57,8 @@ struct log_details {
#define SLOG_NO_LOG 0x20 /* do not log via file or syslog */
#define SLOG_AUDIT 0x40 /* send message to audit as well */
+typedef bool (*sudoers_logger_t)(const char *file, int line, int column, const char *fmt, va_list args);
+
/* XXX - needed for auditing */
extern int NewArgc;
extern char **NewArgv;
@@ -82,9 +84,11 @@ bool log_warning(int flags, const char *fmt, ...) __printflike(2, 3);
bool log_warningx(int flags, const char *fmt, ...) __printflike(2, 3);
bool gai_log_warning(int flags, int errnum, const char *fmt, ...) __printflike(3, 4);
bool sudoers_initlocale(const char *ulocale, const char *slocale);
-bool sudoers_locale_callback(const union sudo_defs_val *sd_un, int op);
+bool sudoers_locale_callback(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
void sudoers_to_eventlog(struct eventlog *evlog, char * const argv[], char *const envp[], const char *uuid_str);
void init_eventlog_config(void);
bool init_log_details(struct log_details *details, struct eventlog *evlog);
+bool log_parse_error(const char *file, int line, int column, const char *fmt, va_list ap) __printflike(4, 0);
+bool mail_parse_errors(void);
#endif /* SUDOERS_LOGGING_H */
diff --git a/plugins/sudoers/match_command.c b/plugins/sudoers/match_command.c
index 5e9ed9a0e..deca7d1cf 100644
--- a/plugins/sudoers/match_command.c
+++ b/plugins/sudoers/match_command.c
@@ -114,17 +114,12 @@ command_args_match(const char *sudoers_cmnd, const char *sudoers_args)
* Returns true on success, else false.
*/
static bool
-do_stat(int fd, const char *path, const char *runchroot, bool intercepted,
- struct stat *sb)
+do_stat(int fd, const char *path, const char *runchroot, struct stat *sb)
{
- struct stat sbuf;
char pathbuf[PATH_MAX];
bool ret;
debug_decl(do_stat, SUDOERS_DEBUG_MATCH);
- if (sb == NULL)
- sb = &sbuf;
-
if (fd != -1) {
ret = fstat(fd, sb) == 0;
} else {
@@ -140,14 +135,26 @@ do_stat(int fd, const char *path, const char *runchroot, bool intercepted,
}
ret = stat(path, sb) == 0;
}
- if (ret && intercepted) {
+ debug_return_bool(ret);
+}
+
+/*
+ * Perform intercept-specific checks.
+ * Returns true if allowed, else false.
+ */
+static bool
+intercept_ok(const char *path, bool intercepted, struct stat *sb)
+{
+ debug_decl(intercept_ok, SUDOERS_DEBUG_MATCH);
+
+ if (intercepted) {
if (!def_intercept_allow_setid && ISSET(sb->st_mode, S_ISUID|S_ISGID)) {
sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO,
"rejecting setid command %s", path);
- ret = false;
+ debug_return_bool(false);
}
}
- debug_return_int(ret);
+ debug_return_bool(true);
}
#endif /* SUDOERS_NAME_MATCH */
@@ -309,7 +316,9 @@ command_matches_dir(const char *sudoers_dir, size_t dlen, const char *runchroot,
/* Open the file for fdexec or for digest matching. */
if (!open_cmnd(buf, NULL, digests, &fd))
continue;
- if (!do_stat(fd, buf, NULL, intercepted, &sudoers_stat))
+ if (!do_stat(fd, buf, NULL, &sudoers_stat))
+ continue;
+ if (!intercept_ok(buf, intercepted, &sudoers_stat))
continue;
if (user_stat == NULL ||
@@ -375,6 +384,9 @@ static bool
command_matches_all(const char *runchroot,
bool intercepted, const struct command_digest_list *digests)
{
+#ifndef SUDOERS_NAME_MATCH
+ struct stat sb;
+#endif
int fd = -1;
debug_decl(command_matches_all, SUDOERS_DEBUG_MATCH);
@@ -383,8 +395,11 @@ command_matches_all(const char *runchroot,
if (!open_cmnd(user_cmnd, runchroot, digests, &fd))
goto bad;
#ifndef SUDOERS_NAME_MATCH
- if (!do_stat(fd, user_cmnd, runchroot, intercepted, NULL))
- goto bad;
+ /* A non-existent file is not an error for "sudo ALL". */
+ if (do_stat(fd, user_cmnd, runchroot, &sb)) {
+ if (!intercept_ok(user_cmnd, intercepted, &sb))
+ goto bad;
+ }
#endif
}
@@ -406,6 +421,9 @@ command_matches_fnmatch(const char *sudoers_cmnd, const char *sudoers_args,
const char *runchroot, bool intercepted,
const struct command_digest_list *digests)
{
+#ifndef SUDOERS_NAME_MATCH
+ struct stat sb;
+#endif
int fd = -1;
debug_decl(command_matches_fnmatch, SUDOERS_DEBUG_MATCH);
@@ -425,7 +443,9 @@ command_matches_fnmatch(const char *sudoers_cmnd, const char *sudoers_args,
if (!open_cmnd(user_cmnd, runchroot, digests, &fd))
goto bad;
#ifndef SUDOERS_NAME_MATCH
- if (!do_stat(fd, user_cmnd, runchroot, intercepted, NULL))
+ if (!do_stat(fd, user_cmnd, runchroot, &sb))
+ goto bad;
+ if (!intercept_ok(user_cmnd, intercepted, &sb))
goto bad;
#endif
/* Check digest of user_cmnd since sudoers_cmnd is a pattern. */
@@ -448,6 +468,9 @@ command_matches_regex(const char *sudoers_cmnd, const char *sudoers_args,
const char *runchroot, bool intercepted,
const struct command_digest_list *digests)
{
+#ifndef SUDOERS_NAME_MATCH
+ struct stat sb;
+#endif
int fd = -1;
debug_decl(command_matches_regex, SUDOERS_DEBUG_MATCH);
@@ -468,7 +491,9 @@ command_matches_regex(const char *sudoers_cmnd, const char *sudoers_args,
if (!open_cmnd(user_cmnd, runchroot, digests, &fd))
goto bad;
#ifndef SUDOERS_NAME_MATCH
- if (!do_stat(fd, user_cmnd, runchroot, intercepted, NULL))
+ if (!do_stat(fd, user_cmnd, runchroot, &sb))
+ goto bad;
+ if (!intercept_ok(user_cmnd, intercepted, &sb))
goto bad;
#endif
/* Check digest of user_cmnd since sudoers_cmnd is a pattern. */
@@ -551,7 +576,9 @@ command_matches_glob(const char *sudoers_cmnd, const char *sudoers_args,
/* Open the file for fdexec or for digest matching. */
if (!open_cmnd(cp, runchroot, digests, &fd))
continue;
- if (!do_stat(fd, cp, runchroot, intercepted, &sudoers_stat))
+ if (!do_stat(fd, cp, runchroot, &sudoers_stat))
+ continue;
+ if (!intercept_ok(cp, intercepted, &sudoers_stat))
continue;
if (user_stat == NULL ||
(user_stat->st_dev == sudoers_stat.st_dev &&
@@ -603,7 +630,9 @@ command_matches_glob(const char *sudoers_cmnd, const char *sudoers_args,
/* Open the file for fdexec or for digest matching. */
if (!open_cmnd(cp, runchroot, digests, &fd))
continue;
- if (!do_stat(fd, cp, runchroot, intercepted, &sudoers_stat))
+ if (!do_stat(fd, cp, runchroot, &sudoers_stat))
+ continue;
+ if (!intercept_ok(cp, intercepted, &sudoers_stat))
continue;
if (user_stat == NULL ||
(user_stat->st_dev == sudoers_stat.st_dev &&
@@ -668,7 +697,9 @@ command_matches_normal(const char *sudoers_cmnd, const char *sudoers_args,
* c) there are args in sudoers and on command line and they match
* d) there is a digest and it matches
*/
- if (user_stat != NULL && do_stat(fd, sudoers_cmnd, runchroot, intercepted, &sudoers_stat)) {
+ if (user_stat != NULL && do_stat(fd, sudoers_cmnd, runchroot, &sudoers_stat)) {
+ if (!intercept_ok(sudoers_cmnd, intercepted, &sudoers_stat))
+ goto bad;
if (user_stat->st_dev != sudoers_stat.st_dev ||
user_stat->st_ino != sudoers_stat.st_ino)
goto bad;
diff --git a/plugins/sudoers/parse.c b/plugins/sudoers/parse.c
index 80b685ff4..a56f86c81 100644
--- a/plugins/sudoers/parse.c
+++ b/plugins/sudoers/parse.c
@@ -131,6 +131,14 @@ sudoers_lookup_pseudo(struct sudo_nss_list *snl, struct passwd *pw,
debug_return_int(validated);
}
+static void
+init_cmnd_info(struct cmnd_info *info)
+{
+ memset(info, 0, sizeof(*info));
+ if (def_intercept || ISSET(sudo_mode, MODE_POLICY_INTERCEPTED))
+ info->intercepted = true;
+}
+
static int
sudoers_lookup_check(struct sudo_nss *nss, struct passwd *pw,
int *validated, struct cmnd_info *info, struct cmndspec **matching_cs,
@@ -143,9 +151,7 @@ sudoers_lookup_check(struct sudo_nss *nss, struct passwd *pw,
struct member *matching_user;
debug_decl(sudoers_lookup_check, SUDOERS_DEBUG_PARSER);
- memset(info, 0, sizeof(*info));
- if (def_intercept || ISSET(sudo_mode, MODE_POLICY_INTERCEPTED))
- info->intercepted = true;
+ init_cmnd_info(info);
TAILQ_FOREACH_REVERSE(us, &nss->parse_tree->userspecs, userspec_list, entries) {
if (userlist_matches(nss->parse_tree, pw, &us->users) != ALLOW)
@@ -193,7 +199,7 @@ sudoers_lookup_check(struct sudo_nss *nss, struct passwd *pw,
debug_return_int(cmnd_match);
}
free(info->cmnd_path);
- memset(info, 0, sizeof(*info));
+ init_cmnd_info(info);
}
}
}
@@ -247,19 +253,25 @@ apply_cmndspec(struct cmndspec *cs)
"user_type -> %s", user_type);
}
}
- if (user_role != NULL || user_type != NULL) {
- if (def_intercept) {
- sudo_warnx("%s",
- U_("SELinux RBAC is not supported when intercept mode is enabled"));
- debug_return_bool(false);
- }
- if (def_log_subcmds) {
- sudo_warnx("%s",
- U_("SELinux RBAC is not supported when the log_subcmds flag is enabled"));
- debug_return_bool(false);
- }
- }
#endif /* HAVE_SELINUX */
+#ifdef HAVE_APPARMOR
+ /* Set AppArmor profile, if specified */
+ if (cs->apparmor_profile != NULL) {
+ user_apparmor_profile = strdup(cs->apparmor_profile);
+ if (user_apparmor_profile == NULL) {
+ sudo_warnx(U_("%s: %s"), __func__,
+ U_("unable to allocate memory"));
+ debug_return_bool(false);
+ }
+ } else {
+ user_apparmor_profile = def_apparmor_profile;
+ def_apparmor_profile = NULL;
+ }
+ if (user_apparmor_profile != NULL) {
+ sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
+ "user_apparmor_profile -> %s", user_apparmor_profile);
+ }
+#endif
#ifdef HAVE_PRIV_SET
/* Set Solaris privilege sets */
if (runas_privs == NULL) {
@@ -434,7 +446,7 @@ sudoers_lookup(struct sudo_nss_list *snl, struct passwd *pw, int *cmnd_status,
*cmnd_status = info.status;
}
if (defs != NULL)
- update_defaults(parse_tree, defs, SETDEF_GENERIC, false);
+ (void)update_defaults(parse_tree, defs, SETDEF_GENERIC, false);
if (!apply_cmndspec(cs))
SET(validated, VALIDATE_ERROR);
else if (match == ALLOW)
@@ -531,6 +543,10 @@ new_long_entry(struct cmndspec *cs, struct cmndspec *prev_cs)
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))
diff --git a/plugins/sudoers/parse.h b/plugins/sudoers/parse.h
index 0375b54be..e276faad0 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-2021
+ * Copyright (c) 1996, 1998-2000, 2004, 2007-2022
* Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -149,6 +149,9 @@ struct command_options {
#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
@@ -233,6 +236,9 @@ struct cmndspec {
#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
@@ -361,8 +367,9 @@ void alias_put(struct alias *a);
/* check_aliases.c */
int check_aliases(struct sudoers_parse_tree *parse_tree, bool strict, bool quiet, int (*cb_unused)(struct sudoers_parse_tree *, struct alias *, void *));
-/* gram.c */
+/* gram.y */
extern struct sudoers_parse_tree parsed_policy;
+extern bool (*sudoers_error_hook)(const char *file, int line, int column, const char *fmt, va_list args);
bool init_parser(const char *path, bool quiet, bool strict);
void free_member(struct member *m);
void free_members(struct member_list *members);
diff --git a/plugins/sudoers/parse_ldif.c b/plugins/sudoers/parse_ldif.c
index debdbf32e..6c2b74aa0 100644
--- a/plugins/sudoers/parse_ldif.c
+++ b/plugins/sudoers/parse_ldif.c
@@ -494,15 +494,16 @@ ldif_to_sudoers(struct sudoers_parse_tree *parse_tree,
/*
* Iterate over roles in sorted order, converting to sudoers.
*/
- for (n = 0; n < numroles; n++) {
+ for (n = 0, role = NULL; n < numroles; n++) {
bool reuse_userspec = false;
bool reuse_privilege = false;
bool reuse_runas = false;
+ struct sudo_role *prev_role = role;
role = role_array[n];
/* Check whether we can reuse the previous user and host specs */
- if (n > 0 && role->users == role_array[n - 1]->users) {
+ if (prev_role != NULL && role->users == prev_role->users) {
reuse_userspec = true;
/*
@@ -511,12 +512,12 @@ ldif_to_sudoers(struct sudoers_parse_tree *parse_tree,
* we are storing options.
*/
if (!store_options) {
- if (role->hosts == role_array[n - 1]->hosts) {
+ if (role->hosts == prev_role->hosts) {
reuse_privilege = true;
/* Reuse runasusers and runasgroups if possible. */
- if (role->runasusers == role_array[n - 1]->runasusers &&
- role->runasgroups == role_array[n - 1]->runasgroups)
+ if (role->runasusers == prev_role->runasusers &&
+ role->runasgroups == prev_role->runasgroups)
reuse_runas = true;
}
}
diff --git a/plugins/sudoers/po/cs.mo b/plugins/sudoers/po/cs.mo
index 3f1291258..8247c6b12 100644
--- a/plugins/sudoers/po/cs.mo
+++ b/plugins/sudoers/po/cs.mo
Binary files differ
diff --git a/plugins/sudoers/po/cs.po b/plugins/sudoers/po/cs.po
index 64967010d..c2246aa44 100644
--- a/plugins/sudoers/po/cs.po
+++ b/plugins/sudoers/po/cs.po
@@ -10,10 +10,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.10b1\n"
+"Project-Id-Version: sudoers 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-17 20:35+01:00\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-06-04 19:16+02:00\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\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:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "chyba syntaxe"
@@ -47,17 +47,17 @@ msgstr "*** BEZPEČNOSTNà hlášení o %h ***"
msgid "Sorry, try again."
msgstr "Je nám líto, zkuste to znovu."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -73,39 +73,39 @@ msgstr "Je nám líto, zkuste to znovu."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -114,23 +114,21 @@ msgstr "Je nám líto, zkuste to znovu."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -138,120 +136,120 @@ msgstr "Je nám líto, zkuste to znovu."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "nelze alokovat paměť"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "kontrolní souÄet vyžaduje název cesty"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "hodnoty „CWD“ musí zaÄínat na „/“, „~“ nebo „*“"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "cesta „CWD“ je příliš dlouhá"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "hodnoty „CHROOT“ musí zaÄínat na „/“, „~“ nebo „*“"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "cesta „CHROOT“ je příliš dlouhá"
-#: gram.y:788
+#: gram.y:801
#, 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:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "neplatná hodnota notbefore (zaÄátek platnosti)"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "neplatná hodnota notafter (konec platnosti)"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "hodnota Äasového limitu je příliÅ¡ velká"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "neplatná hodnota Äasového limitu"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "příkaz je příliš dlouhý"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Alias „%s“ je již definován"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -271,37 +269,37 @@ msgstr "Alias „%s“ je již definován"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -312,23 +310,21 @@ msgstr "Alias „%s“ je již definován"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -336,69 +332,70 @@ msgstr "Alias „%s“ je již definován"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -407,16 +404,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "vnitÅ™ní chyba, pÅ™eteÄení %s"
@@ -431,31 +430,31 @@ msgstr "nelze zdvojit standardní vstup: %m"
msgid "unable to execute %s: %m"
msgstr "nelze spustit %s: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "nelze vytvořit proces"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "nelze vytvořit proces: %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "nelze otevřít rouru: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (příkaz pokraÄuje) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -571,13 +570,13 @@ 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:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "nelze vytvořit adresář %s"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "nelze změnit práva %s na 0%o"
@@ -592,8 +591,8 @@ msgstr "chyba pÅ™i Ätení Äasovacího souboru: %s"
msgid "invalid timing file line: %s"
msgstr "neplatný řádek s Äasovacím souborem: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "nelze vytvořit UUID"
@@ -652,56 +651,56 @@ msgstr "chyba při zavírání iofd %d: %s"
msgid "error flushing iofd %d: %s"
msgstr "chyba při vyprazdňování iofd %d: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "neplatný I/O log %s: odkazováno na %s, které není přítomno"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: nelze nalézt bod obnovy [%lld, %ld]"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "nelze otevřít %s"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "nelze otevřít %s/%s"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "%s/%s nelze zkopírovat do %s/%s: %s"
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "%s nelze přejmenovat na %s"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: nelze nalézt bod obnovy [%lld, %ld]"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "chybí vstupně-výstupní soubor s protokolem %s/%s"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: nelze skoÄit vpÅ™ed o %zu"
@@ -710,32 +709,32 @@ msgstr "%s/%s: nelze skoÄit vpÅ™ed o %zu"
msgid "unable to connect to relay"
msgstr "k relayi se nelze připojit"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "správa od serveru je příliš velká: %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -780,6 +779,13 @@ msgstr "%s: neÄekaný IoBuffer"
msgid "protocol error"
msgstr "chyba protokolu"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "%s o velikosti %zu nelze rozbalit"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -795,110 +801,110 @@ msgstr "nerozpoznaný druh zprávy ClientMessage"
msgid "timed out writing to client %s"
msgstr "pÅ™i zapisování do klienta %s vyprÅ¡el Äasový limit"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "chybí vyrovnávací paměť pro zápis do klienta %s"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr "pÅ™i Ätení z klienta %s vyprÅ¡el Äasový limit"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "konec souboru od %s bez řádného ukonÄení TLS"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "zpráva od klienta je příliš velká: %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "zpráva od klienta je příliš velká"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "neplatná zpráva ClientMessage"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "nelze získat vzdálenou IP adresu"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "K objektu SSL nelze připojit uživatelská data: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "nelze nastavit naslouchací socket"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "neÄekaný signál %d"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "protokolovací server suda"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr "Volby:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "cesta ke konfiguraÄnímu souboru"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "zobrazí nápovÄ›du a skonÄí"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "neoddělí proces, běží na popředí"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "procentuální pravděpodobnost, že spojení se přeruší"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "zobrazí údaje o verzi a skonÄí"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Je vyžadována knihovna Protobuf-C verze 1.3 nebo vyšší"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "neplatná hodnota pravděpodobnosti ztráty: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s verze %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "neznámý uživatel %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -972,7 +978,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] nedovolený klíÄ: %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "nelze otevřít soubor protokolu %s"
@@ -985,13 +991,13 @@ msgstr "TLS kontext serveru nelze inicializovat"
msgid "unable to initialize relay TLS context"
msgstr "TLS kontext relay nelze inicializovat"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "soubor s žurnálem nelze vytvořit"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "%s nelze uzamknout"
@@ -1004,8 +1010,8 @@ msgstr "soubor s žurnálem nelze zamknout"
msgid "unable to open journal file"
msgstr "soubor s žurnálem nelze otevřít"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "soubor s žurnálem nelze zapsat"
@@ -1023,11 +1029,11 @@ msgstr "neÄekaný konec souboru pÅ™i Ätení žurnálu"
msgid "error reading journal file"
msgstr "chyba pÅ™i Ätení souboru s žurnálem"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "neplatný soubor s žurnálem, nelze restartovat"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "nelze se přesunou na [%lld, %ld] v souboru žurnálu %s"
@@ -1115,7 +1121,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: neplatná správa ServerHello, chybí server_id"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "neplatná správa ServerHello"
@@ -1136,34 +1142,34 @@ msgstr "pÅ™i Ätení z relaye vyprÅ¡el Äasový limit"
msgid "relay host name does not match certificate"
msgstr "název stroje relaye neodpovídá certifikátu"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "chyba pÅ™i Ätení z relaye"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "z relaye nelze Äíst"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "relay server uzavřel spojení"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "správa od serveru je příliš velká"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "pÅ™i zapisování do relaye %s (%s) vyprÅ¡el Äasový limit"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "pÅ™i zapisování do relaye vyprÅ¡el Äasový limit"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "chyba při zápisu do relaye"
@@ -1219,7 +1225,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:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "%s:%s nelze vyhledat: %s"
@@ -1233,30 +1239,30 @@ msgstr "nelze získat IP adresu serveru"
msgid "unable to read %s/%s: %s"
msgstr "%s/%s nelze pÅ™eÄíst: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "neÄekaná I/O událost %d"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: neÄekaný stav %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "od serveru byla přijata chybová zpráva: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "od serveru byla přijata zpráva o zrušení: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: neÄekaná hodnota type_case %d"
@@ -1265,11 +1271,15 @@ msgstr "%s: neÄekaná hodnota type_case %d"
msgid "timeout reading from server"
msgstr "pÅ™i Ätení ze serveru vyprÅ¡el Äasový limit"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "název stroje neodpovídá certifikátu"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "pÅ™edÄasný konec souboru"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "správa od serveru je příliš velká: %u"
@@ -1301,12 +1311,12 @@ msgstr "uplynulý Äas zaslaný serveru [%lld, %ld]"
msgid "commit point received from server [%lld, %ld]"
msgstr "od server byl přijat bod zápisu [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "PÅ™i navazování spojení TLS vyprÅ¡el Äasový limit"
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "událost nelze nastavit"
@@ -1315,50 +1325,51 @@ msgstr "událost nelze nastavit"
msgid "TLS connection failed: %s"
msgstr "spojení TLS selhalo: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "objekt SSL nelze alokovat: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, 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:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "kontext TLS nelze inicializovat"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "šifru TLS 1.2 nelze nastavit na %s: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "šifru TLS 1.3 nelze nastavit na %s: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "nelze nastavit parametry Diffieho-Hellmana: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "nelze vytvořit kontext TLS: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "nelze nastavit minimální verzi protokolu na TLS 1.2: %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "nelze získat Äas"
@@ -1414,47 +1425,47 @@ msgstr ""
"chyba autentizaÄního serveru:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: principála nelze převést na řetězec („%s“): %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: „%s“ nelze rozebrat: %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: nelze najít keš s pověřeními: %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: nelze alokovat volby: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: nelze získat pověření: %s"
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: nelze inicializovat keš s pověřeními: %s"
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: pověření nelze uložit do keše: %s"
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: nelze získat principála stroje: %s"
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: TGT nelze ověřit! Podezření na útok!: %s"
@@ -1495,7 +1506,7 @@ msgstr "ÚÄtu vyprÅ¡ela platnost nebo v konfiguraci PAM pro sudo chybí sekce
msgid "PAM account management error: %s"
msgstr "Chyba správy úÄtů PAM: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "v databázi %s neexistujete"
@@ -1536,27 +1547,27 @@ msgstr "neplatná délka kódu pro SecurID"
msgid "unable to initialize SIA session"
msgstr "nelze inicializovat relaci SIA"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "neplatné autentizaÄní metody"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "Sudo bylo sestaveno s neplatnými autentizaÄními metodami! Nesmíte míchat samostatnou a nesamostatnou autentizaci."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "žádné autentizaÄní metody"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "Sudo bylo sestaveno bez autentizaÄních metod! Chcete-li vypnout autentizaci, použijte pÅ™i sestavování pÅ™epínaÄ --disable-autentizaci."
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Nelze inicializovat metody autentizace."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "AutentizaÄní metody:"
@@ -1568,17 +1579,17 @@ msgstr "Nebylo možné urÄit podmínku pro audit"
msgid "unable to commit audit record"
msgstr "auditní zprávu nelze odeslat"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "chyba pÅ™i Ätení souboru lekce %s"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, 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:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1598,32 +1609,27 @@ msgstr ""
" 3. S velkými právy přichází velká zodpovědnost.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "neznámé UID %u"
-#: plugins/sudoers/check_aliases.c:92
-#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Chyba: %s:%d:%d: smyÄka v %s „%s“"
-
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Pozor: %s:%d:%d: smyÄka v %s „%s“"
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Chyba: %s:%d:%d: %s „%s“ použit, ale nedefinován"
+msgid "cycle in %s \"%s\""
+msgstr "smyÄka v %s „%s“"
-#: plugins/sudoers/check_aliases.c:98
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Pozor: %s:%d:%d: %s „%s“ použit, ale nedefinován"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "%s „%s“ použit, ale nedefinován"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1640,7 +1646,7 @@ msgstr "poÄáteÄní poÅ™adí: %s: %s"
msgid "order padding: %s: %s"
msgstr "odsazení pořadí: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "verze gramatiky %s je %d\n"
@@ -1660,10 +1666,10 @@ msgstr "nepodporovaný formát výstupu %s"
msgid "%s: input and output files must be different"
msgstr "%s: vstupní a výstupní soubory se musí lišit"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "nelze inicializovat výchozí hodnoty sudoers"
@@ -1692,28 +1698,18 @@ msgstr "neplatný druh potlaÄení: %s"
msgid "invalid filter: %s"
msgstr "neplatný filtr: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "rozbor souboru %s se nezdařil, neznámá chyba"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "chyba při rozboru %s kolem řádku %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "chyba při rozboru %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "do %s nelze zapsat"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1722,7 +1718,7 @@ msgstr ""
"%s – převádí mezí formáty souboru sudoers\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1765,31 +1761,31 @@ msgstr ""
" -V, --version zobrazí údaje o verzi a skonÄí"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "nelze získat Äas GMT"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "nelze naformátovat Äasový údaj"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: neznámá položka defaults „%s“"
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "příliš mnoho záznamů sudoers, maximum je %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "promÄ›nná prostÅ™edí SUDOERS_BASE není nastavená a pÅ™epínaÄ -b nebyl zadán."
@@ -1834,780 +1830,751 @@ msgstr "%s:%d:%d: Defaults „%s“ nelze vyhradit pro stroj"
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:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, 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:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, 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:50
+#: plugins/sudoers/def_data.c:56
#, 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:54
+#: plugins/sudoers/def_data.c:60
#, 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:58
+#: plugins/sudoers/def_data.c:64
#, 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:62
+#: plugins/sudoers/def_data.c:68
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:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "Ignoruje „.“ v PATH"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
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:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Odešle e-mail, když autentizace uživatele selže"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
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:82
+#: plugins/sudoers/def_data.c:88
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:86
+#: plugins/sudoers/def_data.c:92
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:90
+#: plugins/sudoers/def_data.c:96
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:94
+#: plugins/sudoers/def_data.c:100
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:98
+#: plugins/sudoers/def_data.c:104
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:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "Soubor obsahující školení k sudo: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Standardně vyžaduje, aby se uživatelé autentizovali"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "Root může spustit sudo"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
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:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "Do (nesyslogového) protokolu zaznamenává rok"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
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:126
+#: plugins/sudoers/def_data.c:132
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:130
+#: plugins/sudoers/def_data.c:136
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:134
+#: plugins/sudoers/def_data.c:140
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:138
+#: plugins/sudoers/def_data.c:144
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:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr "Urazí uživatele, pokud zadá chybné heslo"
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr "Dovolí uživateli spustit sudo, pouze když má TTY"
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "Visudo bude dodržovat proměnou prostředí EDITOR"
-#: plugins/sudoers/def_data.c:154
+#: 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:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "Ptá se na heslo runas_default uživatele, ne na heslo uživatele"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "Ptá se na heslo cílového uživatele, ne na heslo uživatele"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "Použije výchozí nastavení v přihlašovací třídě cílového uživatele, existuje-li"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Nastaví proměnné prostředí LOGNAME a USER"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "Nastaví pouze efektivní UID na cílového uživatele, nikoliv reálné UID"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "Neinicializuje vektor skupin na vektor cílového uživatele"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "Délka zlomu řádků v protokolu (0 pro nezalamování): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "Limit na Äasové údaje autentizace: %.1f min"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "Limit na výzvu k heslu: %.1f min"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, 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:198
+#: plugins/sudoers/def_data.c:204
#, 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:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "Cesta k souboru s protokolem: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Cesta k poštovnímu programu: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "PÅ™epínaÄe pro poÅ¡tovní program: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "Adresa, kam zasílat poštu: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "Adrese, ze které zasílat poštu: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, 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:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "Zpráva při chybném hesle: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "Cesta k adresáři se stavy lekcí: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, 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:238
+#: plugins/sudoers/def_data.c:244
#, 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:242
+#: plugins/sudoers/def_data.c:248
#, 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:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "Výchozí výzva pro heslo: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "Je-li nastaveno, passprompt přebije systémovou výzvu ve všech případech."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, 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:258
+#: plugins/sudoers/def_data.c:264
#, 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:262
+#: plugins/sudoers/def_data.c:268
#, 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:266
+#: plugins/sudoers/def_data.c:272
#, 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:270
+#: plugins/sudoers/def_data.c:276
#, 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:274
+#: plugins/sudoers/def_data.c:280
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:278
+#: plugins/sudoers/def_data.c:284
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:282
+#: plugins/sudoers/def_data.c:288
#, 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:286
+#: plugins/sudoers/def_data.c:292
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:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Dovolit uživatelům nastavit libovolné proměnné prostředí"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
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:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "PromÄ›nné prostÅ™edí kontrolované na bezpeÄnost:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Proměnné prostředí, které se mají odstranit:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Proměnné prostředí, které se mají zachovat:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "Selinuxový role, která se použije v novém bezpeÄnostním kontextu: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "Selinuxový typ, který se použije v novém bezpeÄnostním kontextu: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "Cesta k souboru s prostÅ™edím urÄeném pro sudo: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "Cesta k souboru s omezeným prostÅ™edím urÄeném pro sudo: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "Národní prostředí, které se použije pro rozbor sudoers: %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "Dovolit sudu ptát se na heslo, i kdyby bylo Äitelné"
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "Indikovat vstup uživatele při dotazu na heslo"
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "Použit rychlejší expanzi globů, která je méně přesná, ale nepřistupuje k souborovému systému"
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "Umask zadaná v sudoers přebije uživatelovu, i když je volnější"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
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:350
+#: plugins/sudoers/def_data.c:356
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:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr "Komprimovat protokoly o vstupu/výstupu pomocí zlib"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "Vždy spouštět příkazy v pseudoTTY"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Modul pro podporu neunixových skupin: %s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:372
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Adresář, kam ukládat protokoly o vstupu/výstupu: %s"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:376
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Soubor, do kterého ukládat protokol o vstupu/výstupu: %s"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:380
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Při alokaci PTY přidat záznam do souboru utmp/utmpx"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:384
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Do utmp zapisovat runas uživatele, nikoliv uživatele volajícího"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Množina povolujících práv: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Množina omezujících práv: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "Spouštět příkazy v PTY na pozadí"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "Použít tuto službu PAM: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Název služby PAM, která se použije pro přihlašovací shelly: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Název služby PAM, která se použije, když sudo běží s pÅ™epínaÄem -A: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Pokusit se získat pověření PAM pro cílového uživatele"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "Vytvořit pro spouštěný příkaz novou relaci PAM"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "Ověřit platnost úÄtu pomocí PAM"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, 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:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "Zapnout v sudoers podporu netgroup"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
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:430
+#: plugins/sudoers/def_data.c:436
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:434
+#: plugins/sudoers/def_data.c:440
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:438
+#: plugins/sudoers/def_data.c:444
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:442
+#: plugins/sudoers/def_data.c:448
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:446
+#: plugins/sudoers/def_data.c:452
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:450
+#: plugins/sudoers/def_data.c:456
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:454
+#: plugins/sudoers/def_data.c:460
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:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Položky protokolu větší než tato hodnota budou rozděleny do více zpráv syslogu: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Uživatel, který bude vlastnit soubory s I/O protokolem: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Skupina, která bude vlastnit soubory s I/O protokolem: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Přístupová práva k souboru s I/O protokolem: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Spustit příkazy podle deskriptoru souboru namísto podle cesty: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignorovat neznámé položky Defaults v sudoers namísto vypisování varování"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "ÄŒas v sekundách, po kterém bude příkaz ukonÄen: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "Povolit uživateli zadat Äasový limit na příkazovém řádku"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Zapisovat log na disk ihned namísto po vÄ›tších Äástech"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
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:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Druh záznamu s Äasovým údajem autentizace: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "Zpráva o selhání autentizace: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr "Ignorovat velikost znaků při porovnávání jmen uživatelů"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr "Ignorovat velikost znaků při porovnávání názvů skupin"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
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:518
+#: plugins/sudoers/def_data.c:524
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:522
+#: plugins/sudoers/def_data.c:528
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:526
+#: plugins/sudoers/def_data.c:532
#, 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:530
+#: plugins/sudoers/def_data.c:536
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:534
+#: plugins/sudoers/def_data.c:540
#, 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:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Cesta k souboru s certifikátem sudoers: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Cesta k souboru se soukromým klíÄem sudoers: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
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:550
+#: plugins/sudoers/def_data.c:556
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:554
+#: plugins/sudoers/def_data.c:560
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:558
+#: plugins/sudoers/def_data.c:564
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:562
+#: plugins/sudoers/def_data.c:568
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:566
+#: plugins/sudoers/def_data.c:572
#, 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:570
+#: plugins/sudoers/def_data.c:576
#, 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:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Vytvářet protokol v tomto formátu: %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "Zapnout podporu pro SELinux RBAC"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Cesta k souboru, který se vytvoří při prvním spuštění suda: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
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:590
+#: plugins/sudoers/def_data.c:596
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:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "Zaznamenávat návratový kód příkazů"
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
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:602
+#: plugins/sudoers/def_data.c:608
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:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "Největší velikost, které smí adresní prostor procesu dorůst (v bajtech): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Největší velikost souboru s obrazem paměti, který smí být vytvořen (v bajtech): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "NejvÄ›tší množství procesorového Äasu, který proces smí využít (v sekundách): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "Největší velikost datového segmentu procesu (v bajtech): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Největší velikost souboru, který proces smí vytvořit (v bajtech): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "NejvÄ›tší poÄet zámků, které proces smí vytvoÅ™it: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "Největší velikost paměti, kterou proces smí uzamknout (v bajtech): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "NejvÄ›tší poÄet souboru, které proces smí držet otevÅ™ené: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "NejvÄ›tší poÄet procesů, které uživatel smí souběžnÄ› spustit: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "Největší velikost rezidentní paměti, které proces smí dorůst (v bajtech): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "Největší velikost zásobníku, které proces smí dorůst (v bajtech): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
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:654
+#: plugins/sudoers/def_data.c:660
msgid "Store plaintext passwords in I/O log input"
msgstr "Ukládat Äitelná hesla do vstupu I/O protokolu"
-#: plugins/sudoers/def_data.c:658
+#: plugins/sudoers/def_data.c:664
msgid "List of regular expressions to use when matching a password prompt"
msgstr "Seznam regulárních výrazů, které se použijí na rozpoznání výzvy k heslu"
-#: plugins/sudoers/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: neznámá položka defaults „%s“"
-
-#: plugins/sudoers/defaults.c:242
-#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: u „%s“ nebyla zadána žádná hodnota"
-
-#: plugins/sudoers/defaults.c:245
-#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: u „%s“ nebyla zadána žádná hodnota"
-
-#: plugins/sudoers/defaults.c:258
-#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: neplatný operátor „%c=“ u „%s“"
-
-#: plugins/sudoers/defaults.c:261
-#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: neplatný operátor „%c=“ u „%s“"
-
-#: plugins/sudoers/defaults.c:297
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: volba „%s“ nebere hodnotu"
+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/defaults.c:300
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: volba „%s“ nebere hodnotu"
+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/defaults.c:328
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: neplatný typ Defaults 0x%x u volby „%s“"
+msgid "unknown defaults entry \"%s\""
+msgstr "neznámá položka defaults „%s“"
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: neplatný typ Defaults 0x%x u volby „%s“"
+msgid "no value specified for \"%s\""
+msgstr "u „%s“ nebyla zadána žádná hodnota"
-#: plugins/sudoers/defaults.c:341
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: hodnota „%s“ je pro volbu „%s“ neplatná"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "neplatný operátor „%c=“ u „%s“"
-#: plugins/sudoers/defaults.c:344
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: hodnota „%s“ není pro volbu „%s“ platná"
+msgid "option \"%s\" does not take a value"
+msgstr "volba „%s“ nebere hodnotu"
-#: plugins/sudoers/defaults.c:1161
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: cesta pro „%s“ je příliš dlouhá"
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "neplatný typ Defaults 0x%x u volby „%s“"
-#: plugins/sudoers/defaults.c:1164
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: cesta pro „%s“ je příliš dlouhá"
+msgid "value \"%s\" is invalid for option \"%s\""
+msgstr "hodnota „%s“ není pro volbu „%s“ platná"
-#: plugins/sudoers/defaults.c:1175
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: hodnoty „%s“ musí zaÄínat na „/“, „~“ nebo „*“"
-
-#: plugins/sudoers/defaults.c:1179
-#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: hodnoty „%s“ musí zaÄínat na „/“, „~“ nebo „*“"
+msgid "path name for \"%s\" too long"
+msgstr "cesta pro „%s“ je příliš dlouhá"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: hodnoty „%s“ musí zaÄínat na „/“"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "hodnoty „%s“ musí zaÄínat na „/“, „~“ nebo „*“"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: hodnoty „%s“ musí zaÄínat na „/“"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "hodnoty „%s“ musí zaÄínat na „/“"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2622,16 +2589,6 @@ msgstr "prostředí nelze znovu sestavit"
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"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "chyba rozboru v %s kolem řádku %d"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "chyba rozboru v %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2681,37 +2638,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:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "nelze aktualizovat soubor s poÅ™adovým Äíslem"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "nelze zapsat do souboru s I/O protokolem: %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "%s/%s nelze vytvořit"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: vnitřní chyba, soubor s I/O protokolem pro událost %d není otevřen"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "nelze pÅ™eÄíst hodiny"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: vnitřní chyba, neplatný signál %d"
@@ -2730,16 +2687,16 @@ msgstr "nelze inicializovat certifikát SSL a databázi klíÄů: %s"
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "pro SSL musíte v %s nastavit TLS_CERT"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "LDAP nelze inicializovat: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls uvedeno, ale knihovna LDAP nepodporuje ldap_start_tls_s_np() ani ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "neplatný atribut sudoOrder: %s"
@@ -2779,8 +2736,8 @@ msgstr "nelze otevřít auditní systém"
msgid "unable to send audit message"
msgstr "nelze odeslat auditní zprávu"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "chyba ve smyÄce událostí"
@@ -2789,101 +2746,101 @@ msgstr "chyba ve smyÄce událostí"
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Vytvoření nového objektu SSL_CTX selhalo: %s"
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:225
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "nelze zavést svazek certifikátů autorit %s"
-#: plugins/sudoers/log_client.c:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "nelze zavést certifikát %s"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "nelze zavést soukromý klÃ­Ä %s"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Objekt SSL nelze alokovat: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "Spojení TLS s %s:%s selhalo: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "Inicializace TLS nebyla úspěšná"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "Ustanovení spojení TLS nebylo úspěšné"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, 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:1608
-msgid "unable to unpack ServerMessage"
-msgstr "zprávu ServerMessage nelze rozbalit"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "spojení k protokolovému serveru ztraceno"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "chybí vyrovnávací paměť pro zápis"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "k protokolovacímu serveru se nelze připojit"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "uživatel NENà v sudoers"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "uživatel NENà na stroji autorizován"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "příkaz nedovolen"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s není v souboru sudoers.\n"
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:326
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "Uživatel %s nemá dovoleno spustit sudo na %s.\n"
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Je nám líto, uživatel %s nesmí spouštět sudo na %s.\n"
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Je nám líto, uživatel %s nemá dovoleno spouštět „%s%s%s“ jako %s%s%s na %s.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Tato skuteÄnost byla nahlášena správci.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: příkaz nenalezen"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2892,7 +2849,7 @@ msgstr ""
"ignoruje se „%s“ nalezený v „.“\n"
"Použijte „sudo ./%s„, je-li toto „%s“', který chcete spustit."
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:395
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
@@ -2900,33 +2857,39 @@ 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:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "selhání autentizace"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "je vyžadováno heslo"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "problém při rozboru sudoers"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "nelze zapsat soubor protokolu: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "souÄet pro %s (%s) má Å¡patnou délku %zu, oÄekávaná %zu"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "souÄet pro %s (%s) nemá tvar %s"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "SELinux RBAC není podporování, když je zapnut režim zachytávání"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "SELinux RBAC není podporováno, když zapnut příznak log_subcmds"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2935,7 +2898,7 @@ msgstr ""
"\n"
"Role LDAP: %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2943,38 +2906,38 @@ msgstr ""
"\n"
"Položka v sudoers:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " RunAsUsers: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " RunAsGroups: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Volby: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Příkazy:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, 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/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Výchozí hodnoty Runas a Command pro %s:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Uživatel %s smí spustit následující příkazy na %s:\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "Uživatel %s nemá dovoleno spustit sudo na %s.\n"
@@ -2994,64 +2957,59 @@ msgstr "neplatný atribut LDIF: %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "neplatné %.*s nenastaveno vnějším rozhraním sudo"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "cesta pro „%s“ je příliš dlouhá"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "nelze rozebrat seznam síťových adres"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
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:489
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
msgstr "ID uživatele nenastaveno vnějším rozhraním sudo"
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr "ID skupiny nenastaveno vnějším rozhraním sudo"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
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:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "neplatný pracovní adresář: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "neplatný kořenový adresář: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "nelze vykonat %s"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: neplatné příznaky souboru od vnějšího rozhraní suda: 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Verze modulu s politikami sudoers je %s\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Verze gramatiky souboru sudoers je %d\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3060,27 +3018,27 @@ msgstr ""
"\n"
"Cesta sudoers: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "cesta k nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "cesta k ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "cesta k ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "nelze zaregistrovat háÄek typu %d (verze %d.%d)"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "nelze odhlásit háÄek typu %d (verze %d.%d)"
@@ -3219,149 +3177,148 @@ msgstr "nelze inicializovat zdroj SSS. Je SSSD nainstalován na vašem stroji?"
msgid "unable to find symbol \"%s\" in %s"
msgstr "nelze nalézt symbol „%s“ v %s"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "problém s položkami defaults"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "z %s nelze získat výchozí hodnoty"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "nenalezeny žádné platné zdroje sudoers, konÄí se"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "uživatel nemá dovoleno změnit kořenový adresář na %s"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "nemáte dovoleno použít pÅ™epínaÄ -R s %s"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "uživatel nemá dovoleno změnit adresář na %s"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "nemáte dovoleno použít pÅ™epínaÄ -D s %s"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "nezadán žádný příkaz"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers udává, že root nemá dovoleno použít sudo"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "uživatel nemá dovoleno přebít omezení „closefrom“"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "nemáte dovoleno použít pÅ™epínaÄ -C"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "vlastník Äasového údaje (%s): Takový uživatel neexistuje"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "žádné TTY"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "je nám líto, ale pro spuštění sudo musíte mít TTY"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "neplatný shell pro uživatele %s: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "příkaz v aktuálním adresáři"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "„cd“ je vestavěný příkaz shellu a nelze jej přímo spustit."
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
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:643
+#: plugins/sudoers/sudoers.c:657
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:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr "uživatel nemá dovoleno nastavit Äasový limit příkazu"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
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:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "uživatel nemá dovoleno zachovat prostředí"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
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:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit není nutné spouštět přes sudo"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "%s nelze Äíst"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "nelze zjistit údaje o %s"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "%s není běžný soubor"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s je vlastněn UID %u, měl by být vlastněn %u"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s je zapisovatelný pro všechny"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s je vlastněn GID %u, mělo by být %u"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "pouze root může použít „-c %s“"
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "neznámá přihlašovací třída %s"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "nelze přeložit název stroje %s"
@@ -3571,99 +3528,94 @@ msgstr "cesta ke stavům lekce je příliš dlouhý: %s/%s"
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit by neměl být uveden s cestou"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "pÅ™epínaÄ -x bude v příštím vydání odstranÄ›n"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "prosím, zvažte použití nástroje cvtsudoers"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "pro úpravu %s stiskněte enter: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "obsah relace úprav zanechán v %s"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "zadaný editor (%s) neexistuje"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "žádný editor nenalezen (cesta k editoru = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "chyba zápisu"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "nelze získat údaje o doÄasném souboru (%s), %s nezmÄ›nÄ›no"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "doÄasný soubor o nulové velikosti (%s), %s nezmÄ›nÄ›no"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "editor (%s) selhal, %s nezměněno"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s nezměněno"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "nelze znovu otevřít doÄasný soubor (%s), %s nezmÄ›nÄ›no."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "není možné rozebrat doÄasný soubor (%s), neznámá chyba"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "vnitřní chyba, v seznamu nelze nalézt %s!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "nelze nastavit (UID, GID) %s na (%u, %u)"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s a %s se nenachází na jednom souborovém systému, pro přejmenování se použije mv"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "příkaz selhal: „'%s %s %s“, %s nezměněno"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "chyba při přejmenování %s, %s nezměněno"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Co teÄ? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3675,42 +3627,42 @@ msgstr ""
" (x) skonÄit bez uložení zmÄ›n do souboru sudoers\n"
" (Q) skonÄit a uložit zmÄ›ny do souboru sudoers (NEBEZPEÄŒNÉ!)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "nelze spustit %s"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: chybný vlastník (UID, GID), měl by být (%u, %u)\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: chybná práva, měla by být 0%o\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: rozbor úspěšný\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%s je zaneprázdněn, zkuste to později"
# The code indeed checks for non-localized "y" character.
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Přesto upravit? [y pro ano / N pro ne]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Pozor: %s:%d:%d: nepoužitý %s „%s“"
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3719,7 +3671,7 @@ msgstr ""
"%s – bezpeÄnÄ› upraví soubor sudoers\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3764,14 +3716,77 @@ msgstr "neplatné pokraÄování řádku"
msgid "invalid IPv6 address"
msgstr "neplatná IPv6 adresa"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "neÄekané zalomení řádku uvnitÅ™ Å™etÄ›zce"
-#: toke.l:1210
+#: toke.l:1218
msgid "too many levels of includes"
msgstr "příliš mnoho úrovní zanoření"
+#~ msgid "Error: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Chyba: %s:%d:%d: smyÄka v %s „%s“"
+
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Pozor: %s:%d:%d: smyÄka v %s „%s“"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "Pozor: %s:%d:%d: %s „%s“ použit, ale nedefinován"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "chyba při rozboru %s kolem řádku %d\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "chyba při rozboru %s\n"
+
+#~ msgid "%s: unknown defaults entry \"%s\""
+#~ msgstr "%s: neznámá položka defaults „%s“"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d: u „%s“ nebyla zadána žádná hodnota"
+
+#~ msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+#~ msgstr "%s:%d:%d: neplatný operátor „%c=“ u „%s“"
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: volba „%s“ nebere hodnotu"
+
+#~ msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+#~ msgstr "%s:%d:%d: neplatný typ Defaults 0x%x u volby „%s“"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: hodnota „%s“ je pro volbu „%s“ neplatná"
+
+#~ msgid "%s:%d:%d: path name for \"%s\" too long"
+#~ msgstr "%s:%d:%d: cesta pro „%s“ je příliš dlouhá"
+
+#~ msgid "%s: path name for \"%s\" too long"
+#~ msgstr "%s: cesta pro „%s“ je příliš dlouhá"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: hodnoty „%s“ musí zaÄínat na „/“, „~“ nebo „*“"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: hodnoty „%s“ musí zaÄínat na „/“"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "chyba rozboru v %s kolem řádku %d"
+
+#~ msgid "parse error in %s"
+#~ msgstr "chyba rozboru v %s"
+
+#~ msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#~ msgstr "SELinux RBAC není podporování, když je zapnut režim zachytávání"
+
+#~ msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#~ msgstr "SELinux RBAC není podporováno, když zapnut příznak log_subcmds"
+
+#~ 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"
@@ -3784,9 +3799,6 @@ msgstr "příliš mnoho úrovní zanoření"
#~ msgid "unable to read diffie-hellman parameters: %s"
#~ msgstr "parametry Diffieho-Hellmana nelze pÅ™eÄíst: %s"
-#~ msgid "unknown defaults entry \"%s\""
-#~ msgstr "neznámá položka defaults „%s“"
-
#~ msgid "%s:%d unknown key: %s"
#~ msgstr "%s:%d: neznámý klíÄ: %s"
@@ -3949,9 +3961,6 @@ msgstr "příliš mnoho úrovní zanoření"
#~ "\n"
#~ "Role SSSD: NEZNÃMÃ\n"
-#~ msgid "Warning: cycle in %s `%s'"
-#~ msgstr "Pozor: smyÄka v %s „%s“"
-
#~ msgid "Warning: unused %s `%s'"
#~ msgstr "Pozor: nepožitý %s „%s“"
diff --git a/plugins/sudoers/po/de.mo b/plugins/sudoers/po/de.mo
index b08458c38..ae40a6aee 100644
--- a/plugins/sudoers/po/de.mo
+++ b/plugins/sudoers/po/de.mo
Binary files differ
diff --git a/plugins/sudoers/po/de.po b/plugins/sudoers/po/de.po
index 715da494f..3f813136b 100644
--- a/plugins/sudoers/po/de.po
+++ b/plugins/sudoers/po/de.po
@@ -6,10 +6,10 @@
# Jochen Hein <jochen@jochen.org>, 2001-2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.10b1\n"
+"Project-Id-Version: sudoers 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-13 13:20+0100\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 12:45+0200\n"
"Last-Translator: Jochen Hein <jochen@jochen.org>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
@@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.3\n"
-#: confstr.sh:1 gram.y:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "Syntax-Fehler"
@@ -44,17 +44,17 @@ msgstr "*** Sicherheits-Information für %h ***"
msgid "Sorry, try again."
msgstr "Das hat nicht funktioniert, bitte nochmal probieren."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -70,39 +70,39 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -111,23 +111,21 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -135,120 +133,120 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "Es kann kein Speicher mehr alloziert werden"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "Eine Prüfsumme erfordert einen Pfadnamen"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "Werte für »CWD« müssen mit »/«, »~« oder »*« beginnen"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "»CWD« (aktuelles Arbeitsverzeichnis) Pfad ist zu lang"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "Werte für »CHROOT« müssen mit »/«, »~« oder »*« beginnen"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "»CHROOT« Pfad ist zu lang"
-#: gram.y:788
+#: gram.y:801
#, 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:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "ungültiger Wert für »notbefore«"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "ungültiger Wert für »notafter«"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "Wert für Timeout ist zu groß"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "ungültiger Wert für Timeout"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "Der Befehl ist zu lang"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Alias »%s« ist bereits definiert"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -268,37 +266,37 @@ msgstr "Alias »%s« ist bereits definiert"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -309,23 +307,21 @@ msgstr "Alias »%s« ist bereits definiert"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -333,69 +329,70 @@ msgstr "Alias »%s« ist bereits definiert"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -404,16 +401,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "Interner Fehler, %s-Ãœberlauf"
@@ -428,31 +427,31 @@ msgstr "Die Standardeingabe kann nicht dupliziert werden: %m"
msgid "unable to execute %s: %m"
msgstr "%s kann nicht ausgeführt werden: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "Fehler bei fork()"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "Fehler bei fork(): %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "Die Pipe kann nicht geöffnet werden: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (Befehl fortgesetzt) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -568,13 +567,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr "%s existiert, aber ist kein Verzeichnis (0%o)"
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "Das Verzeichnis »%s« kann nicht erstellt werden"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "Ändern des Modus von %s auf 0%o gescheitert"
@@ -589,8 +588,8 @@ msgstr "Fehler beim Lesen der Zeitdateizeile: %s"
msgid "invalid timing file line: %s"
msgstr "Ungültige Zeitdateizeile: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "UUID kann nicht generiert werden"
@@ -650,56 +649,56 @@ msgstr "Fehler beim Schließen des I/O Dateideskriptors %d: %s"
msgid "error flushing iofd %d: %s"
msgstr "Fehler beim Leeren des I/O Dateideskriptors %d: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "Ungültiges I/O log %s: »%s« wird verwendet, ist aber nicht vorhanden"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s; Der Wiederaufsetz-Punkt [%lld, %ld] kann nicht gefunden werden"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "Die Datei »%s« kann nicht geöffnet werden"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "Die Datei »%s/%s« kann nicht geöffnet werden"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, 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:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "Die Datei »%s« kann nicht in »%s« umbenannt werden"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: Der Wiederaufsetz-Punkt [%lld, %ld] kann nicht gefunden werden"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "Die I/O Logdatei %s/%s fehlt"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: kann nicht zur Position %zu springen"
@@ -708,32 +707,32 @@ msgstr "%s/%s: kann nicht zur Position %zu springen"
msgid "unable to connect to relay"
msgstr "Verbindung zum Relay kann nicht aufgebaut werden"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "Server-Nachricht ist zu groß: %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -779,6 +778,13 @@ msgstr "%s: unerwarteter IoBuffer"
msgid "protocol error"
msgstr "Protokollfehler"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "Kann »%s« nicht auspacken, Größe %zu"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -794,110 +800,110 @@ msgstr "unbekannter ClientMessage-Typ"
msgid "timed out writing to client %s"
msgstr "Zeitablauf beim Senden zum Client %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "Schreib-Puffer fehlt für Client %s"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr "Zeitablauf beim Lesen vom Client %s"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "Dateiende (EOF) von %s ohne korrekten TLS-Abscluß"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "Client-Nachricht ist zu groß: %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "Client-Nachricht ist zu groß"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "ungültige ClientMessage"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "Kann die entfernte IP-Adresse nicht finden"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Kann die User-Daten nicht an das SSL-Objekt anhängen: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "Konnte keinen Socket zum »Lauschen« einrichten"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "unerwartete Signal %d"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "sudo Log-Server"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr "Optionen:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "Pfad zur Konfigurationsdatei"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "Hilfe anzeigen und beenden"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "Nicht zum Hintergrundprozess werden, sondern im Vordergrund laufen"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "Wahrscheinlichkeit in Prozent für Verbindungsabbruch"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "Versionsinformation anzeigen und beenden"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Protobuf-C Version 1.3 oder höher ist notwendig"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "ungültiger Wert für »random drop«: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s Version %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "Unbekannter Benutzer %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -972,7 +978,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] ungültiger Schlüssel: %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "Die Protokolldatei kann nicht geöffnet werden %s"
@@ -985,13 +991,13 @@ msgstr "Server-SSL-Kontext kann nicht initialisiert werden"
msgid "unable to initialize relay TLS context"
msgstr "SSL-Kontext kann nicht initialisiert werden"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "Kann die Journal-Datei nicht anlegen"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "Die Datei »%s« kann nicht gesperrt werden"
@@ -1004,8 +1010,8 @@ msgstr "Die Journal-Datei »%s« kann nicht gesperrt werden"
msgid "unable to open journal file"
msgstr "Die Journal-Datei kann nicht geöffnet werden"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "In die Logdatei kann nicht geschrieben werden"
@@ -1023,11 +1029,11 @@ msgstr "unerwartetes Dateiende beim Lesen der Journal-Datei"
msgid "error reading journal file"
msgstr "Fehler beim Lesen der Journal-Datei"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "Ungültige Journal-Datei - kann nicht neu starten"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "Kann nicht zu [%lld, %ld] in der Journaldatei »%s« springen"
@@ -1115,7 +1121,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: ungültiges ServerHello, fehlende server_id"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "ungültiges ServerHello"
@@ -1136,34 +1142,34 @@ msgstr "Zeitablauf beim Lesen vom Relay-Server"
msgid "relay host name does not match certificate"
msgstr "Der Name des Relay-Hosts passt nicht zum Zertifikat"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "Fehler beim Lesen vom Relay-Host"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "Vom Relay-Server kann nicht gelesen werden"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "Der Relay-Server hat die Verbindung geschlossen"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "Server-Nachricht ist zu groß"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "Zeitablauf beim Senden an den Relay-Server »%s« (%s)"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "Zeitablauf beim Senden an den Relay-Server"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "Fehler beim Schreiben des zum Relay-Server"
@@ -1219,7 +1225,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:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "Fehler beim Lookup %s:%s: %s"
@@ -1233,30 +1239,30 @@ msgstr "Kann die Server IP-Adresse nicht finden"
msgid "unable to read %s/%s: %s"
msgstr "Fehler beim Lesen %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "unerwarteter I/O Event %d"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: unerwarteter Status %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "Fehler beim Empfangen der Nachricht vom Server: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "Abbruch-Nachricht vom Server empfangen: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: unerwarteter type_case Wert %d"
@@ -1265,11 +1271,15 @@ msgstr "%s: unerwarteter type_case Wert %d"
msgid "timeout reading from server"
msgstr "Zeitablauf beim Lesen vom Server"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "Der Hostname passt nicht zum Zertifikat"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "unerwartetes Datei-Ende"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "Server-Nachricht ist zu groß: %u"
@@ -1301,12 +1311,12 @@ msgstr "Abgelaufene Zeit zum Server gesendet [%lld, %ld]"
msgid "commit point received from server [%lld, %ld]"
msgstr "Commit Punkt vom Server empfangen [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "Timeout beim TLS-Handshake erreicht"
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "Konnte den Event nicht setzen"
@@ -1315,50 +1325,51 @@ msgstr "Konnte den Event nicht setzen"
msgid "TLS connection failed: %s"
msgstr "TLS-Kommunikation fehlgeschlagen: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "Kann kein SSL-Objekt anlegen: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, 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:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "SSL-Kontext kann nicht initialisiert werden"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "Die TLS 1.2 Cyphersuite kann nicht auf »%s« gesetzt werden: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "Die TLS 1.3 Cyphersuite kann nicht auf »%s« gesetzt werden: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "Kann die Diffie-Hellman Parameter nicht setzen: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "SSL-Kontext kann nicht erzeugt werden: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "Kann die minimale Protokollversion nicht auf TLS 1.2 setzen: %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "Die aktuelle Zeit kann nicht ausgelesen werden"
@@ -1414,48 +1425,48 @@ msgstr ""
"Fehler des Authentifizierungsservers:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: Principal kann nicht in eine Zeichenkette umgewandelt werden (»%s«): %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: »%s« kann nicht ausgewertet werden: %s"
# XXX check source?
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, 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:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: Optionen können nicht zugewiesen werden: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: Anmeldedaten können nicht bekommen werden: %s"
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: Anmeldedaten-Zwischenspeicher kann nicht initialisiert werden: %s"
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: Anmeldedaten können nicht im Zwischenspeicher abgelegt werden: %s"
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: Rechner-Principal kann nicht bekommen werden: %s"
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: TGT kann nicht verifiziert werden! Möglicher Angriff!: %s"
@@ -1496,7 +1507,7 @@ msgstr "Das Konto ist abgelaufen oder in der PAM-Konfiguration fehlt der »accou
msgid "PAM account management error: %s"
msgstr "Fehler beim PAM-Account-Management: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "Der Benutzer existiert in der %s-Datenbank nicht"
@@ -1537,27 +1548,27 @@ msgstr "Ungültige Länge des Passcodes für SecurID"
msgid "unable to initialize SIA session"
msgstr "Die SIA-Sitzung kann nicht initialisiert werden"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "Ungültige Authentifizierungsmethoden"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "Ungültige Authentifizierungsmethoden sind in sudo einkompiliert! Standalone- und Nicht-Standalone-Authentifizierung können nicht zusammen verwendet werden."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "Keine Authentifizierungsmethoden"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "Es sind keine Authentifizierungsmethoden in sudo einkompiliert! Wenn Sie die Authentifizierung wirklich abschalten wollen, verwenden Sie bitte die configure-Option »--disable-authentication«."
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Die Authentifizierungsmethoden können nicht initialisiert werden."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "Authentifizierungsmethoden:"
@@ -1569,17 +1580,17 @@ msgstr "Der Audit-Zustand kann nicht bestimmt werden"
msgid "unable to commit audit record"
msgstr "Audit-Satz kann nicht auf Platte geschrieben werden"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "Fehler beim Lesen der Belehrungsdatei %s"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, 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:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1599,32 +1610,27 @@ msgstr ""
" #3) Mit großer Macht kommt große Verantwortung.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "Unbekannte Benutzer-ID %u"
-#: plugins/sudoers/check_aliases.c:92
-#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Fehler: %s:%d:%d: Zyklus in %s »%s«"
-
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Warnung: %s:%d:%d: Zyklus in %s »%s«"
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Fehler: %s:%d:%d: %s »%s« wird verwendet, ist aber nicht definiert"
+msgid "cycle in %s \"%s\""
+msgstr "Zyklus in %s »%s«"
-#: plugins/sudoers/check_aliases.c:98
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Warnung: %s:%d:%d: %s »%s« wird verwendet, ist aber nicht definiert"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "%s »%s« wird verwendet, ist aber nicht definiert"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1641,7 +1647,7 @@ msgstr "Start der Folge: %s: %s"
msgid "order padding: %s: %s"
msgstr "Auffüllen der Folge: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s-Grammatik Version %d\n"
@@ -1661,10 +1667,10 @@ msgstr "Nicht unterstütztes Ausgabeformat %s"
msgid "%s: input and output files must be different"
msgstr "%s: Eingabe- und Ausgabedatei müssen unterschiedlich sein"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "Standardwerte für sudoers können nicht initialisiert werden"
@@ -1693,28 +1699,18 @@ msgstr "ungültiger suppression Typ: %s"
msgid "invalid filter: %s"
msgstr "Ungültiger Filter: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "Analyse der Datei %s gescheitert, unbekannter Fehler"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "Analysefehler in %s nahe Zeile %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "Analysefehler in %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "In die Datei »%s« kann nicht geschrieben werden"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1723,7 +1719,7 @@ msgstr ""
"%s – zwischen sudoers Dateiformaten konvertieren\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1763,31 +1759,31 @@ msgstr ""
" -V, --version Zeige Versionsinformationen an und Ende"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "Die GMT-Zeit kann nicht bekommen werden"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "Der Zeitstempel kann nicht formatiert werden"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: unbekannter defaults-Eintrag »%s«"
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "Zu viele sudoers Einträge, Maximum ist %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "Die Umgebunsvariable SUDOERS_BASE ist nicht gesetzt und die Option -b ist nicht angegeben."
@@ -1832,785 +1828,756 @@ msgstr "%s:%d:%d: Kann Defaults »%s« nicht host-spezifisch machen"
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:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, 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:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, 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:50
+#: plugins/sudoers/def_data.c:56
#, 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:54
+#: plugins/sudoers/def_data.c:60
#, 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:58
+#: plugins/sudoers/def_data.c:64
#, 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:62
+#: plugins/sudoers/def_data.c:68
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:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "».« in $PATH ignorieren"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "Immer eine Mail senden, wenn sudo gestartet wird"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Eine Mail senden, wenn die Authentifizierung des Benutzers fehlschlägt"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
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:82
+#: plugins/sudoers/def_data.c:88
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:86
+#: plugins/sudoers/def_data.c:92
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:90
+#: plugins/sudoers/def_data.c:96
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:94
+#: plugins/sudoers/def_data.c:100
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:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr "Den Benutzer beim ersten Aufruf von sudo belehren"
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "Datei mit der sudo-Belehrung: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Standardmäßig muss sich der Benutzer authentifizieren"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "Root darf sudo verwenden"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr "Den Hostnamen in der (nicht-syslog-)Protokolldatei speichern"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "Das Jahr in der (nicht-syslog-)Protokolldatei speichern"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
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:126
+#: plugins/sudoers/def_data.c:132
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:130
+#: plugins/sudoers/def_data.c:136
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:134
+#: plugins/sudoers/def_data.c:140
msgid "Allow some information gathering to give useful error messages"
msgstr "Informationssammlung für nützliche Fehlermeldungen erlauben"
-#: plugins/sudoers/def_data.c:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr "Vollständige Hostnamen in der sudoers-Datei erfordern"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr "»Beschimpfung« bei Eingabe eines falschen Passwortes"
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr "Der Benutzer darf sudo nur aufrufen, wenn ein tty vorhanden ist"
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "Visudo beachtet die Umgebungsvariable »EDITOR«"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "Nach dem root-Passwort fragen, nicht nach dem Passwort des Benutzers"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "Nach dem Passwort des Benutzers »runas_default« fragen, nicht nach dem Passwort des aufrufenden Benutzers"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "Nach dem Passwort des Ziel-Benutzers fragen, nicht nach dem Passwort des aufrufenden Benutzers"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "Standards auf die Anmeldeklasse des Zielbenutzers anwenden, falls diese vorhanden ist"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Die Umgebungsvariablen »LOGNAME« und »USER« setzen"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "Nur die effektive UID auf den Ziel-Benutzer setzen, nicht die reale UID"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "Die sekundären Gruppen nicht auf die Gruppen des Ziel-Benutzers setzen"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "Zeilenlänge der Protokolldatei für Zeilenumbruch (0 für keinen Zeilenumbruch): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "Zeitlimit für den Authentifizierungszeitstempel: %.1f Minuten"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "Zeitlimit bei der Eingabe des Passwortes: %.1f Minuten"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "Anzahl Versuche zur Eingabe des Passwortes: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "Zu verwendende Umask oder 0777, um die Umask des Benutzers zu verwenden: 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "Pfad zur Protokolldatei: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Pfad zum Mail-Programm: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "Parameter für das Mail-Programm: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "Mail-Adresse des Empfängers: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "Mail-Adresse des Absenders: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "Betreffzeile für Mails: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "Meldung bei Eingabe eines falschen Passwortes: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "Verzeichnis für den Belehrungsstatus: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "Pfad zum Authentifizierungszeitstempel-Verzeichnis: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
msgstr "Besitzer des Authentifizierungszeitstempelverzeichnisses: %s"
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:248
#, c-format
msgid "Users in this group are exempt from password and PATH requirements: %s"
msgstr "Benutzer in dieser Gruppe sind von Passwort- und PATH-Anforderungen ausgenommen: %s"
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "Standard-Eingabeaufforderung für das Passwort: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "Überschreibt in allen Fällen bei der Passwortabfrage die Systemabfrage, falls gesetzt."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, 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:258
+#: plugins/sudoers/def_data.c:264
#, 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:262
+#: plugins/sudoers/def_data.c:268
#, 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:266
+#: plugins/sudoers/def_data.c:272
#, 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:270
+#: plugins/sudoers/def_data.c:276
#, 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:274
+#: plugins/sudoers/def_data.c:280
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:278
+#: plugins/sudoers/def_data.c:284
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:282
+#: plugins/sudoers/def_data.c:288
#, 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:286
+#: plugins/sudoers/def_data.c:292
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:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Benutzern das Setzen beliebiger Umgebungsvariablen erlauben"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
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:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "Folgende Umgebungsvariablen prüfen:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Folgende Umgebungsvariablen löschen:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Folgende Umgebungsvariablen bewahren:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "Im neuen Security-Kontext von SELinux wird diese Rolle verwendet: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "Im neuen Security-Kontext von SELinux wird dieser Typ verwendet: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "Pfad zur sudo-spezifischen »environment«-Datei: %s"
# XXX
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "Pfad zur eingeschränkten sudo »environment«-Datei: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, 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:330
+#: plugins/sudoers/def_data.c:336
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:334
+#: plugins/sudoers/def_data.c:340
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:338
+#: plugins/sudoers/def_data.c:344
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:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "Die umask in sudoers überschreibt die umask des Benutzers, selbst wenn diese mehr Berechtigungen zulässt"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "Benutzereingaben für den ausgeführten Befehl protokollieren"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
msgid "Log the output of the command being run"
msgstr "Die Ausgabe des ausgeführten Befehls protokollieren"
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr "Ein-/Ausgabe-Protokolle mittels zlib protokollieren"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "Befehle immer in einem Pseudo-TTY ausführen"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, 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:366
+#: plugins/sudoers/def_data.c:372
#, 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:370
+#: plugins/sudoers/def_data.c:376
#, 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:374
+#: plugins/sudoers/def_data.c:380
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:378
+#: plugins/sudoers/def_data.c:384
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:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Menge der erlaubten Privilegien: %s"
# XXX einschränkenden?
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Menge der eingeschränkten Privilegien: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "Befehle mit einem Pseudo-TTY im Hintergrund starten"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "Verwendeter PAM-Service-Name: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "PAM-Service-Name für Anmelde-Shells: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "PAM-Service-Name für sudo-Aufruf mit der Option »-A«: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Versuchen, die PAM-Anmeldedaten für den Ziel-Benutzer zu bekommen"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "Eine neue PAM-Sitzung erzeugen, um den Befehl auszuführen"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "Ausführen vom PAM-Account-Management"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Maximale Sequenznummer des Ein-/Ausgabe-Protokolls: %s"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "Unterstützung für netgroups in sudoers aktivieren"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
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:430
+#: plugins/sudoers/def_data.c:436
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Folge symbolischen Links beim Editieren von Dateien mit sudoedit"
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr "Frage das Group-Plugin nach unbekannten System-Gruppen"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Prüfe die Netgroup-Zuordnung aufgrund des gesamten Tupels: Benutzer, Host und Domain"
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Erlaubt das Ausführen von Kommandos, auch wenn kein Audit-Log geschrieben werden kann"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Erlaubt das Ausführen von Kommandos, auch wenn kein I/O-Log geschrieben werden kann"
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Erlaubt das Ausführen von Kommandos, auch wenn kein Log geschrieben werden kann"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Beim Auflösen von Gruppen in der sudoers nach der Guppen-ID suchen, nicht nach dem Gruppenname"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Log-Einträge größer als dieser Wert werden auf mehrere Syslog Einträge verteilt: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Eigentümer der I/O Logdateien: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Gruppe der I/O Logdateien: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Dateimode der I/O Logdatei: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Führe Kommandos mit Hilfe eines Dateideskriptors anstelle des Pfades aus: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignoriere unbekannte Default-Einträge in der Datei »sudoers« anstatt eine Warnung auszugeben"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Laufzeit in Sekunde, nach der das Kommando abgebrochen wird: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "Erlaube dem Benutzer per Kommandozeile einen Timeout anzugeben"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Schreibe Log-Daten direkt ohne zu puffern"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
msgid "Include the process ID when logging via syslog"
msgstr "Protokolliere auch die Prozess-ID beim Schreiben ins Systemlog"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Typ des Authentifizierungszeitstempelprotokolls: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "Fehler bei der Authentifizierung: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr "Ignoriere Groß-/Kleinschreibung beim Matchen von Benutzernamen"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr "Ignoriere Groß-/Kleinschreibung beim Matchen von Gruppennamen"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
msgid "Log when a command is allowed by sudoers"
msgstr "Protokolliere von sudo erlaubte Kommandos"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:524
msgid "Log when a command is denied by sudoers"
msgstr "Protokolliere von sudo verweigerte Kommandos"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:528
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:526
+#: plugins/sudoers/def_data.c:532
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Sudo Log-Server Timeout in Secunden: %u"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:536
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Verwende die SO_KEEPALIVE Socket Option für die Verbindung zum Logserver"
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:540
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Pfad zur Zertifikats-Bündel-Datei des Audit Servers: %s"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Pfad zur sudoers Zertifikats-Datei: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Pfad zur sudoers Datei mit dem privaten Schlüssel: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
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:550
+#: plugins/sudoers/def_data.c:556
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:554
+#: plugins/sudoers/def_data.c:560
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:558
+#: plugins/sudoers/def_data.c:564
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:562
+#: plugins/sudoers/def_data.c:568
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:566
+#: plugins/sudoers/def_data.c:572
#, 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:570
+#: plugins/sudoers/def_data.c:576
#, 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:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Das Format der zu schreibenden Logs: %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "Schalte SELinux RBAC Support ein"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Pfad zur Datei die beim ersten sudo-Lauf erzeugt wird: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
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:590
+#: plugins/sudoers/def_data.c:596
msgid "Log sub-commands run by the original command"
msgstr "Protokolliere von diesem Kommando gestartete Kind-Prozesse"
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "Den Exitcode des ausgeführten Befehls protokollieren"
# XXX Check!
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
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:602
+#: plugins/sudoers/def_data.c:608
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:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "Die maximale Größe zu der der Adressbereich des Prozesse wachsen kann (in Bytes): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Die maximale Größe eines erzeugten Core Dumps (in Bytes): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Die maximale CPU Zeit die vom Prozess genutzt werden kann (in Sekunden): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "Die maximale Größe des Data Segments für den Prozess (in Bytes): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Die maximale Dateigröße für den Prozess (in Bytes): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Die maximale Anzahl von Sperren des Prozesses: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "Die maximale gesperrte Speichergröße des Prozesses (in Bytes): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Die maximale Anzahl offener Dateien des Prozesses: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Die maximale Anzahl von gleichzeitige laufenden Prozessen des Benutzers: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "Die maximle Größe des residenten Speichers vom Prozess (in Bytes): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "Die maximale Größe des Prozess-Stacks (in Bytes): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
msgid "Attempt authentication even when in non-interactive mode"
msgstr "Authentifzierung auch im nicht-interaktiven Modus versuchen"
-#: plugins/sudoers/def_data.c:654
+#: plugins/sudoers/def_data.c:660
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:658
+#: plugins/sudoers/def_data.c:664
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/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: unbekannter defaults-Eintrag »%s«"
-
-#: plugins/sudoers/defaults.c:242
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: Kein Wert für »%s« angegeben"
+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/defaults.c:245
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: Kein Wert für »%s« angegeben"
+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/defaults.c:258
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: Ungültiger Operator »%c=« für »%s«"
+msgid "unknown defaults entry \"%s\""
+msgstr "unbekannter defaults-Eintrag »%s«"
-#: plugins/sudoers/defaults.c:261
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: Ungültiger Operator »%c=« für Option »%s«"
+msgid "no value specified for \"%s\""
+msgstr "Kein Wert für »%s« angegeben"
-#: plugins/sudoers/defaults.c:297
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: Die Option »%s« wird ohne Wert verwendet"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "Ungültiger Operator »%c=« für Option »%s«"
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: Die Option »%s« wird ohne Wert verwendet"
+msgid "option \"%s\" does not take a value"
+msgstr "Die Option »%s« wird ohne Wert verwendet"
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: Ungültiger »Defaults« Typ 0x%x für Option »%s«"
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "Ungültiger »Defaults« Typ 0x%x für Option »%s«"
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: 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:341
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: Der Wert »%s« ist für die Option »%s« ungültig"
-
-#: plugins/sudoers/defaults.c:344
-#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: Der Wert »%s« ist für die Option »%s« ungültig"
-
-#: plugins/sudoers/defaults.c:1161
-#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: Pfadname für »%s« ist zu lang"
-
-#: plugins/sudoers/defaults.c:1164
-#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: Pfadname für »%s« ist zu lang"
-
-#: plugins/sudoers/defaults.c:1175
-#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: Werte für »%s« müssen mit »/«, »~« oder »*« beginnen"
-
-#: plugins/sudoers/defaults.c:1179
-#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: Werte für »%s« müssen mit »/«, »~« oder »*« beginnen"
+msgid "path name for \"%s\" too long"
+msgstr "Pfadname für »%s« ist zu lang"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: Werte für »%s« müssen mit einem »/« beginnen"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "Werte für »%s« müssen mit »/«, »~« oder »*« beginnen"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: Werte für »%s« müssen mit einem »/« beginnen"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "Werte für »%s« müssen mit einem »/« beginnen"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2625,16 +2592,6 @@ msgstr "Das Environment kann nicht neu erstellt werden"
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "Leider dürfen die folgenden Umgebungsvariablen nicht gesetzt werden: %s"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "Syntax-Fehler in %s bei der Zeile %d"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "Syntax-Fehler in %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2684,37 +2641,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:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "Kann die Sequenz-Datei nicht aktualisieren"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "In die I/O Logdatei kann nicht geschrieben werden: %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "Die Datei %s%s kann nicht erstellt werden"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: Interner Fehler, Logdatei für Event %d nicht geöffnet"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "Die Uhrzeit kann nicht ausgelesen werden"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: Interner Fehler, ungültiges Signal %d"
@@ -2733,16 +2690,16 @@ msgstr "Die Zertifikat- und Schlüsseldatenbank für SSL kann nicht initialisier
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "In der Datei »%s« muss »TLS_CERT« angegeben sein, um SSL zu nutzen"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "LDAP kann nicht initialisiert werden: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls ist angegeben, aber die LDAP-Bibliotheken unterstützen ldap_start_tls_s() und ldap_start_tls_s_np() nicht"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "Ungültiges »sudoOrder« Attribut: %s"
@@ -2782,8 +2739,8 @@ msgstr "Das Audit-System kann nicht geöffnet werden"
msgid "unable to send audit message"
msgstr "Die Audit-Nachricht kann nicht gesendet werden"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "Fehler in der Event-Schleife"
@@ -2792,103 +2749,103 @@ msgstr "Fehler in der Event-Schleife"
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Erzeugen eines neuen SSL_CTX Objektes fehlgeschlagen: %s"
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:225
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "Kann das CA-Bundle »%s« nicht laden"
-#: plugins/sudoers/log_client.c:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "Laden von Zertifikat »%s« fehlgeschlagen"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "Laden des privaten Schlüssels »%s« fehlgeschlagen"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Kann kein SSL-Objekt anlegen: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "TLS Verbindung zu %s:%s fehlgeschlagen: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "TLS Initialisierung war nicht erfolgreich"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "TLS Handshake war nicht erfolgreich"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: Interner Fehler, ungültiger Exit-Status %d"
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr "Kann die ServerNessage nicht auspacken"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "Verbindung zum Logserver verloren"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "Schreib-Puffer fehlt"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "Verbindung zum Logserver kann nicht aufgebaut werden"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "Der Benutzer ist NICHT in der sudoers-Datei enthalten"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "Der Benutzer ist NICHT auf dem Rechner autorisiert"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "Der Befehl ist nicht erlaubt"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, 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:316
+#: plugins/sudoers/logging.c:326
#, 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:319
+#: plugins/sudoers/logging.c:329
#, 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:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Leider darf der Benutzer %s »%s%s%s« als %s%s%s auf %s nicht ausführen.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Dieser Vorfall wurde an den Administrator gemeldet.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: Befehl nicht gefunden"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2897,40 +2854,46 @@ 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:380
+#: plugins/sudoers/logging.c:395
#, 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:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "Fehler bei der Authentifizierung"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "Ein Passwort ist notwendig"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "Problem beim Auswerten der sudoers-Datei"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "In die Logdatei kann nicht geschrieben werden: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "Prüfsumme für %s (%s) ungültige Länge %zu, %zu erwartet"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "Prüfsumme für %s (%s) ist nicht in der Form %s"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "SELinux RBAC ist nicht unterstützt wenn »intercept« Modus aktiv ist"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "SELinux RBAC ist nicht unterstützt wenn »log_subcmds« aktiv ist"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2939,7 +2902,7 @@ msgstr ""
"\n"
"LDAP-Rolle: %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2947,38 +2910,38 @@ msgstr ""
"\n"
"Sudoers-Eintrag:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " RunAsUsers: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " RunAsGroups: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Optionen: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Befehle:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Passende Defaults-Einträge für %s auf %s:\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Runas und befehlsspezifische Standardwerte für %s:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Der Benutzer %s darf die folgenden Befehle auf %s ausführen:\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "Der Benutzer %s darf sudo auf dem Rechner %s nicht ausführen.\n"
@@ -2998,64 +2961,59 @@ msgstr "Ungültiges LDIF-Attribut: %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "ungültige Option »%.*s« durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "Pfadname für »%s« ist zu lang"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "Die Netzwerkadressliste kann nicht eingelesen werden"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr "Benutzername nicht durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
msgstr "User-ID nicht durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr "Gruppen-ID nicht durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
msgid "host name not set by sudo front-end"
msgstr "Hostname nicht durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "Ungültiges Arbeitsverzeichnis: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "Ungültiges »chroot« Verzeichnis: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "%s kann nicht ausgeführt werden"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: ungültige Mode-Flags vom sudo-Frontend: 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Sudoers-Policy-Plugin Version %s\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Sudoers-Datei-Grammatik-Version %d\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3064,27 +3022,27 @@ msgstr ""
"\n"
"Sudoers-Pfad: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "nsswitch-Pfad: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ldap.conf-Pfad: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ldap.secret-Pfad: %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "Der Hook vom Typ %d kann nicht registriert werden (Version %d.%d)"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "Der Hook vom Typ %d kann nicht deregistriert werden (Version %d.%d)"
@@ -3223,149 +3181,148 @@ msgstr "Die SSS-Quelle kann nicht initialisiert werden. Ist SSSD auf dem Rechner
msgid "unable to find symbol \"%s\" in %s"
msgstr "Das Symbol »%s« kann in %s nicht gefunden werden"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "Problem mit den Standard-Einträgen"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "Kann die Defaults von »%s« nicht bekommen"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "Keine gültige sudoers-Quelle gefunden, Programmende"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "Der Benutzer darf das root-Verzeichnis nicht auf »%s« ändern"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "Sie dürfen die Option -R nicht mit dem Kommando »%s« verwenden"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "Der Benutzer darf das Verzeichnis nicht auf %s ändern"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "Sie dürfen die Option -C nicht mit dem Kommando »%s« verwenden"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "Kein Kommando angegeben"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers gibt an, dass root sudo nicht verwenden darf"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "Der Benutzer darf das »closefrom«-Limit nicht überschreiben"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "Sie dürfen die Option -C nicht verwenden"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "Zeitstempelbesitzer (%s): Benutzer existiert nicht"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "Kein tty"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "Sie müssen ein TTY haben, um sudo zu verwenden"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "Ungültiger Shell für den Benutzer %s: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "Befehl ist im aktuellen Verzeichnis"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "»cd\"« ist ein Shell-internes Kommando, das nicht direkt gestartet werden kann."
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
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:643
+#: plugins/sudoers/sudoers.c:657
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:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr "Der Benutzer darf keinen Kommand-Timeout angeben"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
msgid "sorry, you are not allowed set a command timeout"
msgstr "Sie dürfen keinen Timeout angeben"
-#: plugins/sudoers/sudoers.c:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "Der Benutzer darf das Environment nicht erhalten"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr "Sie dürfen das Environment nicht erhalten"
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr "»sudoedit« muss nicht mittels »sudo« aufgerufen werden"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "Die Datei »%s« kann nicht gelesen werden"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "stat konnte nicht auf %s angewendet werden"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "%s ist keine reguläre Datei"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s gehört UID %u, sollte UID %u gehören"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s ist für alle beschreibbar (world writable)"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s gehört GID %u, sollte allerdings %u gehören"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "Nur root kann »-c %s« verwenden"
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "Unbekannte Anmeldeklasse »%s«"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "Hostname %s kann nicht aufgelöst werden"
@@ -3578,99 +3535,94 @@ msgstr "Pfad zur Belehrung ist zu lang: %s/%s"
msgid "sudoedit should not be specified with a path"
msgstr "»sudoedit« sollte nicht mit einem Pfad angegeben werden"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "Die Option »-x» wird in einer zukünftigen Version entfernt"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "Bitte verwenden Sie stattdessen das Programm »cvtsudoers«"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "Drücken Sie die Eingabetaste, um %s zu bearbeiten: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "Inhalt der Editor-Sitzung bleibt in »%s« erhalten"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "Der angegebene Editor (%s) ist nicht vorhanden"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "Kein Editor gefunden (Pfad zum Editor = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "Schreibfehler"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "Anwenden von stat auf die temporäre Datei (%s) gescheitert, %s ist unverändert"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "Leere temporäre Datei (%s), %s ist unverändert"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "Editor-Aufruf (%s) ist gescheitert, %s ist unverändert"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s unverändert"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "Erneutes Öffnen der temporären Datei (%s) gescheitert, %s ist unverändert."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "Analyse der temporären Datei (%s) gescheitert, unbekannter Fehler"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "Interner Fehler, %s in der Liste nicht gefunden!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "Festlegen von (uid, gid) von %s auf (%u, %u) gescheitert"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s und %s befinden sich nicht im gleichen Dateisystem, werden mit mv umbenannt"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "Befehl gescheitert: »%s %s %s«, %s unverändert"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "Fehler beim Umbenennen von %s, %s unverändert"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Was jetzt? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3682,42 +3634,42 @@ msgstr ""
" Beenden, ohne die Änderungen an der sudoers-Datei zu speichern (mit x)\n"
" Beenden und Änderungen an der sudoers-Datei speichern (mit Q, VORSICHT!)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "%s konnte nicht ausgeführt werden"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: Falsche Besitzer-(uid, gid), sollte (%u, %u) sein\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: Falsche Zugriffsrechte, sollte Modus 0%o sein\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: Analyse OK\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%s ist in Verwendung, versuchen Sie es später erneut"
# XXX
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Trotzdem ändern? [y/N]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Warnung: %s:%d:%d: nicht verwendet: %s »%s«"
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3726,7 +3678,7 @@ msgstr ""
"%s – Die sudoers-Datei sicher bearbeiten\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3770,10 +3722,10 @@ msgstr "Ungültiger Zeilenfortsetzung"
msgid "invalid IPv6 address"
msgstr "Ungültiges IPv6 Adresse: %s"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "unerwarteter Zeilenumbruch in Zeichenkette"
-#: toke.l:1210
+#: toke.l:1218
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 e4980be45..83fa94ea7 100644
--- a/plugins/sudoers/po/eo.mo
+++ b/plugins/sudoers/po/eo.mo
Binary files differ
diff --git a/plugins/sudoers/po/eo.po b/plugins/sudoers/po/eo.po
index 1ac4cd75f..725518f3c 100644
--- a/plugins/sudoers/po/eo.po
+++ b/plugins/sudoers/po/eo.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.10b1\n"
+"Project-Id-Version: sudoers 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-13 12:47-0500\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 16:58-0400\n"
"Last-Translator: Keith Bowes <zooplah@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\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:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "sintaksa eraro"
@@ -43,17 +43,17 @@ msgstr "*** SEKURECO: informoj por %h ***"
msgid "Sorry, try again."
msgstr "MalÄuste, reprovu."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -69,39 +69,39 @@ msgstr "MalÄuste, reprovu."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -110,23 +110,21 @@ msgstr "MalÄuste, reprovu."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -134,120 +132,120 @@ msgstr "MalÄuste, reprovu."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "ne eblas rezervi memoron"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "resumo postulas vojnomon"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "valoroj por \"CWD\" devas komenciÄi per '/', '~' aÅ­ '*'"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "\"CWD\"-vojo tro grandas"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "valoroj por \"CHROOT\" devas komenciÄi per '/', '~' aÅ­ '*'"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "\"CHROOT\"-vojo tro grandas"
-#: gram.y:788
+#: gram.y:801
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "sintakseraro: rezervita vorto %s uzata kiel kromnomo"
-#: gram.y:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "malvalida valoro notafter"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "validiga valoro notafter"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "eksvalidiÄo-valoro tro grandas"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "malvalida eksvalidiÄo-valoro"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "komando tro longas"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Kromnomo \"%s\" jam ekzistas"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -267,37 +265,37 @@ msgstr "Kromnomo \"%s\" jam ekzistas"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -308,23 +306,21 @@ msgstr "Kromnomo \"%s\" jam ekzistas"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -332,69 +328,70 @@ msgstr "Kromnomo \"%s\" jam ekzistas"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -403,16 +400,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "interna eraro, troo en %s"
@@ -427,31 +426,31 @@ msgstr "ne eblas kopii enigon: %m"
msgid "unable to execute %s: %m"
msgstr "ne eblas plenumigi %s-on: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "ne eblas forki"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "ne eblas forki: %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "ne eblas malfermi tubon: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s: %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (komando daÅ­rigis) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -567,13 +566,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr "%s ekzistas sed ne dosierujo (0%o)"
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "ne eblas mkdir-i: %s"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "ne eblas ÅanÄi reÄimon de %s al 0%o"
@@ -588,8 +587,8 @@ msgstr "nelegebla tempo-registra dosiero: %s"
msgid "invalid timing file line: %s"
msgstr "malvalida linio en la tempo-registran dosieron: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "ne eblas genero de UUID"
@@ -648,56 +647,56 @@ msgstr "eraro dum fermi eneligan dosierpriskribilon %d: %s"
msgid "error flushing iofd %d: %s"
msgstr "eraro dum elbufrigi eneligan eneligan priskribilon %d: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "nevalida eneliga protokolo %s: %s estas referencita sed ne difinita"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: ne eblas trovi daÅ­rigan punkton [%lld, %ld]"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "ne eblas malfermi: %s"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "ne eblas malfermi: %s/%s"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "ne eblas kopii de %s/%s al %s/%s: %s"
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "ne eblas alinomo de %s al %s"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: ne eblas trovi daÅ­rigan punkton [%lld, %ld]"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "mankas eneliga protokolo %s/%s"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: ne eblas serĉi antaŭen: %zu"
@@ -706,32 +705,32 @@ msgstr "%s/%s: ne eblas serĉi antaŭen: %zu"
msgid "unable to connect to relay"
msgstr "ne eblas konektiÄi al relajso"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "servila mesaÄo tro granda: %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -776,6 +775,13 @@ msgstr "%s: neatendita IoBuffer"
msgid "protocol error"
msgstr "protokolo-eraro"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "ne malpakeblas %s, grando %zu"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -791,110 +797,110 @@ msgstr "nekonata ClientMessage-tipo"
msgid "timed out writing to client %s"
msgstr "eksvalidiÄo dum skribado al kliento %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "mankanta skribobufo por kliento %s"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr "eksvalidiÄo dum legado el kliento %s"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "Dosierfino de %s sen konvena TLS-finiÄo"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "klienta mesaÄo tro grandas: %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "klienta mesaÄo tro grandas"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "nevalida ClientMessage"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "ne eblas atingi foran IP-adreson"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Ne eblas almeti uzanto-datumojn al la SSL-objekto: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "ne eblas agordi aÅ­skultan Åtopilingon"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "neatendita signalo %d"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "protokolo-servilo de sudo"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr "Modifiloj:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "vojo al la agordo-dosiero"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "montri helpan mesaÄon kaj finiÄi"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "ne disforkiÄi, plenumiÄi en la malfono"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "elcenta Åanco, ke konektoj malkonektiÄos"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "montri eldonan informon kaj finiÄi"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Protobuf-C, eldono 1.3 aÅ­ pli postulata"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "validiga hazarda interrompiÄo-valoro: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s eldono %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "nekonata uzanto %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -968,7 +974,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] nevalida Ålosilo: %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "ne eblas malfermi protokolon %s"
@@ -981,13 +987,13 @@ msgstr "ne eblas ekigi servilan TLS-kuntekston"
msgid "unable to initialize relay TLS context"
msgstr "ne eblas ekigi relajsan SSL-kuntekston"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "ne eblas krei ĵurnalon"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "ne eblas Ålosi: %s"
@@ -1000,8 +1006,8 @@ msgstr "ne eblas Ålosi ĵurnalon"
msgid "unable to open journal file"
msgstr "ne eblas malfermi ĵurnalon"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "ne eblas skribi ĵurnalon: %s"
@@ -1019,11 +1025,11 @@ msgstr "neatendita dosierfino en ĵurnalo"
msgid "error reading journal file"
msgstr "eraro dum legi prelegan ĵurnalon"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "nevalida ĵurnalo, ne eblas restarti"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "ne eblas atingi punkton [%lld, %ld] en ĵurnalo %s"
@@ -1111,7 +1117,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: nevalida ServerHello, server_id mankas"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "nevalida ServerHello"
@@ -1132,34 +1138,34 @@ msgstr "eksvalidiÄo dum legado el relajso"
msgid "relay host name does not match certificate"
msgstr "relajsa retnodnomo ne kongruas kun atestilo"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "eraro dum legi el relajso"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "ne eblas legi el relajso"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "relajsa servilo fermis la konekton"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "servila mesaÄo tro granda"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "eksvalidiÄo dum skribado al relajso %s (%s)"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "eksvalidiÄo dum skribado al relajso"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "eraro dum skribi al relajso"
@@ -1215,7 +1221,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:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "ne eblas serĉi je %s:%s %s"
@@ -1229,30 +1235,30 @@ msgstr "ne eblas atingi servilan IP-adreson"
msgid "unable to read %s/%s: %s"
msgstr "ne eblas legi je %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "neatendita eneliga evento %d"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: neatendita stato %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "erarmesaÄo ricevita el servilo: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "abortiga mesaÄo ricevita el servilo: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s neatendita valoro %d de type_case"
@@ -1261,11 +1267,15 @@ msgstr "%s neatendita valoro %d de type_case"
msgid "timeout reading from server"
msgstr "eksvalidiÄo dum legado el servilo"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "retnodnomo ne kongruas kun atestilo"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "trofrua dosierfino"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "servila mesaÄo tro granda: %u"
@@ -1297,12 +1307,12 @@ msgstr "pasinta tempo sentita al servilo [%lld, %ld]"
msgid "commit point received from server [%lld, %ld]"
msgstr "kunsendita punkto ricevita el servilo [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "EksvalidiÄo de TLS-manpremo okazis"
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "ne eblas apliki eventon"
@@ -1311,50 +1321,51 @@ msgstr "ne eblas apliki eventon"
msgid "TLS connection failed: %s"
msgstr "TLS-konekto malsukcesis: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "ne eblas generi SSL-objekton: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, 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:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "ne eblas ekigi TLS-kuntekston"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "ne agordi ĉifraron de TLS 1.2 al %s: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "ne agordi ĉifraron de TLS 1.3 al %s: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "ne ablas agordi parametrojn de diffie-hellman: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "ne eblas krei TLS-kuntekston: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "ne ablas elekti minimuman eldonon de TLS al 1.2: %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "ne eblas akiri la tempon de la tago"
@@ -1410,47 +1421,47 @@ msgstr ""
"eraro de aÅ­tentikiga servilo:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s ne eblas konverti ĉefon al ĉeno ('%s'): %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: ne eblas analizi: '%s': %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: ne eblas trovi ccache-on: %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: ne eblas generi elektojn: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: ne eblas akiri atestilojn: %s"
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: ne eblas ekigi atestilan kaÅmemoron: %s"
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: ne eblas konservi atestilon en kaÅmemoro: %s"
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: ne eblas atingi gastiganton ĉefan: %s"
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: Ne eblas kontroli TGT! Ebla atako!: %s"
@@ -1491,7 +1502,7 @@ msgstr "Konto eksvalidiÄis aÅ­ PAM-agordon malhavas sekcion \"account\" por sud
msgid "PAM account management error: %s"
msgstr "Eraro de administro de konto PAM: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "vi ne ekzistas en la datumbazo %s"
@@ -1532,27 +1543,27 @@ msgstr "malvalida paskoda longo por SecurID"
msgid "unable to initialize SIA session"
msgstr "ne eblas ekigi SIA-seascon"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "malvalidaj aÅ­tentikigaj metodoj"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "Nevalidaj aÅ­tentikigaj metodoj kompilitaj en sudo! Vi ne rajtas miksi dependan kaj sendependan aÅ­tentikigon."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "neniu aÅ­tentikiga metodo"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "Ekzistas neniaj aÅ­tentikigaj metodoj kompilitaj en sudo! Se vi volas malÅalti aÅ­tentikigon, uzu la agordan parametron --disable-authentication."
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Ne eblas komenci aÅ­tentikigajn metodojn."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "AÅ­tentikigaj metodoj:"
@@ -1564,17 +1575,17 @@ msgstr "Ne eblis determini revizian kondiĉon"
msgid "unable to commit audit record"
msgstr "ne eblis konservi revizian rikordon"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "eraro dum legi prelegan dosieron %s"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "ignoranta prelegan dosieron %s: ne regula dosiero"
-#: plugins/sudoers/check.c:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1594,32 +1605,27 @@ msgstr ""
" #3) Granda povo devigas grandan responson.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "nekonata uid %u"
-#: plugins/sudoers/check_aliases.c:92
-#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Eraro: %s:%d:%d: ciklo en %s \"%s\""
-
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Averto: %s:%d:%d: ciklo en %s \"%s\""
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Eraro: %s:%d:%d: %s \"%s\" estas referencita sed ne difinita"
+msgid "cycle in %s \"%s\""
+msgstr "ciklo en %s \"%s\""
-#: plugins/sudoers/check_aliases.c:98
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Averto: %s:%d:%d: %s \"%s\" estas referencita sed ne difinita"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "%s \"%s\" estas referencita sed ne difinita"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1636,7 +1642,7 @@ msgstr "komenca ordo: %s: %s"
msgid "order padding: %s: %s"
msgstr "Åtopado de ordo: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s gramatika eldono %d\n"
@@ -1656,10 +1662,10 @@ msgstr "nesubtenata elig-formo %s"
msgid "%s: input and output files must be different"
msgstr "%s: eliga kaj eniga dosieroj devas esti malsamaj"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "ne eblas ekigi aÅ­tomatajn valorojn de sudoers"
@@ -1688,28 +1694,18 @@ msgstr "malvalida demeto-tipo: %s"
msgid "invalid filter: %s"
msgstr "malvalida filtro: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "malsukcesis analizi dosieron %s, nekonata eraro"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "analiza eraro en %s proksime al linio %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "analiza eraro en %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "ne eblas skribi al %s"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1718,7 +1714,7 @@ msgstr ""
"%s - konverti inter dosierformoj de sudoers\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1759,31 +1755,31 @@ msgstr ""
" -V, --version montri informon pri versio kaj eliri"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "ne eblas atingi GMT-tempon"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "ne eblas aranÄi tempo-indikilon"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: nekonata ero de defaults \"%s\""
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "tro multaj enigoj de sudoers, maksimume %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "la medivariablo SUDOERS_BASE ne estas difinita kaj la modifilo -b ne estis indikata."
@@ -1828,780 +1824,751 @@ msgstr "%s:%d:%d ne eblas fari, ke Defaults \"%s\" estu retnodo-specifa"
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:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, 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:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, 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:50
+#: plugins/sudoers/def_data.c:56
#, 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:54
+#: plugins/sudoers/def_data.c:60
#, 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:58
+#: plugins/sudoers/def_data.c:64
#, 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:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "Meti OTP-demandilon en sia propra linio"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "Ignori '.' en $PATH"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "Ĉiam sendi retmesaÄon kiam sudo plenumiÄas"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Sendi retmesaÄon se uzanto-aÅ­tentikiÄo malsukcesas"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
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:82
+#: plugins/sudoers/def_data.c:88
msgid "Send mail if the user is not in sudoers for this host"
msgstr "Sendi retmesaÄon se la uzanto ne estas en sudors por la gastiganto"
-#: plugins/sudoers/def_data.c:86
+#: plugins/sudoers/def_data.c:92
msgid "Send mail if the user is not allowed to run a command"
msgstr "Sendi retmesaÄon se la uzanto ne estas permesata plenumigi komandon"
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:96
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:94
+#: plugins/sudoers/def_data.c:100
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:98
+#: plugins/sudoers/def_data.c:104
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:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "Dosiero havanta la sudo-averton: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Postulas, ke uzantoj aÅ­tentikiÄu aÅ­tomate"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "Ĉefuzanto rajtas plenumigi: sudo"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr "Protokoli la gastignomon en la (ne syslog) protokolo"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "Protokoli la jaron en la (ne syslog) protokolo"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
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:126
+#: plugins/sudoers/def_data.c:132
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:130
+#: plugins/sudoers/def_data.c:136
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:134
+#: plugins/sudoers/def_data.c:140
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:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr "Postuli tute kvalifikitajn gastiganto-nomojn en la dosiero sudoers"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
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:146
+#: plugins/sudoers/def_data.c:152
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:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "Visudo honoru la medivariablon EDITOR"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "Peti la ĉefuzantan pasvorton, ne la uzanto-pasvorton"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "Peti la pasvorton de runas_default, ne de la uzanto"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "Peti la pasvorton de la cela uzanto, ne la nuna uzanto"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "Apliki aÅ­tomataĵojn en la ensaluta klaso de la cela uzanto, se Äi ekzistas"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Valorizi la medivariablojn LOGNAME kaj USER"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "Nur valorizi la efikan uid-on al la cela uzanto, ne la realan uid-on"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "Ne ekigi la grupon vektoron al tio de la cela uzanto"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "Longo je kiu linfaldi la protokol-dosieraj linioj (0 por senfalda): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "EksvalidiÄo de la aÅ­tentikiga tempo-indikilo: %.1f minutoj"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "EksvalidiÄo de la pasvortilo: %.1f minutoj"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "Nombro da provoj por enmeti pasvorton: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "Umask uzi aÅ­ 07777 por uzi uzanton: 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "Vojo al protokolo: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Vojo al retpoÅtilo: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "Parametroj por retpoÅtilo: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "RetpoÅtadreso adresata: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "RetpoÅtadreso adresanta: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "Subjekta linio por ĉiuj mesaÄoj: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "NeÄusta pasvorta mesaÄo: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "Vojo al dosierujo de prelega stato: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "Vojo al dosierujo de aÅ­tentikiga tempo-indikilo: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, 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:242
+#: plugins/sudoers/def_data.c:248
#, 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:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "DefaÅ­lta pasvorta peto: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "Se aktivigita, passprompt superregas sistemajn invitojn ĉiuokaze."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr "DefaÅ­lta uzanto por plenumigi komandojn: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "Valoro per kiu superregi la PATH-on de uzanto: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr "Vojo al la tekstoredaktilo uzota de visudo: %s"
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr "Kiam postuli pasvorton por la pseÅ­dokomando 'list' : %s"
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr "Kiam postuli pasvorton por la pseÅ­dokamando 'verify' : %s"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr "AntaÅ­Åargi la bibliotekon sudo_noexec, kiu anstataÅ­as la exec-funkciojn"
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr "Se LDAP-dosierujo estas aktiva, ni ignoru la lokan suders-dosieron"
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr "Dosiero-priskribiloj >= %d fermiÄos antaÅ­ ol plenumigi komandon"
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
msgstr "Se elektita, uzantoj rajtas superregi la valoron de \"closefrom\" per la parametro -C"
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Permesi, ke uzantoj valorizu arbitrajn medivariablojn"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr "Restarigi la medion al apriora aro da variabloj"
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "Medivariabloj por kontroli por sekureco:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Medivariabloj por forigi:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Medivariabloj konservi:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "SELinux-rolo por uzi en la nova sekureca kunteksto: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "SELinux-tipo por uzi en la nova sekureca kunteksto: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "Vojo al media dosiero specifa al sudo: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "Vojo al la neatingebla sudo-specifa medio-dosiero: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, 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:330
+#: plugins/sudoers/def_data.c:336
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:334
+#: plugins/sudoers/def_data.c:340
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:338
+#: plugins/sudoers/def_data.c:344
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:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "La umask specifa en sudors superregos tio de la uzanto, eĉ se Äi estas pli permesema"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "Protokoli enmeton de uzanto por la komando, kiun si plenumigas"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
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:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr "Kunpremi eneligaj protokoloj per zlib"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "Ĉiam protokoli komandojn en pseŭda tty"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Kromprogramo por kompreno de ne-uniksaj grupoj: %s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:372
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Dosierujo en kiu konservi eneligaj protokoloj: %s"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:376
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Dosiero en kiu konservi la eneliga protokolo: %s"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:380
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Aldoni eron al la utmp/utmpx-dosiero dum generi pty-on"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:384
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Valorizi uzanton en utmp al la plenumigkiela uzanto, ne la vokanta uzanto"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Aro da permesitaj privilegioj: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Aro da limigaj privilegioj: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "Plenumigi komandojn en pty en la fono"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "PAM-servonomo uzota: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "PAM-servonomo uzota por ensalutaj Åeloj: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "PAM-servonomo uzota kiam sudo estas plenumigota ken la elektebleco -A: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Ne eblas establi PAM-atestilojn por la cela uzanto"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "Krei novan PAM-seancon en kiu la komando plenumiÄos"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "Administradi validigon de konto PAM"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Maksimuma sinsekva numero de la eneliga protokolo: %s"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "Aktivigi retgrupan regon de sudoers"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
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:430
+#: plugins/sudoers/def_data.c:436
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Sekvi simbolajn ligojn dum redakto de dosieroj per sudoedit"
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr "Informo-mendi la grupan kromprogramon por nekonataj sistem-grupoj"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Kongrui retgrupoj surbaze de entuta n-opo: uzanto, gastiganto kaj domajno"
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Permesi ke komandoj estu plenumataj eĉ se sudo ne povas skribi al la ekzamena protokolo"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Permesi ke komandoj estu plenumataj eĉ se sudo ne povas skribi al la eneliga protokolo"
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Permesi ke komandoj estu plenumataj eĉ se sudo ne povas skribi al la protokola dosiero"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Solvi grupojn en sudoers kaj kongrui al la grupa ID, ne la nomo"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Protokoleroj pli grandaj ol tiu ĉi valoro estos dividitaj en multoblajn mesaÄojn en syslog: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Uzanto kiu posedos la eneligajn protokol-dosierojn: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Grupo kiu posedos la eneligajn protokol-dosierojn: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Dosier-reÄimo uzota por la eneligaj protokol-dosieroj: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Plenumigi komandojn laÅ­ dosiernumero anstataÅ­ laÅ­ vojo: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignori nekonatajn erojn Defaults en sudoers anstataÅ­ prezenti averton"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Tempo laÅ­ sekundoj pust kiu la komando finiÄos: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "Permesi al la uzanto specifi eksvalidiÄon per la komandlinio"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Tuj elbufrigi eneligo-protokolajn datumojn en diskon anstataÅ­ enbufrigi Äin"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
msgid "Include the process ID when logging via syslog"
msgstr "Inkluzivigi la procezan identigilon dum protokoli per syslog"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Tipo de tempindika rikordo por aÅ­tentikigo: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "MesaÄo pri malsukceso dum aÅ­tentikigo: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr "Preteratenti usklecon dum kongruo al uzantnomoj"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr "Preteratenti usklecon dum kongruo al grupnomoj"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
msgid "Log when a command is allowed by sudoers"
msgstr "Protokoli kiam komando estas permesata de sudoers"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:524
msgid "Log when a command is denied by sudoers"
msgstr "Protokoli kiam komando estas malpermesata de sudoers"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:528
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:526
+#: plugins/sudoers/def_data.c:532
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Sudo: protokoli servilan eksvalidiÄon laÅ­ sekundoj: %u"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:536
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Ebligi Åtopilingan elekton SO_KEEPALIVE por la Åtopilingo konektita al la protokolservilo"
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:540
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Vojo al atestilara dosiero de la kontrola servilo: %s"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Vojo al atestila dosiero de sudoers: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Vojo al la privatÅlosila dosiero de sudoers: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
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:550
+#: plugins/sudoers/def_data.c:556
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:554
+#: plugins/sudoers/def_data.c:560
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:558
+#: plugins/sudoers/def_data.c:564
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:562
+#: plugins/sudoers/def_data.c:568
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:566
+#: plugins/sudoers/def_data.c:572
#, 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:570
+#: plugins/sudoers/def_data.c:576
#, 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:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "La formato de protokoloj por produkti je %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "Aktivigu regon de SELinux-RBAC"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Vojo al la dosiero, kiu estas kreota la unan fojon, kiam sudo estas plenumiÄinta: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
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:590
+#: plugins/sudoers/def_data.c:596
msgid "Log sub-commands run by the original command"
msgstr "Protokoli subkomandojn plenumigitajn de la origina komando"
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "Protokoli la eligon de komandoj"
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
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:602
+#: plugins/sudoers/def_data.c:608
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:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "La maksimuma grando Äis kiu la adresspaco de la procezo rajtas kreski (laÅ­ bajtoj): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "La plej granda Åuto-dosiero, kiu rajtas kreiÄi (laÅ­ bajtoj): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "La maksimumo da ĉefprocezora tempo, kiun procezo rajtas uzi (laŭ sekundoj): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "La maksimuma grando de la datuma segmento por la procezo (laÅ­ bajtoj): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "La plaj granda dosiero, kiun procezo rajtas krei (laÅ­ bajtoj): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "La maksimuma nombro da fiksiloj, kiujn la procezo rajtas krei: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "La maksumima grando, kiun la procezo rajtas fiksi en memoron (laÅ­ bajtoj): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "La maksimuma nombro da dosieroj, kiujn la procezo rajtas teni malfermajn: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "La maksimuma nombro da procezoj, kiujn la uzanta rajtas samtempe plenumigi: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "La maksimuma grando Äis kiu la loÄa aro de la procezo rajtas kreski (laÅ­ bajtoj): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "La maksimuma grando Äis kiu la staplo de la procezo rajtas kreski (laÅ­ bajtoj): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
msgid "Attempt authentication even when in non-interactive mode"
msgstr "Provi aÅ­tentigo eĉ kiam en neinteraga reÄimo"
-#: plugins/sudoers/def_data.c:654
+#: plugins/sudoers/def_data.c:660
msgid "Store plaintext passwords in I/O log input"
msgstr "Konservi plattekstajn pasvortojn en eneliga protokolo"
-#: plugins/sudoers/def_data.c:658
+#: plugins/sudoers/def_data.c:664
msgid "List of regular expressions to use when matching a password prompt"
msgstr "Listo da regulesprimo uzota kiam kongruanta kun pasvorta invitilo"
-#: plugins/sudoers/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: nekonata enigo de defaults \"%s\""
-
-#: plugins/sudoers/defaults.c:242
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: neniu valoro indikita por \"%s\""
+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/defaults.c:245
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: neniu valoro indikita por \"%s\""
+msgid "AppArmor profile to use in the new security context: %s"
+msgstr "AppArmor-profile uzota en la nova sekureca kunteksto: %s"
-#: plugins/sudoers/defaults.c:258
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: nevalida operatoro \"%c=\" por \"%s\""
+msgid "unknown defaults entry \"%s\""
+msgstr "nekonata enigo de defaults \"%s\""
-#: plugins/sudoers/defaults.c:261
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: nevalida operator \"%c=\" por \"%s\""
+msgid "no value specified for \"%s\""
+msgstr "neniu valoro indikita por \"%s\""
-#: plugins/sudoers/defaults.c:297
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: parametro \"%s\" ne povas havi valoron"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "nevalida operator \"%c=\" por \"%s\""
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: parametro \"%s\" ne povas havi valoron"
+msgid "option \"%s\" does not take a value"
+msgstr "parametro \"%s\" ne povas havi valoron"
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: malvalida Defaults-tipo 0x%x por parametro \"%s\""
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "malvalida Defaults-tipo 0x%x por parametro \"%s\""
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: 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:341
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: valoro \"%s\" estas malvalida por parametro \"%s\""
-
-#: plugins/sudoers/defaults.c:344
-#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: valoro \"%s\" estas malvalida por parametro \"%s\""
-
-#: plugins/sudoers/defaults.c:1161
-#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: vojnomo por \"%s\" tro longas"
-
-#: plugins/sudoers/defaults.c:1164
-#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: vojnomo por \"%s\" tro longas"
-
-#: plugins/sudoers/defaults.c:1175
-#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: valoroj por \"%s\" devas komenciÄi per '/', '~' aÅ­ '*'"
-
-#: plugins/sudoers/defaults.c:1179
-#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: valoroj por \"%s\" devas komenciÄi per '/', '~' aÅ­ '*'"
+msgid "path name for \"%s\" too long"
+msgstr "vojnomo por \"%s\" tro longas"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: valoroj por \"%s\" devas komenciÄi per '/'"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "valoroj por \"%s\" devas komenciÄi per '/', '~' aÅ­ '*'"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: valoroj por \"%s\" devas komenciÄi per '/'"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "valoroj por \"%s\" devas komenciÄi per '/'"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2616,16 +2583,6 @@ msgstr "ne eblas rekonstrui la medion"
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"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "analiza eraro en %s proksime al linio %d"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "analiza eraro en %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2675,37 +2632,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:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "ne eblas Äisdatigi sinsekvan dosieron"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "ne eblas skribi al eneliga protokoldosiero: %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "ne eblas krei: %s/%s"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: interna eraro, protokola dosiero de en/eligo por evento %d ne estas malferma"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "ne eblas legi la horloÄon"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: interna eraro, malvalida signalo %d"
@@ -2724,16 +2681,16 @@ msgstr "ne eblas ekigi SSL-asertilon kaj Ålosilan datumbazon: %s"
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "por uzi SSL, TLS_CERT devas havi valoron en %s"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "ne eblas ekigi LDAP-on: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls specifita sed LDAP-bibliotekoj ne havas la funkciojn ldap_start_tls_s() kaj ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "malvalida atributo de sudoOrder: %s"
@@ -2773,8 +2730,8 @@ msgstr "ne eblas malfermi revizian sistemon"
msgid "unable to send audit message"
msgstr "ne eblas sendi revizian mesaÄon"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "eraro en evento-iteracio"
@@ -2783,101 +2740,101 @@ msgstr "eraro en evento-iteracio"
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "KreiÄo de nova objekto SSL_CTX malsukcesis: %s"
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:225
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "Ne eblas Åargi aÅ­toritatan atestilaron: %s"
-#: plugins/sudoers/log_client.c:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "ne eblas Åargi atestilon %s"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "ne eblas ÅarÄi privatÅlosilon %s"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Ne eblas generi SSL-objekton: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "TLS-konekto al %s:%s malsukcesis: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "TLS-komenciÄo malsukcesis"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "TLS-manpremo malsukcesis"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: interna eraro, malvalida finiÄo-stato %d"
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr "neelpakebla ServerMessage"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "konekto al protokolo-servilo perdita"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "mankanta skribobufo"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "ne eblas konektiÄi al protokolo-servilo"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "uzanto NE estas en sudoers"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "uzanto NE permesata en gastiganto"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "komando ne permesata"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s ne estas en la dosiero sudoers.\n"
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:326
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "Uzanto %s ne rajtas plenumigi sudo-on en %s.\n"
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "BedaÅ­re uzanto %s ne rajtas plenumigi sudo en %s.\n"
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "BedaÅ­re uzanto %s ne rajtas plenumigi '%s%s%s' kiel %s%s%s en %s.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Ĉi tiu okazo raportiÄis al la administranto.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: komando ne trovita"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2886,40 +2843,46 @@ msgstr ""
"ni malatentas \"%s\" trovita en '.'\n"
"Uzu \"sudo ./%s\" se tio estas la \"%s\" , kiun vi volas plenumigi."
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:395
#, 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:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "aÅ­tentiga malsukceso"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "pasvorto estas bezonata"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "problemo dum analizi dosieron sudoers"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "ne eblas skribi al protokolo: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "resumo por %s (%s): malbona longo %zu, atendita %zu"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "resumo por %s (%s) ne estas laÅ­ la formo %s"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "SeLinux-RBAC ne estas regata dum interkapta reÄimo estas aktiva"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "SELinux RBAC ne estas regata dum la flago log_subcmds estas aktiva"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2928,7 +2891,7 @@ msgstr ""
"\n"
"LDAP-rolo: %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2936,38 +2899,38 @@ msgstr ""
"\n"
"Ero en sudoers:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " RunAsUsers: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " RunAsGroups: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Modifiloj: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Komandoj:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Kongruantaj eroj de Defaults: %s en %s:\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Plenumigkiela komando-specifaj aŭtomataĵoj por %s:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Uzanto %s rajtas plenumigi la jenajn komandojn en %s:\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "Uzanto %s ne rajtas plenumigi sudo-on en %s.\n"
@@ -2987,64 +2950,59 @@ msgstr "malvalida LDIF-atributo: %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "malvalida %.*s difinita de sudo-fasado"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "vojnomo por \"%s\" tro longas"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "ne eblas trakti reto-adresan liston"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr "uzantnomo ne difinita de sudo-fasado"
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
msgstr "uzanto-ID ne difinita de sudo-fasado"
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr "grupo-ID ne difinita de sudo-fasado"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
msgid "host name not set by sudo front-end"
msgstr "gastiganta nomo ne difinita de sudo-fasado"
-#: plugins/sudoers/policy.c:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "nevalida kuranta dosierujo: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "malvalida chroot-dosierujo: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "ne eblas plenumigi: %s"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: nevalidaj reÄimaj flagoj el la fasado de sudo: 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Eldono %s de la konduta kromprogramo\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Eldono %d de la gramatikilo de sudoers\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3053,27 +3011,27 @@ msgstr ""
"\n"
"Vojo de sudoers: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "vojo de nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "vojo de ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "vojo de ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "ne eblas registri hokon el tipo %d (versio %d.%d)"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "ne eblas malregistri hokon el tipo %d (versio %d.%d)"
@@ -3212,149 +3170,148 @@ msgstr "ne eblas ekigi SSS-fonton. Ĉu SSSD estas instalita en via maÅino?"
msgid "unable to find symbol \"%s\" in %s"
msgstr "ne eblas trovi simbolon \"%s\" en %s"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "problemoj kun aÅ­tomataj eroj"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "ne eblas atingi aprioraĵojn el %s"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "ne validaj fontotekstoj de sudoers trovita, ĉesiganta"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "uzanto ne rajtas ÅanÄi radikan dosierujon al %s"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "vi ne rajtas uzi la parametron -R kun %s"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "uzanto ne rajtas ÅanÄi dosierujon al %s"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "vi ne rajtas uzi la parametron -D kun %s"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "Neniu komando donita"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers specifas, ke ĉefuzanto ne rajtas sudo-i"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "uzanto ne permesata superregi la limigon de closefrom"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "vi ne rajtas uzi la parametron -C"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "tempo-indikila posedanto (%s): Nenia uzanto"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "neniu tty"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "bedaÅ­re vi devas havi tty-on por plenumigi sudo-on"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "nevalida Åelo por uzanto %s: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "komando en nuna dosierujo"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "\"cd\" estas apriora Åelkomando, ne eblas rekte plenumigi Äin"
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
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:643
+#: plugins/sudoers/sudoers.c:657
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:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr "uzanto ne rajtas elekti komando-eksvalidiÄon"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
msgid "sorry, you are not allowed set a command timeout"
msgstr "bedaÅ­re vi ne rajtas elekti komando-eksvalidiÄon"
-#: plugins/sudoers/sudoers.c:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "uzanto ne rajtas konservi la medion"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr "bedaÅ­re vi ne rajtas konservi la medion"
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit ne devas plenumiÄi per sudo"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "ne eblas legi %s"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "ne eblas apliki stat al %s"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "%s ne estas normala dosiero"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s estas estrita de uid %u, devas esti %u"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s estas skribebla de ĉiuj"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s estas estrita de gid %u, devas esti %u"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "nur ĉefuzanto rajtas uzi \"-c %s\""
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "nekonata ensaluta klaso: %s"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "ne eblas trovi gastiganton %s"
@@ -3560,99 +3517,94 @@ msgstr "vojo de prelega stato tro longas: %s/%s"
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit plej bone ne specifiÄu kun vojo"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "la elekto -x estos forigita en posta eldono"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "bonvolu konsideri uzi la utilaĵon cvtsudoers anstataŭe"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "premu enen-klavon por redakti %s-on: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "enhavo de redakto-seanco restigita en %s"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "specifita tekstoredaktilo (%s) ne ekzistas"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "neniu tekstoredaktilo trovita (vojo = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "skriba eraro"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "ne eblas apliki stat al provizora dosiero (%s), %s neÅanÄita"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "nul-longa provizora dosiero (%s), %s neÅanÄita"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "redaktilo (%s) malsukcesis, %s neÅanÄita"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s neÅanÄita"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "ne eblas remalfermi provizoran dosieron (%s), %s neÅanÄita."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "ne eblas analizi provizoran dosieron (%s), nekonata eraro"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "interna eraro, ne eblas trovi %s en listo!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "ne eblas ÅanÄi (uid, gid) de %s al (%u, %u)"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s kaj %s ne estas la sama dosiersistemo, uzanta mv-on por alinomi"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "komando malsukcesis: '%s %s %s', %s neÅanÄita"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "eraro dum alinomi %s-on; %s neÅanÄita"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Kion nun? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3664,41 +3616,41 @@ msgstr ""
" (x) eliri sen konservi ÅanÄojn al sudoers-dosiero\n"
" (Q) Eliri kaj konservi ÅanÄojn al sudoers-dosiero (DANÄœERA!)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "ne eblas plenumigi: %s"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: malÄusta estro (uid, gid) devas esti (%u, %u)\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: misaj permesoj, devas esti reÄimo 0%o\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: analizita senerare\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%s okupata, reprovu pli malfrue"
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Ĉu redakti ja? [y/N]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Averto: %s:%d:%d: neuzata %s \"%s\""
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3707,7 +3659,7 @@ msgstr ""
"%s - sekure redakti la dosieron sudoers\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3751,10 +3703,10 @@ msgstr "malvalida linio-daÅ­rigo"
msgid "invalid IPv6 address"
msgstr "malvalida IPv6-adreso"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "neatendita linirompo en ĉeno"
-#: toke.l:1210
+#: toke.l:1218
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 8cfdc3463..b135c7e1d 100644
--- a/plugins/sudoers/po/fr.mo
+++ b/plugins/sudoers/po/fr.mo
Binary files differ
diff --git a/plugins/sudoers/po/fr.po b/plugins/sudoers/po/fr.po
index d99a0ff66..798bf040d 100644
--- a/plugins/sudoers/po/fr.po
+++ b/plugins/sudoers/po/fr.po
@@ -5,10 +5,10 @@
# Frédéric Marchal <fmarchal@perso.be>, 2022
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.10b1\n"
+"Project-Id-Version: sudoers 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-14 07:01+0100\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 12:13+0200\n"
"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n >= 2);\n"
-#: confstr.sh:1 gram.y:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "erreur de syntaxe"
@@ -42,17 +42,17 @@ msgstr "*** Informations de sécurité pour %h ***"
msgid "Sorry, try again."
msgstr "Désolé, essayez de nouveau."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -68,39 +68,39 @@ msgstr "Désolé, essayez de nouveau."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -109,23 +109,21 @@ msgstr "Désolé, essayez de nouveau."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -133,120 +131,120 @@ msgstr "Désolé, essayez de nouveau."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "impossible d'allouer la mémoire"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "un résumé (digest) nécessite un chemin d'accès"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "les valeurs de « CWD » doivent commencer par « / », « ~ » ou « * »"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "chemin trop long pour « CWD »"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "les valeurs de « CHROOT » doivent commencer par « / », « ~ » ou « * »"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "chemin trop long pour « CHROOT »"
-#: gram.y:788
+#: gram.y:801
#, 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:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "valeur « notbefore » (pas avant) invalide"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "valeur « notafter » (pas après) invalide"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "valeur trop grande pour le délai d'expiration"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "valeur invalide pour le délai d'expiration"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "commande trop longue"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "L'alias « %s » est déjà défini"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -266,37 +264,37 @@ msgstr "L'alias « %s » est déjà défini"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -307,23 +305,21 @@ msgstr "L'alias « %s » est déjà défini"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -331,69 +327,70 @@ msgstr "L'alias « %s » est déjà défini"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s : %s"
@@ -402,16 +399,18 @@ msgstr "%s : %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "erreur interne, dépassement de %s"
@@ -426,31 +425,31 @@ msgstr "duplication (dup) de stdin impossible : %m"
msgid "unable to execute %s: %m"
msgstr "exécution de %s impossible : %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "création du processus fils impossible"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "création du processus fils impossible : %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "ouverture du tube impossible : %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (suite de la commande) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -566,13 +565,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr "%s existe mais n'est pas un répertoire (0%o)"
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "création du répertoire (mkdir) %s impossible"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "impossible de changer le mode de %s pour lui affecter 0%o"
@@ -587,8 +586,8 @@ msgstr "erreur de lecture dans le fichier de timing : %s"
msgid "invalid timing file line: %s"
msgstr "ligne invalide dans le fichier de timing : %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "impossible de générer le UUID"
@@ -647,56 +646,56 @@ msgstr "erreur à la fermeture du iofd %d : %s"
msgid "error flushing iofd %d: %s"
msgstr "erreur lors de la vidange du iofd %d : %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "journal E/S %s invalide : il est fait référence à %s alors qu'il n'est pas présent"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s : impossible de trouver le point de redémarrage [%lld, %ld]"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "ouverture de %s impossible"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "ouverture de %si/%s impossible"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, 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:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "impossible de renommer %s en %s"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s : impossible de trouver le point de redémarrage [%lld, %ld]"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "fichier du journal E/S %s/%s manquant"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s : impossible d'examiner vers l'avant de %zu"
@@ -705,32 +704,32 @@ msgstr "%s/%s : impossible d'examiner vers l'avant de %zu"
msgid "unable to connect to relay"
msgstr "impossible de se connecter au relai"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "message serveur trop grand : %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -775,6 +774,13 @@ msgstr "%s : IoBuffer inattendu"
msgid "protocol error"
msgstr "erreur protocole"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "impossible de décompresser %s avec une taille de %zu"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -790,110 +796,110 @@ msgstr "type de ClientMessage non reconnu"
msgid "timed out writing to client %s"
msgstr "délai d'attente expiré durant l'écriture vers le client %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "tampon d'écriture manquant pour le client %s"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, 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:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "Fin de fichier reçu de %s sans suivre la procédure d'arrêt TLS"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "message client trop grand : %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "message client trop grand"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "ClientMessage invalide"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "impossible d'obtenir l'adresse IP distante"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Impossible d'attacher les données utilisateur à l'objet ssl : %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "configuration du socket d'écoute impossible"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "signal %d inattendu"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "serveur de journalisation de sudo"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr "Options :"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "chemin du fichier de configuration"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "afficher le message d'aide et quitter"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "ne pas cloner, exécuter à l'avant plan"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "pourcentage de chance que les connections soient abandonnées"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "afficher l'information de version et quitter"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Version 1.3 ou supérieure de Protobuf-C requise"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "valeur d'abandon aléatoire invalide : %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s version %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "utilisateur %s inconnu"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -967,7 +973,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] clé illégale : %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "ouverture du fichier de journalisation %s impossible"
@@ -980,13 +986,13 @@ msgstr "impossible d'initialiser le contexte TLS du serveur : %s"
msgid "unable to initialize relay TLS context"
msgstr "impossible d'initialiser le contexte TLS du relai : %s"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "impossible de créer le fichier de journalisation"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "impossible de verrouiller %s"
@@ -999,8 +1005,8 @@ msgstr "verrouillage du fichier de journalisation impossible : %s"
msgid "unable to open journal file"
msgstr "impossible d'ouvrir le fichier de journalisation"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "impossible d'écrire le fichier de journalisation"
@@ -1018,11 +1024,11 @@ msgstr "fin de fichier inattendue en lisant le fichier de journalisation"
msgid "error reading journal file"
msgstr "erreur de lecture dans le fichier de journalisation"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "fichier de journalisation invalide, impossible de redémarrer"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "impossible de déplacer le pointeur vers [%lld, %ld] dans le fichier de journalisation %s"
@@ -1110,7 +1116,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s : ServerHello invalide, le server_id manque"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "ServerHello invalide"
@@ -1131,34 +1137,34 @@ msgstr "délai d'attente expiré durant la lecture depuis le relai"
msgid "relay host name does not match certificate"
msgstr "le nom de l'hôte relai ne correspond pas au certificat"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "erreur de lecture depuis le relai"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "impossible de lire depuis le relai"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "le serveur relai a fermé la connexion"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "message serveur trop grand"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "délai d'attente expiré durant l'écriture vers le relai %s (%s)"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "délai d'attente expiré durant l'écriture vers le relai"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "erreur d'écriture dans le relai"
@@ -1214,7 +1220,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:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "impossible de rechercher %s:%s : %s"
@@ -1228,30 +1234,30 @@ msgstr "impossible d'obtenir l'adresse IP du serveur"
msgid "unable to read %s/%s: %s"
msgstr "impossible de lire %s/%s : %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "événement d'E/S %d inattendu"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: état %d inattendu"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "message d'erreur reçu du serveur : %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "message d'interruption reçu du serveur : %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: valeur type_case %d inattendue"
@@ -1260,11 +1266,15 @@ msgstr "%s: valeur type_case %d inattendue"
msgid "timeout reading from server"
msgstr "délai d'attente expiré durant la lecture depuis le serveur"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "le nom de l'hôte ne correspond pas au certificat"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "fin de fichier prématurée"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "message serveur trop grand : %u"
@@ -1296,12 +1306,12 @@ msgstr "temps écoulé envoyé au serveur [%lld, %ld]"
msgid "commit point received from server [%lld, %ld]"
msgstr "point d'enregistrement reçu du serveur [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "le délai de la négociation TLS a expiré"
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "impossible de définir l'événement"
@@ -1310,50 +1320,51 @@ msgstr "impossible de définir l'événement"
msgid "TLS connection failed: %s"
msgstr "la communication TLS a échoué : %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "impossible d'allouer l'objet ssl : %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, 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:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "impossible d'initialiser le contexte TLS"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "impossible de sélectionner la suite de chiffrement %s pour TLS 1.2 : %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "impossible de sélectionner la suite de chiffrement %s pour TLS 1.3 : %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "impossible de définir les paramètres diffie-hellman : %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "impossible de créer le contexte TLS : %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "impossible de définir TLS 1.2 comme étant la version minimale du protocole : %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "récupération de l'heure du jour impossible"
@@ -1409,47 +1420,47 @@ msgstr ""
"erreur du serveur d'authentification :\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s : conversion de l'identité de l'hôte en chaîne de caractères impossible(« %s ») : %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s : analyse grammaticale (parse) de « %s » impossible : %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s : accès au cache des données d'identification impossible : %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s : allocation des options impossible : %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, 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:248
+#: plugins/sudoers/auth/kerb5.c:250
#, 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:251
+#: plugins/sudoers/auth/kerb5.c:253
#, 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:315
+#: plugins/sudoers/auth/kerb5.c:317
#, 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:329
+#: plugins/sudoers/auth/kerb5.c:331
#, 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"
@@ -1490,7 +1501,7 @@ msgstr "Le compte a expiré, ou la section « account » du module PAM n'est p
msgid "PAM account management error: %s"
msgstr "Erreur de gestion du compte PAM : %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "votre compte n'existe pas dans la base de données %s"
@@ -1531,27 +1542,27 @@ msgstr "la longueur du mot de passe est invalide pour SecurID"
msgid "unable to initialize SIA session"
msgstr "initialisation de la session SIA impossible"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "méthodes d'authentification invalides"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "Méthodes d'authentification non valides compilées dans sudo ! La combinaison d'authentifications autonomes et non-autonomes n'est pas permise."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "pas de méthodes d'authentification"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "Aucune méthode d'authentification compilée dans sudo ! Si vous souhaitez désactiver l'authentification, utilisez l'option de configuration --disable-authentication"
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Initialisation des méthodes d'authentification impossible."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "Méthodes d'authentification : "
@@ -1563,17 +1574,17 @@ msgstr "Identification de la condition d'audit impossible"
msgid "unable to commit audit record"
msgstr "impossible d'enregistrer l'enregistrement d'audit"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "erreur de lecture dans le fichier des recommandations d'usage : %s"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, 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:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1593,32 +1604,27 @@ msgstr ""
" #3) De grands pouvoirs confèrent de grandes responsabilités.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "identifiant utilisateur %u inconnu"
-#: plugins/sudoers/check_aliases.c:92
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Erreur : %s:%d:%d: boucle dans %s « %s »"
+msgid "%s: %s\n"
+msgstr "%s : %s\n"
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Attention : %s:%d:%d: boucle dans %s « %s »"
+msgid "cycle in %s \"%s\""
+msgstr "boucle dans %s « %s »"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Erreur : %s:%d:%d: il est fait mention de %s « %s » alors qu'il n'a pas été défini"
-
-#: plugins/sudoers/check_aliases.c:98
-#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Attention : %s:%d:%d: il est fait mention de %s « %s » alors qu'il n'a pas été défini"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "il est fait mention de %s « %s » alors qu'il n'a pas été défini"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1635,7 +1641,7 @@ msgstr "ordre de départ : %s : %s"
msgid "order padding: %s: %s"
msgstr "remplissage de l'ordre : %s : %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "Version de la grammaire de %s : %d\n"
@@ -1655,10 +1661,10 @@ msgstr "format de sortie %s non supporté"
msgid "%s: input and output files must be different"
msgstr "%s : les fichiers d'entrée et de sortie doivent être différents"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "initialisation des valeurs par défaut de sudoers impossible"
@@ -1687,28 +1693,18 @@ msgstr "type de suppression invalide : %s"
msgid "invalid filter: %s"
msgstr "filtre invalide : %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "échec lors de l'analyse grammaticale de %s, erreur inconnue"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "erreur lors de l'analyse grammaticale de %s au environs de la ligne %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "erreur lors de l'analyse grammaticale de %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "écriture impossible dans %s"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1717,7 +1713,7 @@ msgstr ""
"%s - convertir entre des formats de fichiers sudoers\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1760,31 +1756,31 @@ msgstr ""
" -V, --version afficher la version et terminer"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "récupération de l'heure GMT impossible"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "impossible de formater l'horodatage"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: entrées par défaut inconnues « %s »"
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "trop d'entrées sudoers, maximum %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "la variable d'environnement SUDOERS_BASE n'est pas définie et l'option -b n'a pas été spécifiée."
@@ -1829,780 +1825,751 @@ msgstr "%s:%d:%d: impossible de rendre Defaults « %s » spécifique à l'hôt
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:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, 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:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, 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:50
+#: plugins/sudoers/def_data.c:56
#, 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:54
+#: plugins/sudoers/def_data.c:60
#, 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:58
+#: plugins/sudoers/def_data.c:64
#, 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:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "Présentation de l'invite OTP sur une ligne distincte"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "Ne pas tenir compte de « . » dans $PATH"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "Toujours envoyer un courriel à chaque exécution de sudo"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Envoi d'un courriel lorsqu'une authentification échoue"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
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:82
+#: plugins/sudoers/def_data.c:88
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:86
+#: plugins/sudoers/def_data.c:92
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:90
+#: plugins/sudoers/def_data.c:96
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:94
+#: plugins/sudoers/def_data.c:100
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:98
+#: plugins/sudoers/def_data.c:104
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:102
+#: plugins/sudoers/def_data.c:108
#, 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:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Exige l'authentification de l'utilisateur par défaut"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "L'utilisateur root peut exécuter sudo"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
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:118
+#: plugins/sudoers/def_data.c:124
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:122
+#: plugins/sudoers/def_data.c:128
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:126
+#: plugins/sudoers/def_data.c:132
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:130
+#: plugins/sudoers/def_data.c:136
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:134
+#: plugins/sudoers/def_data.c:140
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:138
+#: plugins/sudoers/def_data.c:144
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:142
+#: plugins/sudoers/def_data.c:148
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:146
+#: plugins/sudoers/def_data.c:152
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:150
+#: plugins/sudoers/def_data.c:156
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:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "Demande de la saisie du mot de passe de root et non de celui de l'utilisateur"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "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:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users'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:166
+#: plugins/sudoers/def_data.c:172
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:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Définir les variables d'environnement LOGNAME et USER"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "Assigne uniquement l'identifiant utilisateur (UID) effectif à l'utilisateur cible, et non à l'identifiant réel."
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "N'initialise pas le vecteur de groupe avec les valeurs de l'utilisateur cible"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "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:186
+#: plugins/sudoers/def_data.c:192
#, 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:190
+#: plugins/sudoers/def_data.c:196
#, 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:194
+#: plugins/sudoers/def_data.c:200
#, 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:198
+#: plugins/sudoers/def_data.c:204
#, 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:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "Emplacement du fichier de journalisation : %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Emplacement du programme d'envoi de courriel : %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "Attributs à utiliser avec le programme d'envoi de courriel : %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "Adresse du destinataire des courriels : %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "Adresse de l'expéditeur des courriels : %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "Champ objet des courriels envoyés : %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, 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:230
+#: plugins/sudoers/def_data.c:236
#, 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:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "Répertoire contenant l'horodatage de l'authentification : %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, 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:242
+#: plugins/sudoers/def_data.c:248
#, 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:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "Invite de mot de passe par défaut : %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "S'il est défini, passprompt se substituera toujours à l'invite du système."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, 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:258
+#: plugins/sudoers/def_data.c:264
#, 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:262
+#: plugins/sudoers/def_data.c:268
#, 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:266
+#: plugins/sudoers/def_data.c:272
#, 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:270
+#: plugins/sudoers/def_data.c:276
#, 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:274
+#: plugins/sudoers/def_data.c:280
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:278
+#: plugins/sudoers/def_data.c:284
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:282
+#: plugins/sudoers/def_data.c:288
#, 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:286
+#: plugins/sudoers/def_data.c:292
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:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Autorise les utilisateurs à définir des variables d'environnement arbitraires"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
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:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "Variables d'environnement à valider pour s'assurer de la sécurité :"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Variables d'environnement à supprimer :"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Variables d'environnement à conserver :"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "Rôle SELinux à utiliser dans le nouveau contexte de sécurité : %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "Type SELinux à utiliser dans le nouveau contexte de sécurité : %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "Emplacement du fichier d'environnement propre à sudo : %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "Emplacement du fichier d'environnement restreint propre à sudo : %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "Environnement linguistique à utiliser lors de l'analyse syntaxique de sudoers : %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "Autoriser sudo à demander la saisie d'un mot de passe même lorsque celui-ci sera affiché « en clair »"
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "Afficher un contrôle visuel lors de la saisie du mot de passe"
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "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:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "L'umask indiqué dans sudoers se substituera à celui de l'utilisateur, même s'il est plus permissif"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "Consignation des saisies des utilisateur dans le journal pour la commande en cours d'exécution"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
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:354
+#: plugins/sudoers/def_data.c:360
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:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "Exécute toujours les commandes dans un pseudo-terminal (tty)"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, 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:366
+#: plugins/sudoers/def_data.c:372
#, 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:370
+#: plugins/sudoers/def_data.c:376
#, 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:374
+#: plugins/sudoers/def_data.c:380
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:378
+#: plugins/sudoers/def_data.c:384
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:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Ensemble des privilèges permis : %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Ensemble des privilèges limités : %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
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:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "Nom de service PAM à utiliser : %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Nom de service PAM à utiliser pour les interpréteurs de commandes : %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Nom de service PAM à utiliser quand sudo est exécuté avec l'option -A : %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Tentative de création des données d'identification PAM pour l'utilisateur cible"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "Création d'une nouvelle session PAM pour l'exécution de la commande"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "Réaliser la gestion de la validation du compte PAM"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, 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:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "Activation de la prise en charge de netgroup par sudoers"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
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:430
+#: plugins/sudoers/def_data.c:436
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:434
+#: plugins/sudoers/def_data.c:440
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:438
+#: plugins/sudoers/def_data.c:444
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:442
+#: plugins/sudoers/def_data.c:448
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:446
+#: plugins/sudoers/def_data.c:452
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:450
+#: plugins/sudoers/def_data.c:456
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:454
+#: plugins/sudoers/def_data.c:460
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:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Les entrées du journal plus longues que cette valeur seront scindées en plusieurs messages dans syslog : %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Utilisateur qui possèdera les fichiers journaux des E/S : %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Groupe qui possèdera les fichiers journaux des E/S : %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Mode de permission à utiliser sur les fichiers de journaux des E/S : 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Exécuter les commandes par descripteur de fichier plutôt que par chemin : %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignorer les entrées « Defaults » inconnues dans sudoers au lieu d'afficher un avertissement"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Temps en secondes après lequel la commande sera terminée : %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "Autoriser l'utilisateur à spécifier un délai d'expiration sur la ligne de commande"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "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:494
+#: plugins/sudoers/def_data.c:500
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:498
+#: plugins/sudoers/def_data.c:504
#, 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:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "Message de l'échec de l'authentification : %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr "Ignorer la casse lors de la correspondance des noms d'utilisateurs"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr "Ignorer la casse lors de la correspondance des noms de groupes"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
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:518
+#: plugins/sudoers/def_data.c:524
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:522
+#: plugins/sudoers/def_data.c:528
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:526
+#: plugins/sudoers/def_data.c:532
#, 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:530
+#: plugins/sudoers/def_data.c:536
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:534
+#: plugins/sudoers/def_data.c:540
#, 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:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Emplacement du fichier de certificat de sudoers : %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Emplacement du fichier de clé privée de sudoers : %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
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:550
+#: plugins/sudoers/def_data.c:556
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:554
+#: plugins/sudoers/def_data.c:560
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:558
+#: plugins/sudoers/def_data.c:564
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:562
+#: plugins/sudoers/def_data.c:568
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:566
+#: plugins/sudoers/def_data.c:572
#, 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:570
+#: plugins/sudoers/def_data.c:576
#, 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:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Format des journaux à produire : %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "Activer le support pour SELinux RBAC"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Chemin vers le fichier qui est créé la première fois que sudo est exécuté : %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
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:590
+#: plugins/sudoers/def_data.c:596
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:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "Consigner le code de retour des commandes"
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
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:602
+#: plugins/sudoers/def_data.c:608
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:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "La taille maximale à laquelle l'espace d'adresses du processus peut grandir (en octets) : %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "La taille de la plus grande vidange système qui peut être créée (en octets) : %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Le temps CPU maximum que le processus peut utiliser (en secondes) : %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "La taille maximale du segment de données pour le processus (en octets) : %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "La taille la plus grande d'un fichier que le processus peut créer (en octets) : %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Le nombre maximum de verrous que le processus peut établir : %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "La taille maximale que le processus peut verrouiller en mémoire (en octets) : %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Le nombre maximum de fichiers que le processus peut garder ouverts : %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Le nombre maximum de processus que l'utilisateur peut exécuter simultanément : %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "La taille maximale à laquelle l'ensemble résident du processus peut grandir (en octets) : %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "La taille maximale à laquelle la pile du processus peut grandir (en octets) : %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
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:654
+#: plugins/sudoers/def_data.c:660
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:658
+#: plugins/sudoers/def_data.c:664
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/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: entrée par défaut inconnue « %s »"
-
-#: plugins/sudoers/defaults.c:242
-#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: pas de valeur précisée pour « %s »"
-
-#: plugins/sudoers/defaults.c:245
-#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: pas de valeur précisée pour « %s »"
-
-#: plugins/sudoers/defaults.c:258
-#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: opérateur « %c= » invalide pour « %s »"
-
-#: plugins/sudoers/defaults.c:261
-#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: opérateur « %c= » invalide pour « %s »"
-
-#: plugins/sudoers/defaults.c:297
-#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: l'option « %s » ne prend pas de valeur"
-
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: l'option « %s » ne prend pas de valeur"
+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/defaults.c:328
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: type Defaults 0x%x invalide pour l'option « %s »"
+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/defaults.c:331
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: type Defaults 0x%x invalide pour l'option «â£%sâ£Â»"
+msgid "unknown defaults entry \"%s\""
+msgstr "entrée par défaut inconnue « %s »"
-#: plugins/sudoers/defaults.c:341
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: la valeur « %s » ne convient pas pour l'option « %s »"
+msgid "no value specified for \"%s\""
+msgstr "pas de valeur précisée pour « %s »"
-#: plugins/sudoers/defaults.c:344
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: la valeur « %s » ne convient pas pour l'option « %s »"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "opérateur « %c= » invalide pour « %s »"
-#: plugins/sudoers/defaults.c:1161
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: chemin trop long pour « %s »"
+msgid "option \"%s\" does not take a value"
+msgstr "l'option « %s » ne prend pas de valeur"
-#: plugins/sudoers/defaults.c:1164
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: chemin trop long pour « %s »"
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "type Defaults 0x%x invalide pour l'option «â£%sâ£Â»"
-#: plugins/sudoers/defaults.c:1175
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: les valeurs de « %s » doivent commencer par « / », « ~ » ou « * »"
+msgid "value \"%s\" is invalid for option \"%s\""
+msgstr "la valeur « %s » ne convient pas pour l'option « %s »"
-#: plugins/sudoers/defaults.c:1179
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: les valeurs de « %s » doivent commencer par « / », « ~ » ou « * »"
+msgid "path name for \"%s\" too long"
+msgstr "chemin trop long pour « %s »"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: les valeurs de « %s » doivent commencer par « / »"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "les valeurs de « %s » doivent commencer par « / », « ~ » ou « * »"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: les valeurs de « %s » doivent commencer par « / »"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "les valeurs de « %s » doivent commencer par « / »"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2617,16 +2584,6 @@ msgstr "impossible de créer à nouveau l'environnement"
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"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "erreur d'analyse grammaticale dans %s aux environs de la ligne %d"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "erreur d'analyse grammaticale dans %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2676,37 +2633,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:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "mise à jour du fichier de séquence impossible"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "impossible d'écrire dans le journal des E/S : %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "impossible de créer %s/%s"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: erreur interne, le fichier journal des E/S pour l'événement %d n'est pas ouvert"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "lecture de l'horloge impossible"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: erreur interne, signal %d invalide"
@@ -2725,16 +2682,16 @@ msgstr "impossible d'initialiser le certificat SSL et la base de clés : %s"
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "TLS_CERT doit être défini dans %s pour pouvoir utiliser SSL"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "initialisation de LDAP impossible : %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls est spécifié mais les bibliothèques LDAP ne gèrent pas ldap_start_tls_s() ou ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "attribut sudoOrder invalide : %s"
@@ -2774,8 +2731,8 @@ msgstr "ouverture du fichier d'audit du système impossible"
msgid "unable to send audit message"
msgstr "envoi du message d'audit impossible"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "erreur dans la boucle des événements"
@@ -2784,101 +2741,101 @@ msgstr "erreur dans la boucle des événements"
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:223
+#: plugins/sudoers/log_client.c:225
#, 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:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "impossible de charger le certificat %s"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "impossible de charger la clé privée %s"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Impossible d'allouer l'objet ssl : %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "la connexion TLS à %s:%s a échoué : %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "l'initialisation TLS n'a pas réussi"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "la négociation TLS n'a pas réussi"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: erreur interne, statut de sortie %d invalide"
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr "impossible de décompresser ServerMessage"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "perte de la connexion au serveur de journalisation"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "tampon d'écriture manquant"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "impossible de se connecter au serveur de journal"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "l'utilisateur n'apparaît PAS dans sudoers"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "l'utilisateur n'est PAS autorisé sur cet hôte"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "commande non autorisée"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, 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:316
+#: plugins/sudoers/logging.c:326
#, 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:319
+#: plugins/sudoers/logging.c:329
#, 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:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Désolé, l'utilisateur %s n'est pas autorisé à exécuter « %s%s%s » en tant que %s%s%s sur %s.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Cet incident a été signalé à l'administrateur.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s : commande introuvable"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2887,40 +2844,46 @@ 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:380
+#: plugins/sudoers/logging.c:395
#, 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:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "échec de l'authentification"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "il est nécessaire de saisir un mot de passe"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "problème lors de l'analyse syntaxique de sudoers"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "impossible d'écrire le fichier journal : %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "le résumé (digest) de %s (%s) a la mauvaise longueur %zu, %zu attendue"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "le résume (digest) de %s (%s) n'est pas dans le forme %s"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "SELinux RBAC n'est pas supporté quand le mode d'interception est activé"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "SELinux RBAC n'est pas supporté quand le fanion log_subcmds est activé"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2929,7 +2892,7 @@ msgstr ""
"\n"
"Rôle LDAP : %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2937,38 +2900,38 @@ msgstr ""
"\n"
"Entrée sudoers :\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " RunAsUsers : "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " RunAsGroups : "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Options : "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Commandes :\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Entrées Defaults correspondant pour %s sur %s :\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Paramètres par défaut de runas ou spécifiques aux commandes pour %s :\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "L'utilisateur %s peut utiliser les commandes suivantes sur %s :\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, 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"
@@ -2988,64 +2951,59 @@ msgstr "attribut LDIF invalide : %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "%.*s invalide défini par l'interface utilisateur de sudo"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "chemin trop long pour « %s »"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "impossible d'analyser la liste des adresses réseau"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
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:489
+#: plugins/sudoers/policy.c:512
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:493
+#: plugins/sudoers/policy.c:516
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:497
+#: plugins/sudoers/policy.c:520
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:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "répertoire de travail invalide : %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "répertoire chroot invalide : %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "exécution de %s impossible"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: fanions de mode invalides dans l'interface utilisateur de sudo : 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, 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:1213
+#: plugins/sudoers/policy.c:1264
#, 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:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3054,27 +3012,27 @@ msgstr ""
"\n"
"Chemin d'accès à sudoers : %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "chemin d'accès à nsswitch : %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "chemin d'accès à ldap.conf : %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "chemin d'accès à ldap.secret : %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "activation d'un point d'ancrage de type %d (version %d.%d) impossible"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "désactivation d'un point d'ancrage de type %d (version %d.%d) impossible"
@@ -3213,149 +3171,148 @@ msgstr "initialisation de la source SSS impossible. SSSD est-il installé sur ce
msgid "unable to find symbol \"%s\" in %s"
msgstr "Le symbole « %s » est introuvable dans %s"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "les entrées par défaut posent un problème"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "impossible d'obtenir les valeurs par défaut pour %s"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "aucune source sudoers valide n'a été trouvée, fin d'exécution"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "l'utilisateur n'est pas autorisé à changer le répertoire racine en %s"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "vous n'êtes pas autorisé à utiliser l'option -R avec %s"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "l'utilisateur n'est pas autorisé à changer de répertoire vers %s"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "vous n'êtes pas autorisé à utiliser l'option -D avec %s"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "aucune commande spécifiée"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "il est précisé dans sudoers que root n'est pas autorisé à utiliser sudo"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "l'utilisateur n'est pas autorisé à outrepasser la limite closeform"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "vous n'êtes pas autorisé à utiliser l'option -C"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "propriétaire du fichier d'horodatage (%s) : utilisateur inconnu"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "pas de terminal tty"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "désolé, vous devez avoir un terminal tty pour exécuter sudo"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "interpréteur de commande invalide pour l'utilisateur %s : %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "commande dans le répertoire courant"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "« cd » est une commande interne du shell, elle ne peut pas être exécutée directement."
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
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:643
+#: plugins/sudoers/sudoers.c:657
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:652
+#: plugins/sudoers/sudoers.c:666
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:654
+#: plugins/sudoers/sudoers.c:668
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:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "l'utilisateur n'est pas autorisé à conserver l'environnement"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
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:1037
+#: plugins/sudoers/sudoers.c:1053
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:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "lecture de %s impossible"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "impossible d'appliquer la fonction stat à %s"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "%s n'est pas un fichier ordinaire"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "Le fichier %s est la propriété de l'utilisateur (uid) %u, alors qu'il devrait appartenir à %u"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "Le fichier %s est ouvert en écriture pour tous"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "Le fichier %s a pour groupe (gid) %u, alors qu'il devrait appartenir au groupe %u"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "« -c %s » est réservé à l'utilisateur root"
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "classe de connexion %s inconnue"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "impossible de résoudre l'hôte %s"
@@ -3562,99 +3519,94 @@ msgstr "le chemin d'accès au fichier d'état de la recommandation est trop long
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit ne devrait pas être spécifié avec un chemin"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "l'option -x sera supprimée dans une version ultérieure"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "envisagez plutôt l'utilisation de l'utilitaire cvtsudoers"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "appuyer sur entrée pour éditer %s : "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "le contenu de la session d'édition a été laissé dans %s"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "l'éditeur indiqué (%s) n'existe pas"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "aucun éditeur trouvé (chemin d'accès à l'éditeur : %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "erreur en écriture"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "impossible d'appliquer la fonction stat au fichier temporaire (%s), %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "fichier temporaire vide (%s), %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "l'éditeur (%s) a échoué, %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "impossible de rouvrir le fichier temporaire (%s), %s n'a pas été modifié."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "impossible d'analyser le fichier temporaire (%s), erreur inconnue"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "erreur interne, impossible de trouver %s dans la liste !"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "impossible de définir (uid, gid) de %s à (%u, %u)"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s et %s ne sont pas dans le même système de fichiers, tentative de renommage à l'aide de la commande mv"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "la commande a échoué : « %s %s %s », %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "erreur lors du renommage de %s, %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Et maintenant ?"
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3666,41 +3618,41 @@ msgstr ""
" e(x)it sans sauvegarde des modifications apportées au fichier sudoers\n"
" (Q)uitter et sauvegarder les modifications apportées au fichier sudoers (DANGER!)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "exécution de %s impossible"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s : mauvais propriétaire (uid, gid), celui-ci devrait être (%u,%u)\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s : mauvais droits d'utilisation, le mode devrait être 0%o\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s : analyse réussie\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%s n'est pas disponible, réessayez plus tard"
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Éditer quand même ? [y/N]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Attention : %s:%d:%d: %s « %s » n'est pas utilisé"
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3709,7 +3661,7 @@ msgstr ""
"%s - édite le fichier sudoers en toute sécurité\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3753,14 +3705,74 @@ msgstr "la suite de la ligne est invalide"
msgid "invalid IPv6 address"
msgstr "adresse IPv6 invalide"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "saut de ligne inattendu dans la chaîne"
-#: toke.l:1210
+#: toke.l:1218
msgid "too many levels of includes"
msgstr "nombre de niveaux d'inclusions trop élevé"
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Attention : %s:%d:%d: boucle dans %s « %s »"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "Attention : %s:%d:%d: il est fait mention de %s « %s » alors qu'il n'a pas été défini"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "erreur lors de l'analyse grammaticale de %s au environs de la ligne %d\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "erreur lors de l'analyse grammaticale de %s\n"
+
+#~ msgid "%s: unknown defaults entry \"%s\""
+#~ msgstr "%s: entrée par défaut inconnue « %s »"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d: pas de valeur précisée pour « %s »"
+
+#~ msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+#~ msgstr "%s:%d:%d: opérateur « %c= » invalide pour « %s »"
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: l'option « %s » ne prend pas de valeur"
+
+#~ msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+#~ msgstr "%s:%d:%d: type Defaults 0x%x invalide pour l'option « %s »"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: la valeur « %s » ne convient pas pour l'option « %s »"
+
+#~ msgid "%s:%d:%d: path name for \"%s\" too long"
+#~ msgstr "%s:%d:%d: chemin trop long pour « %s »"
+
+#~ msgid "%s: path name for \"%s\" too long"
+#~ msgstr "%s: chemin trop long pour « %s »"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: les valeurs de « %s » doivent commencer par « / », « ~ » ou « * »"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: les valeurs de « %s » doivent commencer par « / »"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "erreur d'analyse grammaticale dans %s aux environs de la ligne %d"
+
+#~ msgid "parse error in %s"
+#~ msgstr "erreur d'analyse grammaticale dans %s"
+
+#~ msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#~ msgstr "SELinux RBAC n'est pas supporté quand le mode d'interception est activé"
+
+#~ msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#~ msgstr "SELinux RBAC n'est pas supporté quand le fanion log_subcmds est activé"
+
+#~ 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"
@@ -3773,9 +3785,6 @@ msgstr "nombre de niveaux d'inclusions trop élevé"
#~ msgid "unable to read diffie-hellman parameters: %s"
#~ msgstr "impossible de lire les paramètres diffie-hellman : %s"
-#~ msgid "unknown defaults entry \"%s\""
-#~ msgstr "entrée par défaut inconnue « %s »"
-
#~ msgid "%s:%d unknown key: %s"
#~ msgstr "%s:%d clé inconnue : %s"
diff --git a/plugins/sudoers/po/hr.mo b/plugins/sudoers/po/hr.mo
index f60e88844..966ef708f 100644
--- a/plugins/sudoers/po/hr.mo
+++ b/plugins/sudoers/po/hr.mo
Binary files differ
diff --git a/plugins/sudoers/po/hr.po b/plugins/sudoers/po/hr.po
index 5b2574bca..f54c2572e 100644
--- a/plugins/sudoers/po/hr.po
+++ b/plugins/sudoers/po/hr.po
@@ -4,10 +4,10 @@
# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2017, 2018, 2019, 2020, 2021, 2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudoers-1.9.10b1\n"
+"Project-Id-Version: sudoers-1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-13 15:57-0800\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-30 15:44-0700\n"
"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\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:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "pogreška u sintaksi"
@@ -45,17 +45,17 @@ msgstr "*** SIGURNOSNE informacije za %h ***"
msgid "Sorry, try again."
msgstr "Pokušajte ponovo."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -71,39 +71,39 @@ msgstr "Pokušajte ponovo."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -112,23 +112,21 @@ msgstr "Pokušajte ponovo."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -136,120 +134,120 @@ msgstr "Pokušajte ponovo."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "nije moguće dodijeliti memoriju"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "kontrolni zbroj zahtijeva ime staze"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "vrijednosti za „CWD“ moraju zapoÄeti s „/“, „~“, ili „*“"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "„CWD“ staza je predugaÄka"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "vrijednosti za „CHROOT“ moraju zapoÄeti s „/“, „~“, ili „*“"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "„CHROOT“ staza je predugaÄka"
-#: gram.y:788
+#: gram.y:801
#, 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:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "nevaljana ‘notbefore’ vrijednost"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "nevaljana ‘notafter’ vrijednost"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "vrijednost za tajmaut je prevelika"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "nevaljana vrijednost za tajmaut"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "naredba je predugaÄka"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Alias „%s“ je već ranije definiran"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -269,37 +267,37 @@ msgstr "Alias „%s“ je već ranije definiran"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -310,23 +308,21 @@ msgstr "Alias „%s“ je već ranije definiran"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -334,69 +330,70 @@ msgstr "Alias „%s“ je već ranije definiran"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -405,16 +402,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "**interna greška**, %s prelijevanje"
@@ -429,31 +428,31 @@ msgstr "nije moguće duplicirati stdin: %m"
msgid "unable to execute %s: %m"
msgstr "nije moguće izvršiti %s: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "nije moguće stvoriti novi proces (greška u fork())"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "nije moguće stvoriti novi proces (greška u fork()): %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "nije moguće otvoriti cijev: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (naredba se nastavlja) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -569,13 +568,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr "%s postoji ali nije direktorij (0%o)"
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "nije moguće napraviti direktorij %s"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "nije moguće promijeniti mÈd od %s na 0%o"
@@ -590,8 +589,8 @@ msgstr "greÅ¡ka pri Äitanju tajming datoteke: %s"
msgid "invalid timing file line: %s"
msgstr "nevaljani redak u tajming datoteci: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "nije moguće generirati UUID"
@@ -650,56 +649,56 @@ msgstr "greška pri zatvaranju iofd (I/O FD) %d: %s"
msgid "error flushing iofd %d: %s"
msgstr "greška pri brisanju deskriptora datoteke %d: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
-msgstr "nevaljani I/O zapis %s: %s ima referenciju ali ne postoji"
+msgstr "nevaljani U/I zapis %s: %s ima referenciju ali ne postoji"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: nije moguće naći toÄku [%lld, %ld] od koje treba nastaviti"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "nije moguće otvoriti %s"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "nije moguće otvoriti %s/%s"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "nije moguće kopirati %s/%s u %s/%s: %s"
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "nije moguće preimenovati %s u %s"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: nije moguće naći toÄku [%lld, %ld] od koje treba nastaviti"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "nema dnevniÄke datoteke U/I %s/%s"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: nije moguće skoÄiti naprijed na %zu"
@@ -708,32 +707,32 @@ msgstr "%s/%s: nije moguće skoÄiti naprijed na %zu"
msgid "unable to connect to relay"
msgstr "nije moguće spojiti se na relej"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "poruka servera je prevelika: %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -778,6 +777,13 @@ msgstr "%s: neoÄekivani IoBuffer"
msgid "protocol error"
msgstr "greška protokola"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "nije moguće raspakirati %s veliÄinu %zu"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -793,110 +799,110 @@ msgstr "neprepoznata vrsta ClientMessage-a"
msgid "timed out writing to client %s"
msgstr "vrijeme za pisanje klijentu %s je isteklo"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "nema međuspremnika za pisanje za %s klijenta"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr "isteklo je vrijeme za Äitanje od %s klijenta"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "EOF od %s nije propisno zatvaranje TLS-a"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "poruka klijenta je prevelika: %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "poruka klijenta je prevelika"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "nevaljana ClientMessage"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "nije moguće dobiti udaljenu IP adresu"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Nije moguće prikvaÄiti podatke korisnika na SSL objekt: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "nije moguće postaviti prikljuÄak za sluÅ¡anje (listen socket)"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "neoÄekivani signal %d"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "server sudo dnevnika"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
-msgstr "Opcije: "
+msgstr "Opcije:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "staza do datoteke s postavkama"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "prikaže pomoć i iziđe"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "ne stvara novi proces, radi u prednjem planu"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "postotak šanse da će se veza prekinuti"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "prikaže podatke o inaÄici i iziÄ‘e"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Potrebna je Protobuf-C inaÄica 1.3 ili novija."
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "nevaljana ‘random drop’ vrijednost: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s inaÄica %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "nepoznati korisnik %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -970,7 +976,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] nelegalni kljuÄ : %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "nije moguće otvoriti dnevniÄku datoteku %s"
@@ -983,13 +989,13 @@ msgstr "nije moguće inicijalizirati server TLS konteksta"
msgid "unable to initialize relay TLS context"
msgstr "nije moguće inicijalizirati relej SSL konteksta"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "nije moguće stvoriti dnevniÄku datoteku"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "nije moguće zakljuÄati %s"
@@ -1002,8 +1008,8 @@ msgstr "nije moguće zakljuÄati dnevniÄku datoteku"
msgid "unable to open journal file"
msgstr "nije moguće otvoriti dnevniÄku datoteku"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "nije moguće pisati u dnevniÄku datoteku"
@@ -1021,11 +1027,11 @@ msgstr "neoÄekivani EOF pri Äitanju dnevnika"
msgid "error reading journal file"
msgstr "greÅ¡ka pri Äitanju dnevnika"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "nevaljana datoteka dnevnika, ponovno pokretanje nije uspjelo"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "nije moguće skoÄiti na toÄku [%lld, %ld] u dnevniku %s"
@@ -1113,7 +1119,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: nevaljani ServerHello, nedostaje server_id"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "nevaljani ServerHello"
@@ -1134,44 +1140,44 @@ msgstr "isteklo je vrijeme za Äitanje iz releja"
msgid "relay host name does not match certificate"
msgstr "ime hosta releja se ne slaže s certifikatom"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "greÅ¡ka Äitanja iz releja"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "nije moguće Äitati iz releja"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "server releja je prekinuo vezu"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "poruka servera je prevelika"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "vrijeme za pisanje na relej %s (%s) je isteklo"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "vrijeme za pisanje na relej je isteklo"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "greška pri pisanju na relej"
#: logsrvd/sendlog.c:114
msgid "send sudo I/O log to remote server"
-msgstr "pošalje sudo I/O dnevnik na udaljeni poslužitelj"
+msgstr "pošalje sudo U/I dnevnik na udaljeni poslužitelj"
#: logsrvd/sendlog.c:120
msgid "only send an accept event (no I/O)"
-msgstr "pošalje samo prihvaćene događaje (ne i I/O)"
+msgstr "pošalje samo prihvaćene događaje (ne i U/I)"
#: logsrvd/sendlog.c:123
msgid "certificate bundle file to verify server's cert against"
@@ -1187,7 +1193,7 @@ msgstr "host kojem se Å¡alje dnevnik"
#: logsrvd/sendlog.c:130
msgid "remote ID of I/O log to be resumed"
-msgstr "udaljeni ID I/O dnevnika koji treba nastaviti"
+msgstr "udaljeni ID U/I dnevnika koji treba nastaviti"
#: logsrvd/sendlog.c:133
msgid "private key file"
@@ -1203,7 +1209,7 @@ msgstr "koristi taj port za spajanje na hosta"
#: logsrvd/sendlog.c:140
msgid "restart previous I/O log transfer"
-msgstr "ponovno pokrene prethodni prijenos I/O dnevnika"
+msgstr "ponovno pokrene prethodni prijenos U/I dnevnika"
#: logsrvd/sendlog.c:142
msgid "reject the command with the given reason"
@@ -1215,9 +1221,9 @@ msgstr "zaustavi prijenos nakon tog vremena"
#: logsrvd/sendlog.c:146
msgid "test audit server by sending selected I/O log n times in parallel"
-msgstr "testira revizijski server slanjem odabranih zapisa I/O dnevnika paralelno n puta"
+msgstr "testira revizijski server slanjem odabranih zapisa U/I dnevnika paralelno n puta"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "nije moguće potražiti %s:%s: %s"
@@ -1231,30 +1237,30 @@ msgstr "nije moguće dobiti IP adresu servera"
msgid "unable to read %s/%s: %s"
msgstr "nije moguće uÄitati %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "neoÄekivani U/I dogaÄ‘aj %d"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: neoÄekivano stanje %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "primljena je poruka o greškama od servera: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "primljena je poruka za prekid (abort) od servera: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: neoÄekivana ‘type_case’ vrijednost za %d"
@@ -1263,11 +1269,15 @@ msgstr "%s: neoÄekivana ‘type_case’ vrijednost za %d"
msgid "timeout reading from server"
msgstr "isteklo je vrijeme za Äitanje iz servera"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "ime hosta releja se ne slaže s certifikatom"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "preuranjeni EOF (kraj datoteke)"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "poruka servera je prevelika: %u"
@@ -1299,12 +1309,12 @@ msgstr "proteklo vrijeme poslano je na server [%lld, %ld]"
msgid "commit point received from server [%lld, %ld]"
msgstr "potvrÄ‘ena toÄka primljena je od servera [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "Vrijeme za TLS rukovanje je isteklo."
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "nije moguće uspostaviti događaj"
@@ -1313,50 +1323,51 @@ msgstr "nije moguće uspostaviti događaj"
msgid "TLS connection failed: %s"
msgstr "TLS spajanje nije uspjelo: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "nije uspjelo dodijeliti memoriju za SSL objekt: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, 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:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "nije moguće inicijalizirati TLS konteks"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "nije moguće postaviti ciphersuite na %s: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "nije moguće postaviti TLS 1.3 ciphersuite to %s: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "nije moguće postaviti diffie-hellman parametre: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "nije moguće stvoriti TLS kontekst: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "nije mouguće uspostaviti minimalni protokol na TLS 1.2: %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "nije moguće dobiti doba dana (trenutno vrijeme)"
@@ -1412,47 +1423,47 @@ msgstr ""
"greška na serveru za autentifikaciju:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: nije moguće pretvoriti principala u string (‘%s’): %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: nije moguće raÅ¡Älaniti ‘%s’: %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: nije moguće naći verifikacijsku predmemoriju: %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: nije moguće dodijeliti opcije: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: nije moguće dobiti verifikaciju: %s"
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: nije moguće inicijalizirati verifikacijsku predmemoriju: %s"
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: nije moguće spremiti verifikaciju u predmemoriju: %s"
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: nije moguće dobiti principala: %s"
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: Nije moguće provjeriti TGT! Mogući napad!: %s"
@@ -1493,7 +1504,7 @@ msgstr "RaÄun je istekao ili PAM konfiguracija nema sekciju ‘account’ za su
msgid "PAM account management error: %s"
msgstr "PogreÅ¡ka u upravljanju PAM raÄunom: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "vas nema u %s bazi podataka"
@@ -1534,27 +1545,27 @@ msgstr "nevaljana duljina lozinke za SecurID"
msgid "unable to initialize SIA session"
msgstr "nije moguće inicijalizirati SIA sesiju"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "nevaljane metode autentifikacije"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "Nevaljane metode autentifikacije su ugrađene u sudo! Ne smijete miješati samostalne i nesamostalne autentifikacije."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "nema metoda autentifikacije"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "Metode autentifikacije nisu ugraÄ‘ene u sudo! Ako želite iskljuÄiti autentifikaciju, koristite konfiguracijsku opciju --disable-authentication."
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Nije moguće inicijalizirati metode autentifikacije."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "Metode autentifikacije:"
@@ -1566,17 +1577,17 @@ msgstr "Nije bilo moguće odrediti uvjete za reviziju."
msgid "unable to commit audit record"
msgstr "revizijski izvještaj nije bilo moguće zapisati na disk"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "greÅ¡ka pri Äitanju datoteke s prodikom: %s"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "zanemari datoteku s prodikom %s: nije regularna datoteka"
-#: plugins/sudoers/check.c:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1596,32 +1607,27 @@ msgstr ""
" #3) S velikim moćima dolazi velika odgovornost.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "nepoznati UID %u"
-#: plugins/sudoers/check_aliases.c:92
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Greška: %s:%d:%d: ciklus u %s „%s“"
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Upozorenje: %s:%d:%d: ciklus u %s „%s“"
+msgid "cycle in %s \"%s\""
+msgstr "ciklus u %s „%s“"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Greška: %s:%d:%d %s „%s“ je referenciran ali nije definiran"
-
-#: plugins/sudoers/check_aliases.c:98
-#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Upozorenje: %s:%d:%d %s „%s“ je referenciran ali nije definiran"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "Greška: %s „%s“ je referenciran ali nije definiran"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1638,7 +1644,7 @@ msgstr "poÄetni redoslijed (order): %s: %s"
msgid "order padding: %s: %s"
msgstr "ispuna redoslijeda (order): %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s inaÄica gramatike %d\n"
@@ -1658,10 +1664,10 @@ msgstr "nepodržani izlazni format %s"
msgid "%s: input and output files must be different"
msgstr "%s: ulazna i izlazna datoteka moraju biti razliÄite datoteke"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "nije moguće inicijalizirati zadane vrijednosti sudoers"
@@ -1690,28 +1696,18 @@ msgstr "nevaljana vrsta za izostavljanje: %s"
msgid "invalid filter: %s"
msgstr "nevaljani filtar: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "nije uspjelo raÅ¡Älaniti %s datoteku, nepoznata greÅ¡ka"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "greÅ¡ka u raÅ¡Älambi u %s blizu retka %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "greÅ¡ka u raÅ¡Älambi u %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "nije moguće pisati u %s"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1720,7 +1716,7 @@ msgstr ""
"%s - pretvara formate sudoers datoteka\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1761,31 +1757,31 @@ msgstr ""
" -V, --version informira o inaÄici ovog programa i zavrÅ¡i"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "nije moguće dobiti GMT vrijeme"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "nije moguće oblikovati vremensku oznaku"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: nepoznata zadana stavka „%s“"
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "previše sudoers grešaka, maksimum je %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "varijabla okoline SUDOERS_BASE nije postavljena i -b opcija nije specificirana."
@@ -1830,780 +1826,751 @@ msgstr "%s:%d:%d: nije moguće napraviti Defaults „%s“ specifiÄno za hosta"
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:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, 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:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, 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:50
+#: plugins/sudoers/def_data.c:56
#, 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:54
+#: plugins/sudoers/def_data.c:60
#, 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:58
+#: plugins/sudoers/def_data.c:64
#, 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:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "Postavite OTP (One-Time-Password) prompt u zasebni, vlastiti redak."
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
-msgstr "Ignorira se ‘.’ u $PATH."
+msgstr "Zanemari ‘.’ u $PATH."
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "Poštu poslati kad god se pokrene sudo."
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Poštu poslati ako autentifikacija korisnika nije uspjela."
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
msgid "Send mail if the user is not in sudoers"
msgstr "Poštu poslati ako korisnik nije u sudoers."
-#: plugins/sudoers/def_data.c:82
+#: plugins/sudoers/def_data.c:88
msgid "Send mail if the user is not in sudoers for this host"
msgstr "PoÅ¡tu poslati ako korisnik nije u sudoers na ovom raÄunalu."
-#: plugins/sudoers/def_data.c:86
+#: plugins/sudoers/def_data.c:92
msgid "Send mail if the user is not allowed to run a command"
msgstr "Poštu poslati ako korisnik nema dopuštenje za pokretanje naredbe."
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:96
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:94
+#: plugins/sudoers/def_data.c:100
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:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr "Korisnika poduÄiti prilikom prvog pokretanja sudo."
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "Datoteka koja sadrži sudo poduku: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Zadano (by default),zahtijeva se autentifikacija korisnika."
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "Root smije pokrenuti sudo."
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
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:118
+#: plugins/sudoers/def_data.c:124
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:122
+#: plugins/sudoers/def_data.c:128
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:126
+#: plugins/sudoers/def_data.c:132
msgid "Set $HOME to the target user when starting a shell with -s"
-msgstr "Postavlja $HOME na ciljanoga korisnika pri pokretanju ljuske s opcijom -s."
+msgstr "Postavlja $HOME na ciljanog korisnika pri pokretanju ljuske s opcijom -s."
-#: plugins/sudoers/def_data.c:130
+#: plugins/sudoers/def_data.c:136
msgid "Always set $HOME to the target user's home directory"
-msgstr "Uvijek postavlja $HOME na osobni direktorij ciljanoga korisnika."
+msgstr "Uvijek postavlja $HOME na osobni direktorij ciljanog korisnika."
-#: plugins/sudoers/def_data.c:134
+#: plugins/sudoers/def_data.c:140
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:138
+#: plugins/sudoers/def_data.c:144
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:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr "Korisnika izgrditi ako upiÅ¡e netoÄnu lozinku."
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr "Korisniku dopustiti pokretanje sudo samo ako ima tty."
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "Visudo poštuje varijablu okoline EDITOR."
-#: plugins/sudoers/def_data.c:154
+#: 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:158
+#: 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:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
-msgstr "Zatražiti lozinku ciljanoga korisnika a ne lozinku trenutnog korisnika."
+msgstr "Zatražiti lozinku ciljanog korisnika a ne lozinku trenutnog korisnika."
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
-msgstr "Ako postoje, primijeniti zadane vrijednosti iz login klase ciljanoga korisnika."
+msgstr "Ako postoje, primijeniti zadane vrijednosti iz login klase ciljanog korisnika."
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Postavlja varijable okoline LOGNAME i USER."
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
-msgstr "Postavlja samo efektivni UID na onaj ciljanoga korisnika umjesto stvarnog UID."
+msgstr "Postavlja samo efektivni UID na onaj ciljanog korisnika umjesto stvarnog UID."
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
-msgstr "Ne inicijalizirati grupni vektor na onaj od ciljanoga korisnika."
+msgstr "Ne inicijalizirati grupni vektor na onaj od ciljanog korisnika."
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "Pozicija na kojoj se prelamaju redci dnevniÄke datoteke (0, bez prelamanja): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "Tajmaut vremenske oznake autentifikacije: %.1f minuta."
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "Tajmaut za unos lozinke: %.1f minuta."
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "Broj pokušaja unosa lozinke: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "Umask za koriÅ¡tenje ili 0777 za korisniÄku: 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "Staza do dnevniÄke datoteke: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Staza do programa pošte: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "Zastavice za program pošte: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "Adresa na koju se šalje pošta: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "Adresa s koje se šalje pošta: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "Redak za upis predmeta (subject) poštanskih poruka: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "Poruka za netoÄnu lozinku: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "Staza do direktorija s lekcijom: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "Staza do direktorija s vremenskim oznakama autentifikacije: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
msgstr "Vlasnik direktorija s vremenskim oznakama autentifikacije: %s"
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:248
#, c-format
msgid "Users in this group are exempt from password and PATH requirements: %s"
msgstr "Korisnici u ovoj grupi su izuzeti od zahtjeva za unos lozinke i PATH: %s"
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "Zadani zahtjev (prompt) za lozinku: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "Ako je postavljen, passprompt će zamijeniti prompt sustava u svim sluÄajevima."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr "Zadani korisnik za pokretanje naredbi: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "Vrijednost s kojom se zamijeni korisnikov $PATH: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr "Staza do ureÄ‘ivaÄa koji će koristiti visudo: %s"
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr "Kada zatražiti lozinku za pseudonaredbu „list“: %s"
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr "Kada zatražiti lozinku za pseudonaredbu „verify“: %s"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr "Unaprijed uÄitajte biblioteku sudo_noexec koja zamjenjuje exec funkcije"
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr "Ako je dostupni LDAP direktorij, zanemaruje li se lokalna sudoers datoteka."
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr "Deskriptori datoteka >= %d biti će zatvoreni prije izvršavanja naredbe."
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
msgstr "Ako je postavljena, korisnici mogu s opcijom -C promijeniti vrijednost od „closefrom“."
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Korisnici mogu postaviti bilo koje varijable okoline."
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr "Okolinu vratiti u zadani skup varijabli okoline."
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "Varijable okruženja Äiju sigurnost treba provjeriti:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Varijable okoline koje treba ukloniti:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Varijable okoline koje treba zadržati:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "SELinux uloga za korištenje u novom sigurnosnom kontekstu: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "SELinux vrsta za korištenje u novom sigurnosnom kontekstu: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "Staza do datoteke okoline specifiÄne za sudo: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "Staza do datoteke okoline s ograniÄenim pristupom specifiÄne za sudo: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "Locale za korištenje pri obradi sudoers: %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "Dopustiti da sudo zatraži lozinku Äak i ako će biti vidljiva."
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "Vizualno pokazati rezultat nakon unosa lozinke korisnikom."
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "Rabi se brže i manje precizno podudaranje ali nema dostupa datoteÄnom sustavu."
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "U sudoers specificirani umask zamijeniti će korisniÄki Äak i ako je tolerantniji."
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "Urudžbirati korisnikom pokrenute naredbe."
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
msgid "Log the output of the command being run"
msgstr "Urudžbirati izlaz pokrenute naredbe."
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr "U/I urudžbirane dnevnike komprimirati s programom zlib."
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "Naredbe uvijek pokrenuti u pseudo-TTY."
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, 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:366
+#: plugins/sudoers/def_data.c:372
#, 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:370
+#: plugins/sudoers/def_data.c:376
#, 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:374
+#: plugins/sudoers/def_data.c:380
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:378
+#: plugins/sudoers/def_data.c:384
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:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Skup dopuštenih privilegija: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Skup limitiranih privilegija: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "Pokrenuti naredbe na pseudo terminalu u pozadini."
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "Naziv PAM usluge za upotrebu: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Naziv PAM usluge za upotrebu za prijavnu ljusku: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Naziv PAM usluge koja se koristi kad je sudo pozvan s opcijom -A: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
-msgstr "Pokušaj da se uspostavi PAM verifikacija za ciljanoga korisnika."
+msgstr "Pokušaj da se uspostavi PAM verifikacija za ciljanog korisnika."
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "Kreira novu PAM sesiju za izvršavanje naredbe."
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "Provjeri upravljanje s PAM raÄunom."
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Najveći broj redoslijeda dnevnika U/I: %s"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "Omogućite podršku mrežnih grupa (netgroup) u sudoers."
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
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:430
+#: plugins/sudoers/def_data.c:436
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Slijedi simboliÄke veze kad se koristi sudoedit za ureÄ‘ivanje datoteka."
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr "Ispituje plugin grupe za nepoznate sustavske grupe."
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Podudaranje mrežnih grupa bazira se na kompletnoj n-torki: korisnik, raÄunalo, domena."
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Naredbe je dopušteno izvršiti iako ih sudo ne može upisati u revizijski dnevnik."
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Naredbe je dopušteno izvršiti iako ih sudo ne može upisati u U/I dnevnik."
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Naredbe je dopušteno izvršiti iako ih sudo ne može upisati u dnevnik."
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Razriješi grupe u sudoers i podudari ih po ID grupe umjesto po imenu grupe."
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "DnevniÄke stavke veće od ove vrijednosti podijeliti će se u viÅ¡e syslog poruka: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Korisnik koji će biti vlasnik U/I dnevnika: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Grupa koja će biti vlasnik U/I dnevnika: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Prava pristupa za uporabu za U/I dnevnike: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Izvrši naredbe pomoću deskriptora datoteke umjesto staze: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Nepoznati zadani podaci za sudoers se ignoriraju umjesto ispisa upozorenja."
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Vrijeme u sekundama nakon kojeg se naredba prekida: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "Dopustite korisniku da specificira tajmaut na komandnom retku."
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "U/I dnevnik ispisivati direktno na disk umjesto preko međuspremnika."
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
msgid "Include the process ID when logging via syslog"
msgstr "U syslog dnevnik upisivati i ID procesa."
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Vrsta zapisa autentifikacijskih vremenskih oznaka: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "GreÅ¡ka u provjeri autentiÄnosti: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
-msgstr "Ignorira se veliÄina slova kad se usporeÄ‘uju imena korisnika."
+msgstr "Zanemari veliÄinu slova kad se usporeÄ‘uju imena korisnika."
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
-msgstr "Ignorira se veliÄinu slova kada se usporeÄ‘uju imena grupa."
+msgstr "Zanemari velika/mala slova pri usporedbi imena grupa."
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
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:518
+#: plugins/sudoers/def_data.c:524
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:522
+#: plugins/sudoers/def_data.c:528
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:526
+#: plugins/sudoers/def_data.c:532
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Tajmaut servera sudo dnevnika u sekundama: %u"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:536
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Omogućite opciju utiÄnice SO_KEEPALIVE na utiÄnici spojenoj na server dnevnika."
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:540
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Staza do datoteke s paketom certifikata (CA) revizijskog servera: %s"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Staza do datoteke sa sudoers certifikatima: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Staza do datoteke sa sudoers privatnim (tajnim) kljuÄem: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
msgid "Verify that the log server's certificate is valid"
msgstr "Provjerite je li certifikat dnevniÄkog servera valjan."
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:556
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Dopustite nepoznate vrijednosti za korisniÄko ime i/ili ID grupe za ‘runas’."
-#: plugins/sudoers/def_data.c:554
+#: plugins/sudoers/def_data.c:560
msgid "Only permit running commands as a user with a valid shell"
msgstr "Dopustite izvršavanje naredbi samo korisniku s valjanom ljuskom."
-#: plugins/sudoers/def_data.c:558
+#: plugins/sudoers/def_data.c:564
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:562
+#: plugins/sudoers/def_data.c:568
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:566
+#: plugins/sudoers/def_data.c:572
#, 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:570
+#: plugins/sudoers/def_data.c:576
#, 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:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Format dnevnika: %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "Omogući podršku za SELinux RBAC"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Staza do datoteke koja se kreira prilikom prvog sudo pokretanja: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
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:590
+#: plugins/sudoers/def_data.c:596
msgid "Log sub-commands run by the original command"
msgstr "Urudžbira podnaredbe koje izvodi naredba"
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "Urudžbira izlazno stanje pokrenute naredbe."
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Naredne naredbe u presretoj sesiji moraju biti ovjerene."
-#: plugins/sudoers/def_data.c:602
+#: plugins/sudoers/def_data.c:608
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Dopusti presretnutu naredbu da pokrene program za postavljnje setuid ili setgid."
-#: plugins/sudoers/def_data.c:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "Maksimalna veliÄina do koje adresni prostor procesa može narasti (u bajtovima): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Najveća veliÄina datoteke s damp memorijom koja se može stvoriti (u bajtovima): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Maksimalna koliÄina CPU vremena koje proces može koristiti (u sekundama): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "Maksimalna veliÄina podatkovnog segmenta za proces (u bajtovima): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Najveća veliÄina datoteke koju proces može stvoriti (u bajtovima): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Maksimalni broj zakljuÄavanja koje proces može uspostaviti: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "Maksimalna veliÄina koju proces može zakljuÄati u memoriji (u bajtovima): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Maksimalan broj datoteka koje proces može otvoriti: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Maksimalan broj procesa koje korisnik može istovremeno pokrenuti: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "Maksimalna veliÄina do koje može narasti rezidentna postavljena veliÄina procesa (u bajtovima): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "Maksimalna veliÄina do koje može narasti stÈg procesa (u bajtovima): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
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:654
+#: plugins/sudoers/def_data.c:660
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:658
+#: plugins/sudoers/def_data.c:664
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/defaults.c:193
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: nepoznata stavka zadanih vrijednosti „%s“"
+msgid "The mechanism used by the intercept and log_subcmds options: %s"
+msgstr "Mehanizam koji koriste opcije presretanja i log_subcmds: %s"
-#: plugins/sudoers/defaults.c:242
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: nije navedena vrijednost za „%s“"
+msgid "AppArmor profile to use in the new security context: %s"
+msgstr "AppArmor profil za upotrebu u novom sigurnosnom kontekstu: %s"
-#: plugins/sudoers/defaults.c:245
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: nije navedena vrijednost za „%s“"
+msgid "unknown defaults entry \"%s\""
+msgstr "nepoznati unos defaults „%s“"
-#: plugins/sudoers/defaults.c:258
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: nevaljan operator \"%c=\" za „%s“"
+msgid "no value specified for \"%s\""
+msgstr "nije navedena vrijednost za „%s“"
-#: plugins/sudoers/defaults.c:261
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: nevaljan operator \"%c=\" „%s“"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "nevaljan operator „%c=“ za „%s“"
-#: plugins/sudoers/defaults.c:297
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: opcija „%s“ ne treba nikakvu vrijednost"
+msgid "option \"%s\" does not take a value"
+msgstr "opcija „%s“ ne prihvaća vrijednost"
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: opcija „%s“ ne prihvaća vrijednost"
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "nevaljana Defaults vrsta 0x%x za opciju „%s“"
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: nevaljana vrsta Defaults 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:331
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: nevaljana vrsta Defaults 0x%x za opciju „%s“"
-
-#: plugins/sudoers/defaults.c:341
-#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: vrijednost „%s“ za opciju „%s“ nije valjana"
-
-#: plugins/sudoers/defaults.c:344
-#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: vrijednost „%s“ nije ispravna za opciju „%s“"
-
-#: plugins/sudoers/defaults.c:1161
-#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: ime staze za „%s“ je predugaÄko"
-
-#: plugins/sudoers/defaults.c:1164
-#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: ime staze za „%s“ je predugaÄko"
-
-#: plugins/sudoers/defaults.c:1175
-#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: vrijednost za „%s“ mora zapoÄeti s „/“, „~“, ili „*“"
-
-#: plugins/sudoers/defaults.c:1179
-#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: vrijednost za „%s“ mora zapoÄeti s „/“, „~“, ili „*“"
+msgid "path name for \"%s\" too long"
+msgstr "ime staze za „%s“ je predugaÄko"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: vrijednost za „%s“ mora zapoÄeti s „/“"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "vrijednost za „%s“ mora zapoÄeti s „/“, „~“, ili „*“"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: vrijednost za „%s“ mora poÄeti s „/“"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "vrijednost za „%s“ mora poÄeti s „/“"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2618,16 +2585,6 @@ msgstr "nije moguće obnoviti okolinu"
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "nemate dopuštenje za postavljanje sljedećih varijabli okoline: %s"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "greÅ¡ka u raÅ¡Älambi u %s blizu retka %d"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "greÅ¡ka u raÅ¡Älambi u %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2677,37 +2634,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:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "nije moguće ažurirati datoteku redoslijeda (sequence file)"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "nije moguće pisati u U/I dnevnik: %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "nije moguće stvoriti %s/%s"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: interna greÅ¡ka, U/I dnevniÄka datoteka za dogaÄ‘aj %d nije otvorena"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "nije moguće proÄitati vrijeme (clock)"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: interna greška, nevaljani signal %d"
@@ -2726,16 +2683,16 @@ msgstr "nije moguće inicijalizirati SSL certifikat i bazu podataka kljuÄeva: %
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "morate postaviti TLS_CERT u %s da koristite SSL"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "nije moguće inicijalizirati LDAP: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls je specificirani, ali LDAP biblioteke ne podržavaju ldap_start_tls_s() ili ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "nevaljani sudoOrder atribut: %s"
@@ -2775,8 +2732,8 @@ 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:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "greška u petlji događaja"
@@ -2785,104 +2742,104 @@ msgstr "greška u petlji događaja"
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Nije uspjelo stvoriti novi ‘SSL_CTX’ objekt: %s"
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:225
#, 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:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "nije moguće uÄitati certifikate %s"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "nije moguće uÄitati privatni kljuÄ %s"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Nije uspjelo dodijeliti memoriju za SSL objekt: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "TLS veza sa %s:%s nije uspjela: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "TLS inicijalizacija nije bila uspješna"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "TLS rukovanje (handshake) nije bila uspješno"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: **interna greška** -- nevaljani izlazni status %d"
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr "nije moguće raspakirati ServerMessage"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "veza sa serverom za autentifikaciju je prekinuta (izgubljena je)"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "nema međuspremnika za pisanje"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "nije moguće spojiti se na dnevniÄki server"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "korisnik NIJE u sudoers"
# Authentication is about who somebody is.
# Authorisation is about what they're allowed to do.
# https://en.wikipedia.org/wiki/AAA_(computer_security)#Authorization
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "korisnik NEMA ovlasti na raÄunalu (nije autoriziran)"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "naredba nije dopuštena"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s nije u sudoers datoteci\n"
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:326
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s nije dopušteno pokrenuti sudo na %s.\n"
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Nažalost, korisnik %s ne smije pokrenuti sudo na %s.\n"
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Nažalost, korisniku %s nije dopušteno izvršiti „%s%s%s“ kao %s%s%s na %s.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Ovaj incident bit će prijavljen administratoru.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: naredba nije pronađena"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2891,7 +2848,7 @@ msgstr ""
"zanemaruje se „%s“ pronađen u „.“\n"
"Koristite „sudo ./%s“ ako je to „%s“ koji želite pokrenuti."
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:395
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
@@ -2899,33 +2856,39 @@ 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:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "neuspješna autentifikacija"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "nužna je lozinka"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "problem sa sudoers raÅ¡Älanivanjem"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "nije moguće pisati u dnevniÄku datoteku: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "kontrolni zbroj za %s (%s) ima loÅ¡u dužinu %zu, oÄekivana je %zu"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "kontrolni zbroj za %s (%s) nije u %s obliku"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "SELinux RBAC nije podržan ako je omogućeno presretanje"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "SELinux RBAC nije podržan ako je postavljen flag od log_subcmds"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2934,7 +2897,7 @@ msgstr ""
"\n"
"LDAP uloga: %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2942,38 +2905,38 @@ msgstr ""
"\n"
"Sudoers stavka:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " RunAsUsers: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " RunAsGroups: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Opcije: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Naredbe:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Odgovarajući Defaults unosi za %s na %s:\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Runas i Command-specifiÄne zadane vrijednosti za %s:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Korisnik %s može pokrenuti sljedeće naredbe na %s:\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "Korisniku %s nije dopušteno pokrenuti sudo na %s.\n"
@@ -2981,7 +2944,7 @@ msgstr "Korisniku %s nije dopušteno pokrenuti sudo na %s.\n"
#: plugins/sudoers/parse_ldif.c:617
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
-msgstr "ignorira se nekompletni sudoRole: cn: %s"
+msgstr "zanemareni nekompletni sudoRole: cn: %s"
#: plugins/sudoers/parse_ldif.c:677
#, c-format
@@ -2993,64 +2956,59 @@ msgstr "nevaljani LDIF atribut: %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "nevaljana opcija %.*s postavljena kroz sudo front-end"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "ime staze za „%s“ je predugaÄko"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "nije moguće proÄitati popis mrežnih adresa (nemoguće ih je raÅ¡Älaniti)"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr "ime korisnika nije postavio front-end sudo-a"
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:512
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:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr "groupni ID (group-ID) nije postavio front-end sudo-a"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
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:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "nevaljani radni direktorij: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "nevaljani chroot direktorij: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "nije moguće izvršiti %s"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: nevaljane zastavice naÄina rada iz sudo front end: 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "InaÄica sudoers plugina s pravilima %s\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "InaÄica sudoers datoteÄne gramatike %d\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3059,29 +3017,29 @@ msgstr ""
"\n"
"Staza do sudoers: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "nsswitch staza: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ldap.conf staza: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, 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:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "nije moguće registrirati rutinu (hook) vrste %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:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "nije moguće poniÅ¡titi registraciju vrste (hook) %d (inaÄica %d.%d)"
@@ -3220,149 +3178,148 @@ msgstr "nije moguće inicijalizirati SSS izvor. Je li SSSD instaliran na vašem
msgid "unable to find symbol \"%s\" in %s"
msgstr "nije moguće pronaći simbol „%s“ u %s"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "problem sa stavkama defaults"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "nije moguće dobiti zadane vrijednosti (defaults) od %s"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "nisu pronađeni valjani sudoers izvori, kraj rada"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "korisniku nije dopušteno promijeniti radni direktorij na %s"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "vama nije dopušteno koristi opciju -R s/sa %s"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "korisniku nije dopušteno promijeniti direktorij na %s"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "vama nije dopušteno koristi opciju -D s/sa %s"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "nijedna naredba nije specificirana"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers specificira da root ne može koristiti sudo"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "korisniku nije dopuÅ¡teno promijeniti ograniÄenje od ‘closefrom’"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "vama nije dopušteno koristi opciju -C"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "vlasnik vremenske oznake (%s): Nema takvog korisnika"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "nema TTY"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "nažalost, da pokrenete sudo morate imati TTY"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "nevaljana ljuska za korisnika %s: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "naredba u trenutnom direktoriju"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "„cd“ naredba je ugrađena u ljusku, ne može se izravno pokrenuti."
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
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:643
+#: plugins/sudoers/sudoers.c:657
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:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr "korisniku nije dopušteno postavljanje tajmaut naredbe"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
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:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "korisniku nije dopuÅ¡teno saÄuvati okolinu"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr "vama nije dopušteno zadržati okolinu"
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit se ne mora pokrenuti sa sudo"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "nije moguće proÄitati %s"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "nije moguće dobiti status od %s"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "%s nije obiÄna datoteka"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "vlasnik %s je UID %u, a treba biti %u"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s smije svatko mijenjati/pisati"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "vlasnik %s je GID %u, a treba biti %u"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "samo root može koristiti „-c %s“"
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "nepoznata klasa prijave %s"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "nije moguće pronaći raÄunalo %s"
@@ -3497,7 +3454,7 @@ msgstr ""
"\n"
"Options:\n"
" -d, --directory=dir navedite direktorij dir za dnevnike sesija\n"
-" -f, --filter=filter navedite (filter) vrstu/vrste U/I koje treba prikazati\n"
+" -f, --filter=filter navedite (filter) vrstu/vrste U/I koje treba pokazati\n"
" -h, --help pokaže ovu pomoć i iziđe\n"
" -l, --list popis dostupnih ID-ova sjednica koji se podudaraju\n"
" s neobveznim izrazom za pretragu\n"
@@ -3548,7 +3505,7 @@ msgstr "nije moguće skratiti datoteku s vremenskim podacima na %lld bajtova"
#: plugins/sudoers/timestamp.c:860
msgid "ignoring time stamp from the future"
-msgstr "ignorira se vremenska oznaka iz budućnosti"
+msgstr "zanemarena vremenska oznaka iz budućnosti"
#: plugins/sudoers/timestamp.c:883
#, c-format
@@ -3569,99 +3526,94 @@ msgstr "staza do lekcije je predugaÄka: %s/%s"
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit se ne smije specificirati sa stazom"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "opcija -x biti će uklonjena iz buduće inaÄice"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "molimo da umjesto toga pokušate rabiti cvtsudoers uslužni program"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "pritisnite return/enter za redigirati %s: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "sadržaj sesije uređivanja je ostavljen u %s"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "navedeni ureÄ‘ivaÄ (%s) ne postoji"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "nijedan ureÄ‘ivaÄ nije pronaÄ‘en (editor path = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "greška pri pisanju"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "nije moguće dobiti status privremene datoteke (%s), %s nije promijenjena"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "privremena datoteka duljine nula (%s), %s nije promijenjena"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "greÅ¡ka ureÄ‘ivaÄ (%s), %s nije promijenjena"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s nije promijenjeno"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "nije moguće ponovo otvoriti privremenu datoteku (%s), %s nije promijenjena."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "nije moguće razabrati privremenu datoteku (%s) -- nepoznata greška"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "**interna greška**, nije moguće pronaći %s na popisu!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "nije moguće postaviti (UID, GID) od %s na (%u, %u)"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s i %s nisu na istom datoteÄnom sustavu, koristi se mv za preimenovanje"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "naredba nije uspjela: „%s %s %s“, %s nije promijenjena"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "greška u preimenovanju %s, %s nije promijenjena"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Å to sada? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3673,41 +3625,41 @@ msgstr ""
" (x) završiti bez spremanja promjena u datoteku sudoers)\n"
" (Q) prekinuti i spremiti promjene u datoteku sudoers (OPASNO!)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "nije moguće pokrenuti %s"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: krivi vlasnik (UID, GID) a treba biti (%u, %u)\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: loša prava pristupa, trebala bi biti 0%o\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: raÅ¡Älamba je uspjela\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%s je zauzeti, pokušajte ponovo kasnije"
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Ipak redigirati? [y/N]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Upozorenje: %s:%d:%d nekorišteni %s „%s“"
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3716,7 +3668,7 @@ msgstr ""
"%s - sigurno redigira sudoers datoteku\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3760,14 +3712,77 @@ msgstr "nevaljani nastavak retka"
msgid "invalid IPv6 address"
msgstr "nevaljana IPv6 adresa"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "neoÄekivani prelom retka"
-#: toke.l:1210
+#: toke.l:1218
msgid "too many levels of includes"
msgstr "previÅ¡e razina ukljuÄivanja"
+#~ msgid "Error: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Greška: %s:%d:%d: ciklus u %s „%s“"
+
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Upozorenje: %s:%d:%d: ciklus u %s „%s“"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "Upozorenje: %s:%d:%d %s „%s“ je referenciran ali nije definiran"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "greÅ¡ka u raÅ¡Älambi u %s blizu retka %d\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "greÅ¡ka u raÅ¡Älambi u %s\n"
+
+#~ msgid "%s: unknown defaults entry \"%s\""
+#~ msgstr "%s: nepoznata stavka zadanih vrijednosti „%s“"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d: nije navedena vrijednost za „%s“"
+
+#~ msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+#~ msgstr "%s:%d:%d: nevaljan operator \"%c=\" za „%s“"
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: opcija „%s“ ne treba nikakvu vrijednost"
+
+#~ msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+#~ msgstr "%s:%d:%d: nevaljana vrsta Defaults 0x%x za opciju „%s“"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: vrijednost „%s“ za opciju „%s“ nije valjana"
+
+#~ msgid "%s:%d:%d: path name for \"%s\" too long"
+#~ msgstr "%s:%d:%d: ime staze za „%s“ je predugaÄko"
+
+#~ msgid "%s: path name for \"%s\" too long"
+#~ msgstr "%s: ime staze za „%s“ je predugaÄko"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: vrijednost za „%s“ mora zapoÄeti s „/“, „~“, ili „*“"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: vrijednost za „%s“ mora zapoÄeti s „/“"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "greÅ¡ka u raÅ¡Älambi u %s blizu retka %d"
+
+#~ msgid "parse error in %s"
+#~ msgstr "greÅ¡ka u raÅ¡Älambi u %s"
+
+#~ msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#~ msgstr "SELinux RBAC nije podržan ako je omogućeno presretanje"
+
+#~ msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#~ msgstr "SELinux RBAC nije podržan ako je postavljen flag od log_subcmds"
+
+#~ 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"
@@ -3782,9 +3797,6 @@ msgstr "previÅ¡e razina ukljuÄivanja"
#~ msgid "unable to read diffie-hellman parameters: %s"
#~ msgstr "nije moguće proÄitati diffie-hellman parametre: %s"
-#~ msgid "unknown defaults entry \"%s\""
-#~ msgstr "nepoznati unos defaults „%s“"
-
#~ msgid "%s:%d unknown key: %s"
#~ msgstr "%s: %d nepoznati kljuÄ: %s"
@@ -3943,9 +3955,6 @@ msgstr "previÅ¡e razina ukljuÄivanja"
#~ "\n"
#~ "SSSD uloga: NEPOZNATA\n"
-#~ msgid "Warning: cycle in %s `%s'"
-#~ msgstr "Upozorenje: ciklus u %s „%s“"
-
#~ msgid "Warning: unused %s `%s'"
#~ msgstr "Upozorenje: %s „%s“ nije upotrebljen"
diff --git a/plugins/sudoers/po/ko.mo b/plugins/sudoers/po/ko.mo
index b532e34c1..8f2c00fef 100644
--- a/plugins/sudoers/po/ko.mo
+++ b/plugins/sudoers/po/ko.mo
Binary files differ
diff --git a/plugins/sudoers/po/ko.po b/plugins/sudoers/po/ko.po
index 42a3933f2..e371b1f64 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.10b1\n"
+"Project-Id-Version: sudoers 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-14 13:22+0900\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 21:00+0900\n"
"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
"Language: ko\n"
@@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.3.1\n"
-#: confstr.sh:1 gram.y:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "문법 오류"
@@ -43,17 +43,17 @@ msgstr "*** %h 보안 알림 ***"
msgid "Sorry, try again."
msgstr "죄송합니다만, 다시 ì‹œë„하십시오."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -69,39 +69,39 @@ msgstr "죄송합니다만, 다시 ì‹œë„하십시오."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -110,23 +110,21 @@ msgstr "죄송합니다만, 다시 ì‹œë„하십시오."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -134,120 +132,120 @@ msgstr "죄송합니다만, 다시 ì‹œë„하십시오."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "메모리를 할당할 수 없습니다"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "다ì´ì œìŠ¤íŠ¸ì— 경로 ì´ë¦„ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "%s: \"CWD\" ê°’ì€ '/'; '~'; '*' 문ìžë¡œ 시작해야합니다"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "\"CWD\" 경로가 너무 ê¹ë‹ˆë‹¤"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "%s: \"CHROOT\" ê°’ì€ '/'; '~'; '*' 문ìžë¡œ 시작해야합니다"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "\"CHROOT\" 경로가 너무 ê¹ë‹ˆë‹¤"
-#: gram.y:788
+#: gram.y:801
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "문법 오류. %s 예약어를 별칭으로 ì¼ìŠµë‹ˆë‹¤"
-#: gram.y:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "부ì ì ˆí•œ notbefore ê°’"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "부ì ì ˆí•œ notafter ê°’"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "제한 시간 ê°’ì´ ë„ˆë¬´ í½ë‹ˆë‹¤"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "부ì ì ˆí•œ 제한 시간 ê°’"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "ëª…ë ¹ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -267,37 +265,37 @@ msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -308,23 +306,21 @@ msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -332,69 +328,70 @@ msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -403,16 +400,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "내부 오류. %s 오버플로우"
@@ -427,31 +426,31 @@ msgstr "표준 ìž…ë ¥ì„ ë³µì œí•  수 없습니다: %m"
msgid "unable to execute %s: %m"
msgstr "%sì„(를) 실행할 수 없습니다: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "í¬í‚¹í•  수 없습니다"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "í¬í‚¹í•  수 없습니다: %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "파ì´í”„를 ì—´ 수 없습니다: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (명령 ê³„ì† ì‹¤í–‰) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -567,13 +566,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr "%sì´(ê°€) 있지만 디렉터리가 아닙니다(0%o)"
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "mkdir %s ëª…ë ¹ì„ ì‹¤í–‰í•  수 없습니다"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "%s 모드를 0%o 값으로 바꿀 수 없습니다"
@@ -588,8 +587,8 @@ msgstr "타ì´ë° íŒŒì¼ ì½ê¸° 오류: %s"
msgid "invalid timing file line: %s"
msgstr "부ì ì ˆí•œ 타ì´ë° íŒŒì¼ í–‰: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "UUID를 만들 수 없습니다"
@@ -648,56 +647,56 @@ msgstr "%d 입출력 íŒŒì¼ ì„œìˆ ìž ë‹«ê¸° 오류: %s"
msgid "error flushing iofd %d: %s"
msgstr "%d 입출력 íŒŒì¼ ì„œìˆ ìž ì œê±° 오류: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "부ì ì ˆí•œ %s 입출력 로그: %sì„(를) 참조했지만 없습니다"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: [%lld, %ld] 재개 지ì ì„ ì°¾ì„ ìˆ˜ 없습니다"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "%sì„(를) ì—´ 수 없습니다"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "%s/%sì„(를) ì—´ 수 없습니다"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "%s/%sì„(를) %s/%s(으)ë¡œ 복사할 수 없습니다: %s"
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "%sì„(를) %s(으)ë¡œ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: [%lld, %ld] 재개 지ì ì„ ì°¾ì„ ìˆ˜ 없습니다"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "입출력 로그 íŒŒì¼ %s/%s ë¹ ì§"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: %zu회 ì´ì „ íƒìƒ‰ì„ 진행할 수 없습니다"
@@ -706,32 +705,32 @@ msgstr "%s/%s: %zu회 ì´ì „ íƒìƒ‰ì„ 진행할 수 없습니다"
msgid "unable to connect to relay"
msgstr "릴레ì´ì— ì—°ê²°í•  수 없습니다"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "서버 메시지가 너무 ê¹ë‹ˆë‹¤: %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -776,6 +775,13 @@ msgstr "%s: 예기치 ì•Šì€ ìž…ì¶œë ¥ ë²„í¼ ë°œê²¬"
msgid "protocol error"
msgstr "프로토콜 오류"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "%2$zu í¬ê¸°ì˜ %1$sì„(를) 언팩할 수 없습니다"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -791,110 +797,110 @@ msgstr "ì¸ì‹í•  수 없는 ClientMessage 형ì‹"
msgid "timed out writing to client %s"
msgstr "%s í´ë¼ì´ì–¸íŠ¸ ê¸°ë¡ ì‹œê°„ 초과"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "%s í´ë¼ì´ì–¸íŠ¸ì—ì„œ ê¸°ë¡ ë²„í¼ ë¹ ì§"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr "%s í´ë¼ì´ì–¸íŠ¸ì—ì„œ ì½ê¸° 시간 초과"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "ì ì ˆí•œ TLS 셧다운 미ì´í–‰ì„ ë™ë°˜í•œ %sì˜ íŒŒì¼ë(EOF)"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "í´ë¼ì´ì–¸ë“œ 메시지가 너무 ê¹ë‹ˆë‹¤: %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "í´ë¼ì´ì–¸íŠ¸ 메시지가 너무 ê¹ë‹ˆë‹¤"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "부ì ì ˆí•œ ClientMessage"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "ì›ê²© IP 주소를 가져올 수 없습니다"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "ssl ê°ì²´ì— ì‚¬ìš©ìž ë°ì´í„°ë¥¼ ë¶™ì¼ ìˆ˜ 없습니다: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "ê°ì²­ ì†Œì¼“ì„ ì„¤ì •í•  수 없습니다"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "예기치 ì•Šì€ ì‹œê·¸ë„ %d번"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "sudo 로그 서버"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr "옵션:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "설정 íŒŒì¼ ê²½ë¡œ"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "ë„ì›€ë§ ë©”ì‹œì§€ë¥¼ 표시한 후 빠져나갑니다"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "프로세스를 í¬í‚¹í•˜ì§€ ì•Šê³ , í¬ê·¸ë¼ìš´ë“œì—ì„œ 실행"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "ì—°ê²°ì´ ëŠì„ í™•ë¥ ì— ëŒ€í•œ 백분율"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "버전 정보를 표시하고 빠져나갑니다"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Protobuf-C 1.3 ì´ìƒì˜ ë²„ì „ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "부ì ì ˆí•œ ìž„ì˜ ì² íšŒ ê°’: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s 버전 %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "ì•Œ 수 없는 ì‚¬ìš©ìž %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -968,7 +974,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] ìž˜ëª»ëœ í‚¤: %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "%s 로그 파ì¼ì„ ì—´ 수 없습니다"
@@ -981,13 +987,13 @@ msgstr "서버 TLS 컨í…스트를 초기화할 수 없습니다"
msgid "unable to initialize relay TLS context"
msgstr "ë¦´ë ˆì´ TLS 컨í…스트를 초기화할 수 없습니다"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "ì €ë„ íŒŒì¼ì„ 만들 수 없습니다"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "%sì„(를) 잠글 수 없습니다"
@@ -1000,8 +1006,8 @@ msgstr "ì €ë„ íŒŒì¼ì„ 잠글 수 없습니다"
msgid "unable to open journal file"
msgstr "ì €ë„ íŒŒì¼ì„ ì—´ 수 없습니다"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "ì €ë„ íŒŒì¼ì„ 기ë¡í•  수 없습니다"
@@ -1019,11 +1025,11 @@ msgstr "ì €ë„ íŒŒì¼ ì½ëŠ” 중 예기치 ì•Šì€ íŒŒì¼ ë 발견"
msgid "error reading journal file"
msgstr "ì €ë„ íŒŒì¼ ì½ê¸° 오류"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "부ì ì ˆí•œ ì €ë„ íŒŒì¼. 다시 시작할 수 없습니다"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "%3$s ì €ë„ íŒŒì¼ì—ì„œ [%1$lld, %2$ld] 위치를 íƒìƒ‰í•  수 없습니다"
@@ -1111,7 +1117,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: 부ì ì ˆí•œ ServerHello, server_idê°€ 빠졌습니다"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "부ì ì ˆí•œ ServerHello"
@@ -1132,34 +1138,34 @@ msgstr "ë¦´ë ˆì´ ë°ì´í„° ì½ê¸° 시간 초과"
msgid "relay host name does not match certificate"
msgstr "ë¦´ë ˆì´ í˜¸ìŠ¤íŠ¸ ì´ë¦„ì´ ì¸ì¦ì„œì™€ ì¼ì¹˜í•˜ì§€ 않습니다"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "ë¦´ë ˆì´ ë°ì´í„° ì½ëŠ” 중 오류"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "ë¦´ë ˆì´ ë°ì´í„°ë¥¼ ì½ì„ 수 없습니다"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "ë¦´ë ˆì´ ì„œë²„ ì—°ê²°ì„ ëŠì—ˆìŠµë‹ˆë‹¤"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "서버 메시지가 너무 ê¹ë‹ˆë‹¤"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "ë¦´ë ˆì´ %sì— ê¸°ë¡ ì‹œê°„ 초과 (%s)"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "ë¦´ë ˆì´ ê¸°ë¡ ì‹œê°„ 초과"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "ë¦´ë ˆì´ ê¸°ë¡ ì¤‘ 오류"
@@ -1215,7 +1221,7 @@ msgstr "ì´ ì‹œê°„ì— ë„달한 후 전송 중단"
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "ì„ íƒí•œ 입출력 로그를 ë™ì‹œì— N번 ë³´ë‚´ì–´ ê°ì‚¬ 서버 시험"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "%s:%sì„(를) ì°¾ì„ ìˆ˜ 없습니다: %s"
@@ -1229,30 +1235,30 @@ msgstr "서버 IP 주소를 가져올 수 없습니다"
msgid "unable to read %s/%s: %s"
msgstr "%s/%sì„(를) ì½ì„ 수 없습니다: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "예기치 ì•Šì€ ìž…ì¶œë ¥ ì´ë²¤íŠ¸ %d"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: 예기치 ì•Šì€ ìƒíƒœ 번호 %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "서버로부터 오류 메시지를 받았습니다: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "서버로부터 중단 메시지를 받았습니다: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: 예기지 ì•Šì€ type_case ê°’ %d"
@@ -1261,11 +1267,15 @@ msgstr "%s: 예기지 ì•Šì€ type_case ê°’ %d"
msgid "timeout reading from server"
msgstr "서버 ë°ì´í„° ì½ê¸° 시간 초과"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "호스트 ì´ë¦„ì´ ì¸ì¦ì„œì™€ ì¼ì¹˜í•˜ì§€ 않습니다"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "갑작스러운 EOF"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "서버 메시지가 너무 ê¹ë‹ˆë‹¤: %u"
@@ -1297,12 +1307,12 @@ msgstr "경과 ì‹œê°„ì„ ì„œë²„ë¡œ 보냈습니다 [%lld, %ld]"
msgid "commit point received from server [%lld, %ld]"
msgstr "제출 ì§€ì  ì •ë³´ë¥¼ 서버로부터 받았습니다 [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "TLS 핸드셰ì´í¬ ì‹œê°„ì„ ì´ˆê³¼í–ˆìŠµë‹ˆë‹¤"
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "ì´ë²¤íŠ¸ë¥¼ 설정할 수 없습니다"
@@ -1311,50 +1321,51 @@ msgstr "ì´ë²¤íŠ¸ë¥¼ 설정할 수 없습니다"
msgid "TLS connection failed: %s"
msgstr "TLS 연결 실패: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "SSL ê°ì²´ë¥¼ 할당할 수 없습니다: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "SSL ê°ì²´ì— ì†Œì¼“ì„ ë¶™ì¼ ìˆ˜ 없습니다: %s"
-#: logsrvd/tls_client.c:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "TLS 컨í…스트를 초기화할 수 없습니다"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "%sì— TLS 1.2 암호 모ìŒì„ 설정할 수 없습니다: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "%sì— TLS 1.3 암호 모ìŒì„ 설정할 수 없습니다: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "디피-헬먼 매개변수를 설정할 수 없습니다: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "TLS 컨í…스트를 만들 수 없습니다: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "TLS 프로토콜 최소 ë²„ì „ì„ 1.2ë¡œ 설정할 수 없습니다: %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "ì¼ì‹œ 정보를 가져올 수 없습니다"
@@ -1410,47 +1421,47 @@ msgstr ""
"ì¸ì¦ 서버 오류:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: ë³¸ì¸ ì •ë³´ë¥¼ 문ìžì—´('%s')ë¡œ 변환할 수 없습니다: %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: '%s'ì„(를) í•´ì„í•  수 없습니다: %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: ìžê²© ì •ë³´ ìºì‹œë¥¼ í•´ì„í•  수 없습니다: %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: ì˜µì…˜ì„ í• ë‹¹í•  수 없습니다: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: ìžê²© 정보를 가져올 수 없습니다: %s"
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: ìžê²© ì •ë³´ ìºì‹œë¥¼ 초기화할 수 없습니다: %s"
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: ìºì‹œì— ìžê²© 정보를 저장할 수 없습니다: %s"
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: 호스트 정보를 가져올 수 없습니다: %s"
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: TGT를 ê²€ì¦í•  수 없습니다! 공격 ê°€ëŠ¥ì„±ì´ ìžˆìŠµë‹ˆë‹¤!: %s"
@@ -1491,7 +1502,7 @@ msgstr "계정 ê¸°í•œì´ ì§€ë‚¬ê±°ë‚˜ PAM ì„¤ì •ì— sudoì—ì„œ 확ì¸í•  \"accou
msgid "PAM account management error: %s"
msgstr "PAM 계정 관리 오류: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "%s ë°ì´í„°ë² ì´ìŠ¤ì— 없습니다"
@@ -1532,27 +1543,27 @@ msgstr "SecurIDìš© 암호 길ì´ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
msgid "unable to initialize SIA session"
msgstr "SIA ì„¸ì…˜ì„ ì´ˆê¸°í™”í•  수 없습니다"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "부ì ì ˆí•œ ì¸ì¦ ë°©ì‹"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "sudoì— ì»´íŒŒì¼í•œ ì¸ì¦ ë°©ì‹ì´ 잘못ë습니다! ë…립-비ë…립 ì¸ì¦ ë°©ì‹ì„ 혼합하여 활용하면 안ë©ë‹ˆë‹¤."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "ì¸ì¦ ë°©ì‹ ì—†ìŒ"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "sudoì— ì»´íŒŒì¼í•œ ì¸ì¦ ë°©ì‹ì´ 없습니다! ì¸ì¦ ê¸°ëŠ¥ì„ ë„려면 --disable-authentication 설정 ì˜µì…˜ì„ ì‚¬ìš©í•˜ì‹­ì‹œì˜¤."
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "ì¸ì¦ ë°©ì‹ì„ 초기화할 수 없습니다."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "ì¸ì¦ ë°©ì‹:"
@@ -1564,17 +1575,17 @@ msgstr "ê°ì‚¬ ìƒíƒœë¥¼ ê²°ì •í•  수 없습니다"
msgid "unable to commit audit record"
msgstr "ê°ì‚¬ 레코드를 제출할 수 없습니다"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "%s 지시 íŒŒì¼ ì½ê¸° 오류"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "%s 지시 íŒŒì¼ ë¬´ì‹œ: ì¼ë°˜ 파ì¼ì´ 아닙니다"
-#: plugins/sudoers/check.c:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1594,32 +1605,27 @@ msgstr ""
" #3) 막강한 힘ì—는 ìƒë‹¹í•œ ì±…ìž„ì´ ë’¤ë”°ë¦…ë‹ˆë‹¤.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "알 수 없는 uid %u"
-#: plugins/sudoers/check_aliases.c:92
-#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "오류: %4$s \"%5$s\"ì˜ %1$s:%2$d:%3$d: 사ì´í´"
-
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "경고: %4$s \"%5$s\"ì˜ %1$s:%2$d:%3$d: 사ì´í´"
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "오류: %s:%d:%d: %s \"%s\"ì„(를) 참조했지만 ì •ì˜í•˜ì§€ 않았습니다"
+msgid "cycle in %s \"%s\""
+msgstr "%sì˜ ì‚¬ì´í´ \"%s\""
-#: plugins/sudoers/check_aliases.c:98
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "경고: %s:%d:%d: %s \"%s\"ì„(를) 참조했지만 ì •ì˜í•˜ì§€ 않았습니다"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "%s \"%s\"ì„ ì°¸ì¡°í–ˆì§€ë§Œ ì •ì˜í•˜ì§€ëŠ” 않았습니다"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1636,7 +1642,7 @@ msgstr "순서 시작: %s: %s"
msgid "order padding: %s: %s"
msgstr "순서 패딩: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s 문법 버전 %d\n"
@@ -1656,10 +1662,10 @@ msgstr "지ì›í•˜ì§€ 않는 %s 출력 형ì‹"
msgid "%s: input and output files must be different"
msgstr "%s: 입출력 파ì¼ì€ 달ë¼ì•¼í•©ë‹ˆë‹¤"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "sudoers 기본 ê°’ì„ ì´ˆê¸°í™”í•  수 없습니다"
@@ -1688,28 +1694,18 @@ msgstr "부ì ì ˆí•œ ìƒëžµ 형ì‹: %s"
msgid "invalid filter: %s"
msgstr "부ì ì ˆí•œ í•„í„°: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "%s íŒŒì¼ í•´ì„ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. ì•Œ 수 없는 오류."
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "%s %d번째 줄 ì¸ê·¼ í•´ì„ ì˜¤ë¥˜\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "%s í•´ì„ ì˜¤ë¥˜\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "%sì— ê¸°ë¡í•  수 없습니다"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1718,7 +1714,7 @@ msgstr ""
"%s - sudoers íŒŒì¼ í˜•ì‹ì„ 변환합니다\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1759,31 +1755,31 @@ msgstr ""
" -V, --version 버전 정보를 표시하고 빠져나갑니다"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "GMT ì‹œê°„ì„ ê°€ì ¸ì˜¬ 수 없습니다"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "타임스탬프를 형ì‹ì— 맞출 수 없습니다"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: 알 수 없는 \"%s\" 기본 항목"
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "sudoers í•­ëª©ì´ ë„ˆë¬´ 많습니다. 최대 갯수는 %uê°œ 입니다"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "SUDOERS_BASE 환경 변수를 설정하지 않았으며 -b ì˜µì…˜ì„ ì§€ì •í•˜ì§€ 않았습니다."
@@ -1828,780 +1824,751 @@ msgstr "%s:%d:%d: 호스트별 \"%s\" 기본 í•­ëª©ì„ ì„¤ì •í•  수 없습니ë‹
msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries"
msgstr "%s:%d:%d: 하위 í•­ëª©ì´ ìš°ì„ í•˜ëŠ” 기본 \"%s\" 항목 제거 중"
-#: plugins/sudoers/cvtsudoers_merge.c:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, c-format
msgid "%s:%d:%d: merging userspec into %s:%d:%d"
msgstr "%1$s:%2$d:%3$d: %4$s:%5$d:%6$dì— ì‚¬ìš©ìž ì„¤ì • 병합"
-#: plugins/sudoers/cvtsudoers_merge.c:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, c-format
msgid "%s:%d:%d: removing userspec overridden by subsequent entries"
msgstr "%s:%d:%d: 하위 í•­ëª©ì´ ìš°ì„ í•˜ëŠ” ì‚¬ìš©ìž ì§€ì • 항목 제거 중"
-#: plugins/sudoers/def_data.c:50
+#: plugins/sudoers/def_data.c:56
#, c-format
msgid "Syslog facility if syslog is being used for logging: %s"
msgstr "syslog를 ê¸°ë¡ ëª©ì ìœ¼ë¡œ 활용할 ë•Œì˜ syslog 기능: %s"
-#: plugins/sudoers/def_data.c:54
+#: plugins/sudoers/def_data.c:60
#, c-format
msgid "Syslog priority to use when user authenticates successfully: %s"
msgstr "ì‚¬ìš©ìž ì¸ì¦ì— ì„±ê³µí–ˆì„ ë•Œ 사용할 syslog ìš°ì„  순위: %s"
-#: plugins/sudoers/def_data.c:58
+#: plugins/sudoers/def_data.c:64
#, c-format
msgid "Syslog priority to use when user authenticates unsuccessfully: %s"
msgstr "ì‚¬ìš©ìž ì¸ì¦ì— ì‹¤íŒ¨í–ˆì„ ë•Œ 사용할 syslog ìš°ì„  순위: %s"
-#: plugins/sudoers/def_data.c:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "ì¼íšŒìš© 암호 ìž…ë ¥ 프롬프트를 ìžì²´ ì¤„ì— í‘œì‹œ"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "$PATHì˜ '.' 무시"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "sudo를 실행할 ë•Œ í•­ìƒ ë©”ì¼ì„ 보냄"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "사용ìžê°€ ì¸ì¦ì— ì‹¤íŒ¨í–ˆì„ ë•Œ ë©”ì¼ì„ 보냄"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
msgid "Send mail if the user is not in sudoers"
msgstr "사용ìžê°€ sudoerê°€ ì•„ë‹ ë•Œ ë©”ì¼ì„ 보냄"
-#: plugins/sudoers/def_data.c:82
+#: plugins/sudoers/def_data.c:88
msgid "Send mail if the user is not in sudoers for this host"
msgstr "사용ìžê°€ ì´ í˜¸ìŠ¤íŠ¸ì˜ sudoerê°€ ì•„ë‹ ë•Œ ë©”ì¼ì„ 보냄"
-#: plugins/sudoers/def_data.c:86
+#: plugins/sudoers/def_data.c:92
msgid "Send mail if the user is not allowed to run a command"
msgstr "사용ìžê°€ ëª…ë ¹ì„ ì‹¤í–‰í•˜ë„ë¡ í—ˆìš©í•˜ì§€ ì•Šì•˜ì„ ë•Œ ë©”ì¼ì„ 보냄"
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:96
msgid "Send mail if the user tries to run a command"
msgstr "사용ìžê°€ 명령 ì‹¤í–‰ì„ ì‹œë„í–ˆì„ ë•Œ ë©”ì¼ì„ 보냄"
-#: plugins/sudoers/def_data.c:94
+#: plugins/sudoers/def_data.c:100
msgid "Use a separate timestamp for each user/tty combo"
msgstr "ê° ì‚¬ìš©ìž/ttyì— íƒ€ìž„ìŠ¤íƒ¬í”„ë¥¼ ë”°ë¡œ 사용"
-#: plugins/sudoers/def_data.c:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr "sudo를 ì²˜ìŒ ì‹¤í–‰í•  ë•Œ 사용ìžì—게 지침 안내"
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "sudo 지침 안내가 들어있는 파ì¼: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "기본ì ìœ¼ë¡œ ì‚¬ìš©ìž ì¸ì¦ í•„ìš”"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "루트 사용ìžì˜ sudo 실행"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr "로그(비 syslog) 파ì¼ì— 호스트 ì´ë¦„ 기ë¡"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "로그(비 syslog) 파ì¼ì— ì—°ë„ ê¸°ë¡"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
msgid "If sudo is invoked with no arguments, start a shell"
msgstr "sudoì— ì¸ìžë¥¼ 넣어 실행하지 않으면 ì…¸ 시작"
-#: plugins/sudoers/def_data.c:126
+#: plugins/sudoers/def_data.c:132
msgid "Set $HOME to the target user when starting a shell with -s"
msgstr "-s 옵션으로 ì…¸ì„ ì‹œìž‘í•  ë•Œ $HOMEì„ ëŒ€ìƒ ì‚¬ìš©ìžë¡œ 설정"
-#: plugins/sudoers/def_data.c:130
+#: plugins/sudoers/def_data.c:136
msgid "Always set $HOME to the target user's home directory"
msgstr "í•­ìƒ $HOMEì„ ëŒ€ìƒ ì‚¬ìš©ìžì˜ ë‚´ í´ë”ë¡œ 설정"
-#: plugins/sudoers/def_data.c:134
+#: plugins/sudoers/def_data.c:140
msgid "Allow some information gathering to give useful error messages"
msgstr "쓸만한 오류 메시지를 제공할 목ì ìœ¼ë¡œ ì¼ë¶€ ì •ë³´ 수집 허용"
-#: plugins/sudoers/def_data.c:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr "sudoers 파ì¼ì— 완전한 형태를 갖춘 호스트 ì´ë¦„ í•„ìš”"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr "올바르지 ì•Šì€ ì•”í˜¸ë¥¼ ìž…ë ¥í–ˆì„ ë•Œ ì‚¬ìš©ìž ë†€ë¦¬ê¸°"
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr "tty를 보유한 사용ìžë§Œ sudo 실행 허용"
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "EDITOR 환경 변수 대신 visudo 사용"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "ì‚¬ìš©ìž ì•”í˜¸ê°€ ì•„ë‹Œ 루트 암호 요구"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "ì‚¬ìš©ìž ì•”í˜¸ê°€ ì•„ë‹Œ runas_default ì‚¬ìš©ìž ì•”í˜¸ 요구"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "ì‚¬ìš©ìž ì•”í˜¸ê°€ ì•„ë‹Œ ëŒ€ìƒ ì‚¬ìš©ìž ì•”í˜¸ 요구"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "ëŒ€ìƒ ì‚¬ìš©ìž ë¡œê·¸ì¸ í´ëž˜ìŠ¤ê°€ 있다면 기본값 ì ìš©"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "LOGNAME ë° USER 환경 변수 설정"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "실제 uidê°€ ì•„ë‹Œ ëŒ€ìƒ ì‚¬ìš©ìžì—게 유효한 uid 설정"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "ëŒ€ìƒ ì‚¬ìš©ìžì˜ 그룹 벡터 초기화 안함"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "로그 íŒŒì¼ ì¤„ì„ ë°”ê¿€ ì¤„ì˜ í•œê³„ 길ì´(0 ê°’ì€ ì¤„ 바꿈 안함): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "ì¸ì¦ 타임스탬프 제한 시간: %.1f분"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "암호 요구 제한시간: %.1f분"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "암호 ìž…ë ¥ ì‹œë„ íšŸìˆ˜: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "사용ìžê°€ 활용할 umask ë˜ëŠ” 0777: 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "로그 íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "ë©”ì¼ í”„ë¡œê·¸ëž¨ 경로: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "ë©”ì¼ í”„ë¡œê·¸ëž¨ 플래그: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "ë©”ì¼ì„ 보낼 주소: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "ë©”ì¼ì„ 보내려는 주소: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "ë©”ì¼ ë©”ì‹œì§€ 제목 줄: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "올바르지 ì•Šì€ ì•”í˜¸ 메시지: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "지침 ìƒíƒœ 디렉터리 경로: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "ì¸ì¦ 타임스탬프 디렉터리 경로: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
msgstr "ì¸ì¦ 타임스탬프 디렉터리 소유ìž: %s"
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:248
#, c-format
msgid "Users in this group are exempt from password and PATH requirements: %s"
msgstr "암호와 PATH 변수 요구를 하지 ì•Šì„ ì´ ê·¸ë£¹ì˜ ì‚¬ìš©ìž: %s"
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "기본 암호 프롬프트: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "설정하면 모든 ê²½ìš°ì˜ ì‹œìŠ¤í…œ 프롬프트 대신 ì´ ì•”í˜¸ 프롬프트를 사용합니다."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr "ëª…ë ¹ì„ ì‹¤í–‰í•  기본 사용ìž: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "사용ìžì˜ $PATH를 대신할 ê°’: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr "visudoì—ì„œ 사용할 편집기 경로: %s"
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr "'list' 유사 명령 실행시 암호가 필요할 때: %s"
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr "'verify' 유사 명령 실행시 암호가 필요할 때: %s"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr "exec 함수를 대신하는 sudo_noexec ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ 미리 불러옵니다"
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr "LDAP 디렉터리가 ë™ìž‘ 중ì´ë¼ë©´ 로컬 sudoers 파ì¼ì„ 무시합니다"
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr "%d보다 í° íŒŒì¼ ì„œìˆ ìžëŠ” ëª…ë ¹ì„ ì‹¤í–‰í•˜ê¸° ì „ì— ë‹«ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
msgstr "ì´ ê°’ì„ ì„¤ì •í•˜ë©´ -C 옵션으로 \"closefrom\" ê°’ì„ ëŒ€ì‹  사용합니다"
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "사용ìžê°€ 환경 변수 ê°’ì„ ìž„ì˜ëŒ€ë¡œ 설정할 수 있게 합니다"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr "변수 기본 설정 값으로 환경 초기화"
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "안전 검사 ëŒ€ìƒ í™˜ê²½ 변수:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "제거할 환경 변수:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "유지할 환경 변수:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "새 보안 컨í…ìŠ¤íŠ¸ì— ì‚¬ìš©í•  SELinux ì—­í• : %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "새 보안 컨í…ìŠ¤íŠ¸ì— ì‚¬ìš©í•  SELinux 형ì‹: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "sudoìš© 환경 íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "sudo ì „ìš© 환경 íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "sudoers 파ì¼ì„ í•´ì„í•  ë•Œ 사용할 로캘: %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "암호가 나타나ë”ë¼ë„ sudoì—ì„œ 암호 ìž…ë ¥ 요구 허용"
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "ì‚¬ìš©ìž ìž…ë ¥ì´ ìžˆì„ ë•Œ 암호 프롬프트ì—ì„œ ì‹œê° ë°˜ì‘ ì²˜ë¦¬"
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "ëœ ì •í™•í•˜ì§€ë§Œ íŒŒì¼ ì‹œìŠ¤í…œì— ì ‘ê·¼í•˜ì§€ 않는 빠른 ë¹„êµ ê²€ì‚¬ 사용"
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "sudoersì— ì§€ì •í•œ umask ê°’ì´ ê´€ëŒ€í•œ 권한ì´ë¼ 하ë”ë¼ë„ 사용ìžì˜ umask 값으로 ì ìš©"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "실행 ëª…ë ¹ì— ëŒ€í•œ ì‚¬ìš©ìž ìž…ë ¥ 기ë¡"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
msgid "Log the output of the command being run"
msgstr "실행 ëª…ë ¹ì— ëŒ€í•œ 출력 기ë¡"
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr "zlib로 입출력 로그 압축"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "í•­ìƒ ëª…ë ¹ì„ ìœ ì‚¬ ttyì—ì„œ 실행"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "비 유닉스 ê·¸ë£¹ì„ ì§€ì›í•˜ëŠ” 플러그ì¸: %s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:372
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "입출력 로그를 저장할 디렉터리: %s"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:376
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "입출력 로그를 저장할 파ì¼: %s"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:380
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "pty를 할당할 ë•Œ utmp/utmpx 파ì¼ì— 항목 추가"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:384
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "utmpì˜ ì‚¬ìš©ìžë¥¼ 실제 실행 사용ìžê°€ ì•„ë‹Œ 대리 실행 사용ìžë¡œ 설정"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "권한 허용 설정: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "권한 제한 설정: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "백그ë¼ìš´ë“œì˜ ptyì—ì„œ ëª…ë ¹ì„ ì‹¤í–‰í•©ë‹ˆë‹¤"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "사용할 PAM 서비스 ì´ë¦„: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "ë¡œê·¸ì¸ ì…¸ì—ì„œ 사용할 PAM 서비스 ì´ë¦„: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "sudo를 -A 옵션으로 실행할 ë•Œ 활용할 PAM 서비스 ì´ë¦„: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr "ëŒ€ìƒ ì‚¬ìš©ìžì˜ PAM ì¸ì¦ 처리 ì‹œë„합니다"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "실행할 ëª…ë ¹ì— ìƒˆ PAM ì„¸ì…˜ì„ ë§Œë“­ë‹ˆë‹¤"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "PAM 계정 ê²€ì¦ ê´€ë¦¬ë¥¼ 수행합니다"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "최대 입출력 로그 순차 번호: %s"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "sudoersì— ë„¤íŠ¸ì›Œí¬ ê·¸ë£¹ ì§€ì› í™œì„±í™”"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "sudoeditë¡œ 파ì¼ì„ 편집할 ë•Œ ìƒìœ„ 디렉터리 ê¸°ë¡ ê°€ëŠ¥ 여부 확ì¸"
-#: plugins/sudoers/def_data.c:430
+#: plugins/sudoers/def_data.c:436
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "sudoeditë¡œ 파ì¼ì„ 편집할 ë•Œ 심볼릭 ë§í¬ ë”°ë¼ê°"
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr "ì•Œ 수 없는 시스템 ê·¸ë£¹ì— ê·¸ë£¹ í”ŒëŸ¬ê·¸ì¸ ìš”ì²­"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "user, host, domain ì „ì²´ íŠœí”Œì„ ê¸°ë°˜ìœ¼ë¡œ ë„¤íŠ¸ì›Œí¬ ê·¸ë£¹ 비êµ"
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "sudoì—ì„œ ê°ì‹œ 로그를 기ë¡í•  수 ì—†ì„ ê²½ìš°ì—ë„ ëª…ë ¹ 실행 허용"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "sudoì—ì„œ 입출력 로그를 기ë¡í•  수 ì—†ì„ ê²½ìš°ì—ë„ ëª…ë ¹ 실행 허용"
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "sudoì—ì„œ 로그 파ì¼ì— 기ë¡í•  수 ì—†ì„ ê²½ìš°ì—ë„ ëª…ë ¹ 실행 허용"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "sudoersì˜ ê·¸ë£¹ì„ í•´ì„하고 그룹 ì´ë¦„ì´ ì•„ë‹Œ ID와 비êµ"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "ì´ ê°’ë³´ë‹¤ í° ë¡œê·¸ í•­ëª©ì€ ë‹¤ìˆ˜ì˜ syslog 메시지로 나눕니다: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "입출력 로그 파ì¼ì„ 소유할 사용ìž: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "입출력 로그 파ì¼ì„ 소유할 그룹: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "입출력 로그 파ì¼ì— 사용할 íŒŒì¼ ëª¨ë“œ: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "경로가 ì•„ë‹Œ íŒŒì¼ ì„œìˆ ìžë¡œ 명령어 실행: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "경고를 출력하는 대신 sudoersì—ì„œ ì•Œ 수 없는 기본 í•­ëª©ì„ ë¬´ì‹œ"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "명령 처리가 ëë‚œ í›„ì˜ ì´ˆ 단위 시간: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "사용ìžê°€ 명령행ì—ì„œ 제한 ì‹œê°„ì„ ì§€ì •í•˜ë„ë¡ í—ˆìš©"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "입출력 로그 ë°ì´í„°ë¥¼ 버í¼ë§í•˜ëŠ” 대신 즉시 디스í¬ë¡œ 플러싱"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
msgid "Include the process ID when logging via syslog"
msgstr "syslogë¡œ 로깅할 ë•Œ 프로세스 ID í¬í•¨"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "ì¸ì¦ 타임스탬프 레코드 형ì‹: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "ì¸ì¦ 실패 메시지: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr "ì‚¬ìš©ìž ì´ë¦„ 비êµì‹œ ëŒ€ì†Œë¬¸ìž ë¬´ì‹œ"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr "그룹 ì´ë¦„ 비êµì‹œ ëŒ€ì†Œë¬¸ìž ë¬´ì‹œ"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
msgid "Log when a command is allowed by sudoers"
msgstr "sudoersì—ì„œ ëª…ë ¹ì„ í—ˆìš©í•  ë•Œ 기ë¡"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:524
msgid "Log when a command is denied by sudoers"
msgstr "sudoersì—ì„œ ëª…ë ¹ì„ ê±°ì ˆí•  ë•Œ 기ë¡"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:528
msgid "Sudo log server(s) to connect to with optional port"
msgstr "개별 í¬íŠ¸ 정보를 추가하여 ì—°ê²°í•  sudo 로그 서버"
-#: plugins/sudoers/def_data.c:526
+#: plugins/sudoers/def_data.c:532
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "초 단위 sudo 로그 서버 제한 시간: %u"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:536
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "ì—°ê²°í•œ 로그 서버 ì†Œì¼“ì— SO_KEEPALIVE 소켓 옵션 활성화"
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:540
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "ê°ì‚¬ ì„œë²„ì˜ CA 번들 íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "sudoers ì¸ì¦ íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "sudoers ê°œì¸ í‚¤ íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
msgid "Verify that the log server's certificate is valid"
msgstr "로그 서버 ì¸ì¦ì„œ 유효성 ê²€ì¦"
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:556
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "사용ìž/그룹 IDë¡œì˜ ì•Œ 수 없는 실행 허용"
-#: plugins/sudoers/def_data.c:554
+#: plugins/sudoers/def_data.c:560
msgid "Only permit running commands as a user with a valid shell"
msgstr "유효한 ì…¸ì—ì„œ 사용ìžê°€ ëª…ë ¹ì„ ì‹¤í–‰í•  경우만 허용"
-#: plugins/sudoers/def_data.c:558
+#: plugins/sudoers/def_data.c:564
msgid "Set the pam remote user to the user running sudo"
msgstr "sudo를 실행하는 사용ìžë¥¼ PAM ì›ê²© 사용ìžë¡œ 설정"
-#: plugins/sudoers/def_data.c:562
+#: plugins/sudoers/def_data.c:568
msgid "Set the pam remote host to the local host name"
msgstr "로컬 호스트 ì´ë¦„ì— PAM ì›ê²© ì‚¬ìš©ìž ì„¤ì •"
-#: plugins/sudoers/def_data.c:566
+#: plugins/sudoers/def_data.c:572
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "명령 실행 전 바꿀 작업 디렉터리: %s"
-#: plugins/sudoers/def_data.c:570
+#: plugins/sudoers/def_data.c:576
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "명령 실행 전 바꿀 루트 디렉터리: %s"
-#: plugins/sudoers/def_data.c:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "로그 ê¸°ë¡ í˜•ì‹: %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "SELinux RBAC 지ì›ì„ 사용합니다"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "sudo를 ì²˜ìŒ ì‹¤í–‰í•  ë•Œ 만든 파ì¼ì˜ 경로: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "추가 ëª…ë ¹ì„ ê°€ë¡œì±„ê³  sudoer ì œí•œì„ ì ìš©í•©ë‹ˆë‹¤"
-#: plugins/sudoers/def_data.c:590
+#: plugins/sudoers/def_data.c:596
msgid "Log sub-commands run by the original command"
msgstr "ì›ë³¸ 명령으로 실행하는 하위 명령 기ë¡"
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "실행 명령 ë내기 ìƒíƒœ 기ë¡"
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "가로챈 세션ì—ì„œì˜ ìˆœì°¨ 명령 실행시 ì¸ì¦í•´ì•¼ 합니다"
-#: plugins/sudoers/def_data.c:602
+#: plugins/sudoers/def_data.c:608
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "setuid ë˜ëŠ” setgid í”„ë¡œê·¸ëž¨ì„ ì‹¤í–‰í•  가로채기 명령 실행 허용"
-#: plugins/sudoers/def_data.c:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "프로세스 주소 ì˜ì—­ì„ 확장할 최대 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "코어 ë¤í”„ íŒŒì¼ ìµœëŒ€ ìƒì„± í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "프로세스 최대 CPU 사용 시간(초 단위): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "프로세스 ë°ì´í„° 세그먼트 최대 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "프로세스ì—ì„œ 만들 최대 íŒŒì¼ í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "프로세스 실행 최대 잠금 횟수: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "메모리ì—ì„œ 잠글 프로세스 최대 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "프로세스ì—ì„œ ì—´ íŒŒì¼ ìµœëŒ€ 갯수: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "사용ìžê°€ ë™ì‹œ 실행할 최대 프로세스 갯수: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "프로세스 ìƒì£¼ì‹œ 최대 확장 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "프로세스 ìŠ¤íƒ í¬ê¸° ì¦ê°€ 최대 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
msgid "Attempt authentication even when in non-interactive mode"
msgstr "비 ëŒ€í™”ì‹ ìƒíƒœì—ì„œë„ ì¸ì¦ ì‹œë„"
-#: plugins/sudoers/def_data.c:654
+#: plugins/sudoers/def_data.c:660
msgid "Store plaintext passwords in I/O log input"
msgstr "I/O 로그 입력시 ì›ë¬¸ 암호 저장"
-#: plugins/sudoers/def_data.c:658
+#: plugins/sudoers/def_data.c:664
msgid "List of regular expressions to use when matching a password prompt"
msgstr "암호 프롬프트 대조시 사용할 ì •ê·œ í‘œí˜„ì‹ ëª©ë¡"
-#: plugins/sudoers/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: 알 수 없는 \"%s\" 기본 항목"
-
-#: plugins/sudoers/defaults.c:242
-#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d \"%s\"ì— ì§€ì •í•œ ê°’ì´ ì—†ìŠµë‹ˆë‹¤"
-
-#: plugins/sudoers/defaults.c:245
-#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: \"%s\"ì— ì§€ì •í•œ ê°’ì´ ì—†ìŠµë‹ˆë‹¤"
-
-#: plugins/sudoers/defaults.c:258
-#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%1$s:%2$d:%3$d: \"%5$s\"ì— ë¶€ì ì ˆí•œ ì—°ì‚°ìž \"%4$c=\""
-
-#: plugins/sudoers/defaults.c:261
-#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%1$s: \"%3$s\"ì˜ ë¶€ì ì ˆí•œ ì—°ì‚°ìž \"%2$c=\""
-
-#: plugins/sudoers/defaults.c:297
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: \"%s\" ì˜µì…˜ì— ê°’ì´ ì—†ìŠµë‹ˆë‹¤"
+msgid "The mechanism used by the intercept and log_subcmds options: %s"
+msgstr "intercept 옵션과 log_subcmds 옵션ì—ì„œ 지ì›í•˜ëŠ” 매커니즘: %s"
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: \"%s\" ì˜µì…˜ì— ê°’ì´ ì—†ìŠµë‹ˆë‹¤"
+msgid "AppArmor profile to use in the new security context: %s"
+msgstr "새 보안 컨í…스트ì—ì„œ 활용할 AppArmor 프로파ì¼: %s"
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%1$s:%2$d:%3$d \"%5$s\" ì˜µì…˜ì˜ ë¶€ì ì ˆí•œ 기본 í˜•ì‹ 0x%4$x"
+msgid "unknown defaults entry \"%s\""
+msgstr "알 수 없는 \"%s\" 기본 항목"
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%1$s: \"%3$s\" ì˜µì…˜ì˜ ë¶€ì ì ˆí•œ 기본 í˜•ì‹ 0x%2$x"
+msgid "no value specified for \"%s\""
+msgstr "\"%s\"ì— ì§€ì •í•œ ê°’ì´ ì—†ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/defaults.c:341
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: \"%s\" ê°’ì€ \"%s\" ì˜µì…˜ì— ë§žì§€ 않습니다"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "\"%2$s\"ì˜ ë¶€ì ì ˆí•œ ì—°ì‚°ìž \"%1$c=\""
-#: plugins/sudoers/defaults.c:344
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: \"%s\" ê°’ì€ \"%s\" ì˜µì…˜ì— ë§žì§€ 않습니다"
+msgid "option \"%s\" does not take a value"
+msgstr "\"%s\" ì˜µì…˜ì— ê°’ì´ ì—†ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/defaults.c:1161
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: \"%s\" 경로 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "\"%2$s\" ì˜µì…˜ì˜ ë¶€ì ì ˆí•œ 기본 í˜•ì‹ 0x%1$x"
-#: plugins/sudoers/defaults.c:1164
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: \"%s\" 경로 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
+msgid "value \"%s\" is invalid for option \"%s\""
+msgstr "\"%s\" ê°’ì€ \"%s\" ì˜µì…˜ì— ë§žì§€ 않습니다"
-#: plugins/sudoers/defaults.c:1175
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: \"%s\" ê°’ì€ '/'; '~'; '*' 문ìžë¡œ 시작해야합니다"
-
-#: plugins/sudoers/defaults.c:1179
-#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: \"%s\" ê°’ì€ '/'; '~'; '*' 문ìžë¡œ 시작해야합니다"
+msgid "path name for \"%s\" too long"
+msgstr "\"%s\" 경로 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: \"%s\" ê°’ì€ '/' 문ìžë¡œ 시작해야합니다"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "\"%s\" ê°’ì€ '/', '~', '*' 문ìžë¡œ 시작해야합니다"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: \"%s\" ê°’ì€ '/' 문ìžë¡œ 시작해야합니다"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "\"%s\" ê°’ì€ '/' 문ìžë¡œ 시작해야합니다"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2616,16 +2583,6 @@ msgstr "환경 êµ¬ì„±ì„ ë‹¤ì‹œ 갖출 수 없습니다"
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "죄송하지만 ë‹¤ìŒ í™˜ê²½ 변수를 설정하ë„ë¡ í—ˆê°€ë°›ì§€ 않았습니다: %s"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "%s %d번째 줄ì—ì„œ í•´ì„ ì˜¤ë¥˜"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "%s í•´ì„ ì˜¤ë¥˜"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2675,37 +2632,37 @@ msgstr "\"%s\" ë„¤íŠ¸ì›Œí¬ ë§ˆìŠ¤í¬ ì£¼ì†Œë¥¼ í•´ì„í•  수 없습니다"
msgid "Local IP address and netmask pairs:\n"
msgstr "로컬 IP 주소 ë° ë„·ë§ˆìŠ¤í¬ ìŒ:\n"
-#: plugins/sudoers/iolog.c:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "시퀀스 파ì¼ì„ ì—…ë°ì´íŠ¸í•  수 없습니다"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "입출력 ë¡œê·¸ì— ê¸°ë¡í•  수 없습니다: %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "%s/%sì„(를) 만들 수 없습니다"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: 내부 오류. ì´ë²¤íŠ¸ %d ë²ˆì˜ ìž…ì¶œë ¥ 로그 파ì¼ì„ 열지 않았습니다"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "í´ë¡ì„ ì½ì„ 수 없습니다"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: 내부 오류. 부ì ì ˆí•œ ì‹œê·¸ë„ %d번"
@@ -2724,16 +2681,16 @@ msgstr "SSL ì¸ì¦ì„œ ë° í‚¤ DB를 초기화할 수 없습니다: %s"
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "SSLì„ ì‚¬ìš©í•˜ë ¤ë©´ %sì—ì„œ TLS_CERT를 설정해야 합니다"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "LDAP를 초기화할 수 없습니다: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls를 지정했지만 LDAP ë¼ì´ë¸ŒëŸ¬ë¦¬ì—ì„œ ldap_start_tls_s() ë˜ëŠ” ldap_start_tls_s_np() 함수를 지ì›í•˜ì§€ 않습니다"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "부ì ì ˆí•œ sudoOrder ì†ì„±: %s"
@@ -2773,8 +2730,8 @@ msgstr "ê°ì‹œ ì‹œìŠ¤í…œì„ ì—´ 수 없습니다"
msgid "unable to send audit message"
msgstr "ê°ì‹œ 메시지를 보낼 수 없습니다"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "ì´ë²¤íŠ¸ 루프 오류"
@@ -2783,101 +2740,101 @@ msgstr "ì´ë²¤íŠ¸ 루프 오류"
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "SSL_CTX ê°ì²´ 만들기 실패: %s"
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:225
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "%s ì¸ì¦ì„œ ì¸ì¦ ë²ˆë“¤ì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다"
-#: plugins/sudoers/log_client.c:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "%s ì¸ì¦ì„œë¥¼ 불러올 수 없습니다"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "%s ê°œì¸ í‚¤ë¥¼ 불러올 수 없습니다"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "SSL ê°ì²´ë¥¼ 할당할 수 없습니다: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "%s:%së¡œì˜ TLS ì—°ê²° 실패: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "TLS ì´ˆê¸°í™”ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "TLS 핸드셰ì´í‚¹ì— 실패했습니다"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: 내부 오류. 부ì ì ˆí•œ 종료 ìƒíƒœ %d"
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr "ServerMessage를 언팩할 수 없습니다"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "로그 ì„œë²„ì˜ ì—°ê²°ì´ ëŠì–´ì¡ŒìŠµë‹ˆë‹¤"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "ê¸°ë¡ ë²„í¼ ë¹ ì§"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "로그 ì„œë²„ì— ì—°ê²°í•  수 없습니다"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "사용ìžê°€ sudoersì— ì—†ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "사용ìžê°€ 호스트ì—ì„œ ì¸ì¦í•˜ì§€ 않았습니다"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "ëª…ë ¹ì„ í—ˆìš©í•˜ì§€ 않았습니다"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%sì€(는) sudoers 파ì¼ì— 없습니다.\n"
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:326
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s 사용ìžëŠ” %sì—ì„œ sudo를 실행할 수 없습니다.\n"
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "죄송하지만, %s 사용ìžëŠ” %sì—ì„œ sudo를 실행하면 안ë©ë‹ˆë‹¤.\n"
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "죄송하지만 %1$s 사용ìžëŠ” '%2$s%3$s%4$s'ì„(를) %8$sì˜ %5$s%6$s%7$s(으)ë¡œ 실행하ë„ë¡ í—ˆê°€ë°›ì§€ 않았습니다.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "ì´ë²ˆ ì‹œë„는 관리ìžì—게 보고했습니다.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: ëª…ë ¹ì´ ì—†ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2886,39 +2843,45 @@ msgstr ""
"'.'ì— ë¬´ì‹œ ì¤‘ì¸ \"%1$s\" 요소가 있습니다.\n"
"\"%3$s\" ëª…ë ¹ì„ ì‹¤í–‰í•˜ë ¤ë©´, \"sudo ./%2$s\" ëª…ë ¹ì„ ì‚¬ìš©í•˜ì‹­ì‹œì˜¤."
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:395
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
msgstr[0] "ìž˜ëª»ëœ ì•”í˜¸ ìž…ë ¥ ì‹œë„ %u번"
-#: plugins/sudoers/logging.c:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "ì¸ì¦ 실패"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "암호가 필요합니다"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "sudoers í•´ì„ ë¬¸ì œ"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "로그 파ì¼ì— 기ë¡í•  수 없습니다: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "%1$s 다ì´ì œìŠ¤íŠ¸(%2$s)는 %4$zu 길ì´ë¥¼ 기대했지만 ìž˜ëª»ëœ %3$zu 길ì´ë¥¼ 가졌습니다"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "%s 다ì´ì œìŠ¤íŠ¸(%s)는 %s 형ì‹ì´ 아닙니다"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "차단 모드를 활성화하면 SELinux RBAC를 지ì›í•˜ì§€ 않습니다"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "log_subcmds 플래그를 켜ë‘ë©´ SELinux RBAC를 지ì›í•˜ì§€ 않습니다"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2927,7 +2890,7 @@ msgstr ""
"\n"
"LDAP ì—­í• : %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2935,38 +2898,38 @@ msgstr ""
"\n"
"Sudoers 항목:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " 실행 사용ìž: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " 실행 그룹: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " 옵션: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " 명령:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "%2$sì—ì„œ %1$sì— ì¼ì¹˜í•˜ëŠ” 기본 항목:\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "%sì˜ ì‹¤í–‰ 권한 ë° ëª…ë ¹ë³„ 기본 ê°’:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "%s 사용ìžëŠ” %sì—ì„œ ë‹¤ìŒ ëª…ë ¹ì„ ì‹¤í–‰í•´ì•¼ 합니다:\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "%s 사용ìžëŠ” %sì—ì„œ sudo를 실행하ë„ë¡ í—ˆê°€ë°›ì§€ 않았습니다.\n"
@@ -2986,64 +2949,59 @@ msgstr "부ì ì ˆí•œ LDIF ì†ì„±: %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "sudo í”„ë¡ íŠ¸ì—”ë“œì˜ %.*s ì„¤ì •ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "\"%s\" 경로 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "ë„¤íŠ¸ì›Œí¬ ì£¼ì†Œ 목ë¡ì„ í•´ì„í•  수 없습니다"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr "sudo 프론트엔드ì—ì„œ ì‚¬ìš©ìž ì´ë¦„ì„ ì„¤ì •í•˜ì§€ 않았습니다"
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
msgstr "sudo 프론트엔드ì—ì„œ ì‚¬ìš©ìž ID를 설정하지 않았습니다"
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr "sudo 프론트엔드ì—ì„œ 그룹 ID를 지정하지 않았습니다"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
msgid "host name not set by sudo front-end"
msgstr "sudo 프론트엔드ì—ì„œ 호스트 ì´ë¦„ì„ ì„¤ì •í•˜ì§€ 않았습니다"
-#: plugins/sudoers/policy.c:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "부ì ì ˆí•œ ìž‘ì—… 디렉터리: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "부ì ì ˆí•œ 루트 변경 디렉터리: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "%sì„(를) 실행할 수 없습니다"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: sudo í”„ë¡ íŠ¸ì—”ë“œì˜ ìƒíƒœ 플래그가 잘못ë˜ì—ˆìŠµë‹ˆë‹¤: 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Sudoers ì •ì±… í”ŒëŸ¬ê·¸ì¸ ë²„ì „ %s\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Sudoers íŒŒì¼ ë¬¸ë²• 버전 %d\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3052,27 +3010,27 @@ msgstr ""
"\n"
"Sudoers 경로: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "nsswitch 경로: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ldap.conf 경로: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ldap.secret 경로: %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "%d 형ì‹ì˜ 후í¬ë¥¼ 등ë¡í•  수 없습니다(버전 %d.%d)"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "%d 형ì‹ì˜ í›„í¬ ë“±ë¡ì„ 해제할 수 없습니다(버전 %d.%d)"
@@ -3211,149 +3169,148 @@ msgstr "SSS 소스를 초기화할 수 없습니다. ë¨¸ì‹ ì— SSSD를 설치했
msgid "unable to find symbol \"%s\" in %s"
msgstr "%2$sì—ì„œ \"%1$s\" ì‹¬ë³¼ì„ ì°¾ì„ ìˆ˜ 없습니다"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "기본 í•­ëª©ì— ë¬¸ì œ ë°œìƒ"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "%sì˜ ê¸°ë³¸ê°’ì„ ê°€ì ¸ì˜¬ 수 없습니다"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "올바른 sudoers 설정 ì›ë³¸ì´ 없습니다. 나갑니다."
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "%sì„(를) 루트 디렉터리로 변환하ë„ë¡ í—ˆìš©í•˜ì§€ 않습니다"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "-R 옵션과 %s ì˜µì…˜ì˜ ë³‘í–‰ ì‚¬ìš©ì„ í—ˆê°€ë°›ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "%s ë””ë ‰í„°ë¦¬ë¡œì˜ ì´ë™ì„ 허용하지 않습니다"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "-D 옵션과 %s ì˜µì…˜ì˜ ë³‘í–‰ ì‚¬ìš©ì„ í—ˆê°€ë°›ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "지정한 ëª…ë ¹ì´ ì—†ìŒ"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoersì—ì„œ rootê°€ sudo를 실행하지 못하게 지정했습니다"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "사용ìžê°€ closefrom 제한 ê°’ì„ ë”°ë¡œ ì ìš©í•˜ë„ë¡ í—ˆìš©í•˜ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "-C 옵션 ì‚¬ìš©ì„ í—ˆê°€ë°›ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "타임스탬프 소유ìž(%s): ì‚¬ìš©ìž ì—†ìŒ"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "tty ì—†ìŒ"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "죄송하지만 sudo를 실행하려면 tty를 확보해야합니다"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "%s 사용ìžì—게 부ì ì ˆí•œ ì…¸ 제공: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "현재 ë””ë ‰í„°ë¦¬ì˜ ëª…ë ¹"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "\"cd\"는 ì…¸ 내장 명령으로, ì§ì ‘ 실행할 수 없습니다."
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
msgid "the -s option may be used to run a privileged shell."
msgstr "-s ì˜µì…˜ì€ ë³„ë„ ê¶Œí•œì„ ë¶€ì—¬í•œ ì…¸ì—ì„œ 실행할 ë•Œ 사용합니다."
-#: plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:657
msgid "the -D option may be used to run a command in a specific directory."
msgstr "-D ì˜µì…˜ì€ ì§€ì • 디렉터리ì—ì„œ ëª…ë ¹ì„ ì‹¤í–‰í•  ë•Œ 사용합니다."
-#: plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr "사용ìžê°€ 명령 처리 제한 ì‹œê°„ì„ ì„¤ì •í•˜ë„ë¡ í—ˆìš©í•˜ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
msgid "sorry, you are not allowed set a command timeout"
msgstr "죄송하지만, 명령 처리 제한 ì‹œê°„ì„ ì„¤ì •í•  수 없습니다"
-#: plugins/sudoers/sudoers.c:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "사용ìžê°€ 환경 설정 ê°’ì„ ìœ ì§€í•˜ë„ë¡ í—ˆìš©í•˜ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr "죄송하지만 ì´ í™˜ê²½ ìƒíƒœë¥¼ 유지하ë„ë¡ í—ˆê°€ë°›ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit는 sudo로 실행할 필요가 없습니다"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "%sì„(를) ì½ì„ 수 없습니다"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "%sì˜ ìƒíƒœë¥¼ 가져올 수 없습니다"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "%sì€(는) ì¼ë°˜ 파ì¼ì´ 아닙니다"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%sì€(는) %u uidê°€ 소유했지만, %u uidê°€ 소유해야합니다"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%sì— ëª¨ë‘ê°€ 기ë¡í•  수 있습니다"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%sì€(는) %u gidê°€ 소유했지만, %u gidê°€ 소유해야합니다"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "루트만 \"-c %s\" ì˜µì…˜ì„ ì‚¬ìš©í•  수 있습니다"
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "ì•Œ 수 없는 ë¡œê·¸ì¸ í´ëž˜ìŠ¤ %s"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "%s 호스트를 í•´ì„í•  수 없습니다"
@@ -3559,99 +3516,94 @@ msgstr "지침 ìƒíƒœ 경로가 너무 ê¹ë‹ˆë‹¤: %s/%s"
msgid "sudoedit should not be specified with a path"
msgstr "sudoeditì— ê²½ë¡œë¥¼ 지정하면 안ë©ë‹ˆë‹¤"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "-x ì˜µì…˜ì€ ì¶”í›„ 릴리스ì—ì„œ 제거 예정입니다"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "cvtsudoers 유틸리티를 대신 사용해보십시오"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "%s í•­ëª©ì„ íŽ¸ì§‘í•˜ë ¤ë©´ return 키를 누르십시오: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "%sì— íŽ¸ì§‘ 세션 ë‚´ìš©ì´ ë‚¨ì•˜ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "지정 편집기(%s)가 없습니다"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "편집기가 없습니다(편집기 경로 = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "쓰기 오류"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "ìž„ì‹œ íŒŒì¼ ìƒíƒœë¥¼ 가져올 수 없습니다(%s). %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "ìž„ì‹œ íŒŒì¼ ê¸¸ì´ê°€ 0입니다(%s). %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "편집기(%s) 실패. %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s 바꾸지 ì•ŠìŒ"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "ìž„ì‹œ 파ì¼(%s)ì„ ë‹¤ì‹œ ì—´ 수 없습니다. %sì„(를) 바꾸지 않았습니다."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "ìž„ì‹œ 파ì¼(%s)ì„ í•´ì„í•  수 없습니다. ì•Œ 수 없는 오류"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "내부 오류. %sì„(를) 목ë¡ì—ì„œ ì°¾ì„ ìˆ˜ 없습니다!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "%sì˜ uid/gid를 %u/%u 값으로 설정할 수 없습니다"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s ë° %sì€(는) ë™ì¼í•œ íŒŒì¼ ì‹œìŠ¤í…œì— ì—†ìŠµë‹ˆë‹¤. mv 명령으로 ì´ë¦„ì„ ë°”ê¿‰ë‹ˆë‹¤"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "명령 실행 실패: '%s %s %s', %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "%s ì´ë¦„ 바꾸기 오류. %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "어떻게 하시겠습니까? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3663,41 +3615,41 @@ msgstr ""
" sudoers 파ì¼ì„ 바꾼 ìƒíƒœì—ì„œ 저장하지 ì•Šê³  나갑니다(X)\n"
" sudoers 파ì¼ì„ 바꾼 ìƒíƒœì—ì„œ 저장하고 ë냅니다(Q)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "%sì„(를) 실행할 수 ì—†ìŒ"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: ìž˜ëª»ëœ ì†Œìœ ìž uid/gid를 %u/%u 값으로 설정해야 합니다\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: ìž˜ëª»ëœ ê¶Œí•œìž…ë‹ˆë‹¤. 0%o 모드 ê°’ì„ ì„¤ì •í•´ì•¼ 합니다\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: í•´ì„ ì„±ê³µ\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%sì„(를) 사용중입니다. ë‚˜ì¤‘ì— ë‹¤ì‹œ ì‹œë„하십시오"
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "ê·¸ëž˜ë„ íŽ¸ì§‘í•˜ì‹œê² ìŠµë‹ˆê¹Œ? [y/N]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "경고: %s:%d:%d 사용하지 않는 %s \"%s\"ì´(ê°€) 있습니다"
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3706,7 +3658,7 @@ msgstr ""
"%s - sudoers 파ì¼ì„ 안전하게 편집합니다\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3750,14 +3702,77 @@ msgstr "부ì ì ˆí•œ ì—°ì† ë¬¸ìž"
msgid "invalid IPv6 address"
msgstr "부ì ì ˆí•œ IPv6 주소"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "예기치 ì•Šì€ ê°œí–‰ ë¬¸ìž ë°œê²¬"
-#: toke.l:1210
+#: toke.l:1218
msgid "too many levels of includes"
msgstr "í¬í•¨ ë ˆë²¨ì´ ë„ˆë¬´ 많습니다"
+#~ msgid "Error: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "오류: %4$s \"%5$s\"ì˜ %1$s:%2$d:%3$d: 사ì´í´"
+
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "경고: %4$s \"%5$s\"ì˜ %1$s:%2$d:%3$d: 사ì´í´"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "경고: %s:%d:%d: %s \"%s\"ì„(를) 참조했지만 ì •ì˜í•˜ì§€ 않았습니다"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "%s %d번째 줄 ì¸ê·¼ í•´ì„ ì˜¤ë¥˜\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "%s í•´ì„ ì˜¤ë¥˜\n"
+
+#~ msgid "%s: unknown defaults entry \"%s\""
+#~ msgstr "%s: 알 수 없는 \"%s\" 기본 항목"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d \"%s\"ì— ì§€ì •í•œ ê°’ì´ ì—†ìŠµë‹ˆë‹¤"
+
+#~ msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+#~ msgstr "%1$s:%2$d:%3$d: \"%5$s\"ì— ë¶€ì ì ˆí•œ ì—°ì‚°ìž \"%4$c=\""
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: \"%s\" ì˜µì…˜ì— ê°’ì´ ì—†ìŠµë‹ˆë‹¤"
+
+#~ msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+#~ msgstr "%1$s:%2$d:%3$d \"%5$s\" ì˜µì…˜ì˜ ë¶€ì ì ˆí•œ 기본 í˜•ì‹ 0x%4$x"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: \"%s\" ê°’ì€ \"%s\" ì˜µì…˜ì— ë§žì§€ 않습니다"
+
+#~ msgid "%s:%d:%d: path name for \"%s\" too long"
+#~ msgstr "%s:%d:%d: \"%s\" 경로 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
+
+#~ msgid "%s: path name for \"%s\" too long"
+#~ msgstr "%s: \"%s\" 경로 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: \"%s\" ê°’ì€ '/'; '~'; '*' 문ìžë¡œ 시작해야합니다"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: \"%s\" ê°’ì€ '/' 문ìžë¡œ 시작해야합니다"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "%s %d번째 줄ì—ì„œ í•´ì„ ì˜¤ë¥˜"
+
+#~ msgid "parse error in %s"
+#~ msgstr "%s í•´ì„ ì˜¤ë¥˜"
+
+#~ msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#~ msgstr "차단 모드를 활성화하면 SELinux RBAC를 지ì›í•˜ì§€ 않습니다"
+
+#~ msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#~ msgstr "log_subcmds 플래그를 켜ë‘ë©´ SELinux RBAC를 지ì›í•˜ì§€ 않습니다"
+
+#~ 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"
@@ -3770,9 +3785,6 @@ msgstr "í¬í•¨ ë ˆë²¨ì´ ë„ˆë¬´ 많습니다"
#~ msgid "unable to read diffie-hellman parameters: %s"
#~ msgstr "디피-헬먼 매개변수를 ì½ì„ 수 없습니다: %s"
-#~ msgid "unknown defaults entry \"%s\""
-#~ msgstr "알 수 없는 \"%s\" 기본 항목"
-
#~ msgid "%s:%d unknown key: %s"
#~ msgstr "%s:%d 알 수 없는 키: %s"
@@ -3882,6 +3894,3 @@ msgstr "í¬í•¨ ë ˆë²¨ì´ ë„ˆë¬´ 많습니다"
#~ msgstr ""
#~ "\n"
#~ "SSSD ì—­í• : ì•Œ 수 ì—†ìŒ\n"
-
-#~ msgid "Warning: cycle in %s `%s'"
-#~ msgstr "경고: %sì˜ ì‚¬ì´í´ `%s'"
diff --git a/plugins/sudoers/po/pl.mo b/plugins/sudoers/po/pl.mo
index 2259f05a4..b79746926 100644
--- a/plugins/sudoers/po/pl.mo
+++ b/plugins/sudoers/po/pl.mo
Binary files differ
diff --git a/plugins/sudoers/po/pl.po b/plugins/sudoers/po/pl.po
index d8560904e..8a7dd56ea 100644
--- a/plugins/sudoers/po/pl.po
+++ b/plugins/sudoers/po/pl.po
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.10b1\n"
+"Project-Id-Version: sudoers 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-13 20:23+0100\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 21:56+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: confstr.sh:1 gram.y:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "błąd składni"
@@ -41,17 +41,17 @@ msgstr "*** informacje dotyczące BEZPIECZEŃSTWA dla %h ***"
msgid "Sorry, try again."
msgstr "Niestety, proszę spróbować ponownie."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -67,39 +67,39 @@ msgstr "Niestety, proszę spróbować ponownie."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -108,23 +108,21 @@ msgstr "Niestety, proszę spróbować ponownie."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -132,120 +130,120 @@ msgstr "Niestety, proszę spróbować ponownie."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "nie udało się przydzielić pamięci"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "skrót wymaga nazwy pliku"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "wartości \"CWD\" muszą zaczynać się od '/', '~' lub '*'"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "ścieżka \"CWD\" zbyt długa"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "wartości \"CHROOT\" muszą zaczynać się od '/', '~' lub '*'"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "ścieżka \"CHROOT\" zbyt długa"
-#: gram.y:788
+#: gram.y:801
#, 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:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "błędna wartość notbefore"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "błędna wartość notafter"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "wartość limitu czasu zbyt duża"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "błędna wartość limitu czasu"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "polecenie zbyt długie"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Alias \"%s\" jest już zdefiniowany"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -265,37 +263,37 @@ msgstr "Alias \"%s\" jest już zdefiniowany"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -306,23 +304,21 @@ msgstr "Alias \"%s\" jest już zdefiniowany"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -330,69 +326,70 @@ msgstr "Alias \"%s\" jest już zdefiniowany"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -401,16 +398,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "błąd wewnętrzny, przepełnienie %s"
@@ -425,31 +424,31 @@ msgstr "nie udało się wykonać dup na stdin: %m"
msgid "unable to execute %s: %m"
msgstr "nie udało się wywołać %s: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "nie udało się wykonać fork"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "nie udało się wykonać fork: %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "nie udało się otworzyć potoku: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (kontynuacja polecenia) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -565,13 +564,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr "%s istnieje, ale nie jest katalogiem (0%o)"
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "nie udało się wykonać mkdir %s"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "nie udało się zmienić uprawnień %s na 0%o"
@@ -586,8 +585,8 @@ msgstr "błąd podczas czytania pliku czasu: %s"
msgid "invalid timing file line: %s"
msgstr "błędna linia pliku czasu: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "nie udało się wygenerować UUID-a"
@@ -646,56 +645,56 @@ msgstr "błąd zamykania iofd %d: %s"
msgid "error flushing iofd %d: %s"
msgstr "błąd opróżniania bufora iofd %d: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "błędny log we/wy %s: %s użyty, ale nie zdefiniowany"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: nie udało się odnaleźć punktu wznowienia [%lld, %ld]"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "nie udało się otworzyć %s"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "nie udało się otworzyć %s/%s"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "nie udało się skopiować %s/%s do %s/%s: %s"
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "nie udało się zmienić nazwy %s na %s"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: nie udało się odnaleźć punktu wznowienia [%lld, %ld]"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "brak pliku logu we/wy %s/%s"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: nie udało przesunąć %zu w przód"
@@ -704,32 +703,32 @@ msgstr "%s/%s: nie udało przesunąć %zu w przód"
msgid "unable to connect to relay"
msgstr "nie udało się połączyć z przekaźnikiem"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "komunikat serwera zbyt duży: %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -774,6 +773,13 @@ msgstr "%s: nieoczekiwany IoBuffer"
msgid "protocol error"
msgstr "błąd protokołu"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "nie udało się rozpakować %s, rozmiar %zu"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -789,110 +795,110 @@ msgstr "nie rozpoznany typ ClientMessage"
msgid "timed out writing to client %s"
msgstr "przekroczony limit czasu przy pisaniu do klienta %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "brak bufora zapisu dla klienta %s"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr "przekroczony limit czasu przy czytaniu od klienta %s"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "EOF od %s bez właściwego zakończenia połączenia TLS"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "komunikat klienta zbyt duży %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "komunikat klienta zbyt duży"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "błędny ClientMessage"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "nie udało się uzyskać zdalnego adresu IP"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Nie udało się dołączyć danych użytkownika do obiektu SSL: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "nie udało się ustanowić gniazda nasłuchującego"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "nieoczekiwany sygnał %d"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "serwer logów sudo"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr "Opcje:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "ścieżka do pliku konfiguracyjnego"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "wyświetlenie pomocy i zakończenie"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "bez wykonywania fork, działanie na pierwszym planie"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "procentowe prawdopodobieństwo odrzucenia połączenia"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "wyświetlenie informacji o wersji i zakończenie"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Wymagany Protobuf-C w wersji 1.3 lub wyższej"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "błędna wartość losowego gubienia: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s wersja %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "nieznany użytkownik %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -966,7 +972,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] niedozwolony klucz: %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "nie udało się otworzyć pliku logu %s"
@@ -979,13 +985,13 @@ msgstr "nie udało się zainicjować kontekstu serwera TLS"
msgid "unable to initialize relay TLS context"
msgstr "nie udało się zainicjować kontekstu przekaźnika TLS"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "nie udało się utworzuć pliku kroniki"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "nie udało się zablokować %s"
@@ -998,8 +1004,8 @@ msgstr "nie udało się zablokować pliku kroniki"
msgid "unable to open journal file"
msgstr "nie udało się otworzyć pliku kroniki"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "nie udało się zapisać pliku kroniki"
@@ -1017,11 +1023,11 @@ msgstr "nieoczekiwany koniec pliku podczas odczytu pliku kroniki"
msgid "error reading journal file"
msgstr "błąd podczas odczytu pliku kroniki"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "błędny plik kroniki, nie udało się zrestartować"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "nie udało się przewinąć do [%lld, %ld] w pliku kroniki %s"
@@ -1109,7 +1115,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: błędne ServerHello, brak server_id"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "błędne ServerHello"
@@ -1130,34 +1136,34 @@ msgstr "przekroczony limit czasu przy czytaniu z przekaźnika"
msgid "relay host name does not match certificate"
msgstr "nazwa hosta przekaźnika nie pasuje do certyfikatu"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "błąd podczas odczytu z przekaźnika"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "nie udał się odczyt z przekaźnika"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "serwer przekaźnika zamknął połączenie"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "komunikat serwera zbyt duży"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "przekroczony limit czasu przy pisaniu do przekaźnika %s (%s)"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "przekroczony limit czasu przy pisaniu do przekaźnika"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "błąd zapisu do przekaźnika"
@@ -1213,7 +1219,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:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "nie udało się wyszukać %s:%s: %s"
@@ -1227,30 +1233,30 @@ msgstr "nie udało się uzyskać adresu IP serwera"
msgid "unable to read %s/%s: %s"
msgstr "nie udało się odczytać %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "nieoczekiwane zdarzenie we/wy %d"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: nieoczekiwany stan %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "odebrano od serwera komunikat błędu: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "odebrano od serwera komunikat zerwania: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: nieoczekiwana wartość type_case %d"
@@ -1259,11 +1265,15 @@ msgstr "%s: nieoczekiwana wartość type_case %d"
msgid "timeout reading from server"
msgstr "przekroczony limit czasu przy czytaniu z serwera"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "nazwa hosta nie pasuje do certyfikatu"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "przedwczesny EOF"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "komunikat serwera zbyt duży: %u"
@@ -1295,12 +1305,12 @@ msgstr "miniony czas wysłany do serwera [%lld, %ld]"
msgid "commit point received from server [%lld, %ld]"
msgstr "odebrano od serwera punkt zatwierdzenia [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "przekroczony limit czasu powitania TLS"
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "nie udało się ustawić zdarzenia"
@@ -1309,50 +1319,51 @@ msgstr "nie udało się ustawić zdarzenia"
msgid "TLS connection failed: %s"
msgstr "Połączenie TLS nie powiodło się: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "nie udało się przydzielić obiektu SSL: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, 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:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "nie udało się zainicjować kontekstu TLS"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "nie udało się ustawić szyfrowania TLS 1.2 na %s: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "nie udało się ustawić szyfrowania TLS 1.3 na %s: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "nie udało się ustawić parametrów Diffie-Hellmana: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "nie udało się utworzyć kontekstu TLS: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "nie udało się ustawić minimalnej wersji protokołu na TLS 1.2: %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "nie udało się pobrać aktualnego czasu"
@@ -1408,47 +1419,47 @@ msgstr ""
"błąd serwera uwierzytelniającego:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: nie udało się przekształcić nazwy principal do łańcucha ('%s'): %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: nie udało się przeanalizować '%s': %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: nie udało się rozwiązać pamięci podręcznej danych uwierzytelniających: %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: nie udało się przydzielić opcji: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, 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:248
+#: plugins/sudoers/auth/kerb5.c:250
#, 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:251
+#: plugins/sudoers/auth/kerb5.c:253
#, 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:315
+#: plugins/sudoers/auth/kerb5.c:317
#, 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:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: Nie można zweryfikować TGT! Możliwy atak!: %s"
@@ -1489,7 +1500,7 @@ msgstr "Konto wygasło lub w konfiguracji PAM brak sekcji \"account\" dla sudo,
msgid "PAM account management error: %s"
msgstr "BÅ‚Ä…d zarzÄ…dzania kontem PAM: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "nie istniejesz w bazie danych %s"
@@ -1530,27 +1541,27 @@ msgstr "błędna długość hasła dla SecurID"
msgid "unable to initialize SIA session"
msgstr "nie udało się zainicjować sesji SIA"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "błędne metody uwierzytelniania"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "W sudo wkompilowano błędne metody uwierzytelniania! Nie można mieszać samodzielnych i niesamodzielnych sposobów uwierzytelniania."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "brak metod uwierzytelniania"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "W sudo nie wkompilowano żadnych metod uwierzytelniania! Aby wyłączyć uwierzytelnianie, proszę użyć opcji konfiguracyjnej --disable-authentication."
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Nie udało się zainicjować metod uwierzytelniania."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "Metody uwierzytelniania:"
@@ -1562,17 +1573,17 @@ msgstr "Nie udało się określić warunku audytowego"
msgid "unable to commit audit record"
msgstr "nie udało się zatwierdzić rekordu audytowego"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "błąd podczas czytania pliku instrukcji %s"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, 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:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1592,32 +1603,27 @@ msgstr ""
" 3) z dużą władzą wiąże się duża odpowiedzialność.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "nieznany uid %u"
-#: plugins/sudoers/check_aliases.c:92
-#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "BÅ‚Ä…d: %s:%d:%d: cykl w %s \"%s\""
-
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Uwaga: %s:%d:%d: cykl w %s \"%s\""
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Błąd: %s:%d:%d: %s \"%s\" użyty, ale nie zdefiniowany"
+msgid "cycle in %s \"%s\""
+msgstr "cykl w %s \"%s\""
-#: plugins/sudoers/check_aliases.c:98
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Uwaga: %s:%d:%d: %s \"%s\" użyty, ale nie zdefiniowany"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "%s \"%s\" użyty, ale nie zdefiniowany"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1634,7 +1640,7 @@ msgstr "poczÄ…tkowa ranga: %s: %s"
msgid "order padding: %s: %s"
msgstr "wyrównanie rangi: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s, wersja gramatyki %d\n"
@@ -1654,10 +1660,10 @@ msgstr "nieobsługiwany format wyjścia %s"
msgid "%s: input and output files must be different"
msgstr "%s: pliki wejściowy i wyjściowy muszą być różne"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "nie udało się zainicjować wartości domyślnych sudoers"
@@ -1686,28 +1692,18 @@ msgstr "błędny typ ograniczenia: %s"
msgid "invalid filter: %s"
msgstr "błędny filtr: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "nie udało się przeanalizować pliku %s, nieznany błąd"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "błąd składni w %s w okolicy linii %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "błąd składni w %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "nie udało się zapisać do %s"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1716,7 +1712,7 @@ msgstr ""
"%s - konwersja między formatami pliku sudoers\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1758,31 +1754,31 @@ msgstr ""
" -V, --version wyświetlenie informacji o wersji i zakończenie"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "nie udało się pobrać czasu GMT"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "nie udało się sformatować znacznika czasu"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: nieznany wpis domyślny \"%s\""
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "zbyt dużo wpisów sudoers, maksimum to %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "zmienna środowiskowa SUDOERS_BASE nie jest ustawiona i nie podano opcji -b."
@@ -1827,780 +1823,751 @@ msgstr "%s:%d:%d: nie udało się uczynić Defaults \"%s\" obowiązującym tylko
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:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, 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:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, 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:50
+#: plugins/sudoers/def_data.c:56
#, 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:54
+#: plugins/sudoers/def_data.c:60
#, 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:58
+#: plugins/sudoers/def_data.c:64
#, 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:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "Umieszczenie zachęty OTP we własnej linii"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "Ignorowanie '.' w $PATH"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "Wysyłanie listu zawsze przy uruchomieniu sudo"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Wysyłanie listu przy błędnym uwierzytelnieniu"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
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:82
+#: plugins/sudoers/def_data.c:88
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:86
+#: plugins/sudoers/def_data.c:92
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:90
+#: plugins/sudoers/def_data.c:96
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:94
+#: plugins/sudoers/def_data.c:100
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:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr "Poinstruowanie użytkownika przy pierwszym uruchomieniu sudo"
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "Plik zawierajÄ…cy instrukcjÄ™ do sudo: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Domyślne wymaganie uwierzytelnienia przez użytkowników"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "Możliwość uruchamiania sudo przez roota"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr "Logowanie nazwy hosta w pliku logu (niesyslogowym)"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "Logowanie roku w pliku logu (niesyslogowym)"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
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:126
+#: plugins/sudoers/def_data.c:132
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:130
+#: plugins/sudoers/def_data.c:136
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:134
+#: plugins/sudoers/def_data.c:140
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:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr "Wymaganie pełnych nazw hostów w pliku sudoers"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
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:146
+#: plugins/sudoers/def_data.c:152
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:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "Honorowanie zmiennej środowiskowej EDITOR przez visudo"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "Pytanie o hasło roota zamiast hasła użytkownika"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "Pytanie o hasło użytkownika runas_default zamiast uruchamiającego"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "Pytanie o hasło użytkownika docelowego zamiast uruchamiającego"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "Użycie ustawień domyślnych z klasy logowania użytkownika docelowego (jeśli są)"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Ustawianie zmiennych środowiskowych LOGNAME i USER"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "Ustawianie na użytkownika docelowego tylko efektywnego uid-a, nie rzeczywistego uid-a"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "Pomijanie inicjalizacji wektora grup na grupy użytkownika docelowego"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "Długość, na której zawijać linie logu (0 bez zawijania): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "Limit czasu znacznika uwierzytelniania (w minutach): %.1f"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "Limit czasu pytania o hasło (w minutach): %.1f"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "Liczba prób wpisania hasła: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "Wartość umask lub 0777, aby użyć wartości użytkownika: 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "Ścieżka do pliku logu: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Ścieżka do programu mail: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "Flagi dla programu mail: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, 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:218
+#: plugins/sudoers/def_data.c:224
#, 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:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "Temat wysyłanych listów: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "Komunikat o błędnym haśle: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "Ścieżka katalogu stanu instrukcji: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "Ścieżka katalogu znaczników czasu uwierzytelniania: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, 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:242
+#: plugins/sudoers/def_data.c:248
#, 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:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "Domyślne pytanie o hasło: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "Czy passprompt ma być używane zamiast systemowego zapytania we wszystkich przypadkach"
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr "Domyślny użytkownik do uruchamiania poleceń: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "Wartość do podstawienia za $PATH użytkownika: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr "Ścieżka do edytora, który ma być używany przez visudo: %s"
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr "Kiedy ma być wymagane hasło dla pseudopolecenia 'list': %s"
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr "Kiedy ma być wymagane hasło dla pseudopolecenia 'verify': %s"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr "Wczesne załadowanie biblioteki sudo_noexec, zastępującej funkcje exec"
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr "Jeśli istnieje katalog LDAP, czy ignorować lokalny plik sudoers"
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr "Deskryptory plików >= %d będą zamykane przed uruchomieniem polecenia"
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
msgstr "Czy użytkownicy mogą zmieniać wartość \"closefrom\" opcją -C"
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Zezwolenie użytkownikom na ustawianie dowolnych zmiennych środowiskowych"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr "Wyczyszczenie środowiska do domyślnego zbioru zmiennych"
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "Zmienne środowiskowe do sprawdzania bezpieczeństwa:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Zmienne środowiskowe do usunięcia:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Zmienne środowiskowe do zachowania:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "Rola SELinuksa do używania w nowym kontekście bezpieczeństwa: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "Typ SELinuksa do używania w nowym kontekście bezpieczeństwa: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "Ścieżka do pliku środowiska specyficznego dla sudo: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "Ścieżka do pliku ograniczonego środowiska specyficznego dla sudo: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "Lokalizacja, jak ma być używana przy analizie pliku sudoers: %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "Zezwolenie sudo na pytanie o hasło nawet gdyby miało być widoczne"
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "Uwidocznienie wprowadzania hasła przez użytkownika w miarę wpisywania"
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "Użycie szybszych masek (glob) - mniej dokładnych, ale nie odwołujących się do systemu plików"
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "Wartość umask podana w sudoers ma zastąpić wartość użytkownika, nawet jeśli pozwala na więcej"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "Logowanie wejścia użytkownika dla uruchamianych poleceń"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
msgid "Log the output of the command being run"
msgstr "Logowanie wyjścia z uruchamianych poleceń"
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr "Kompresja logów we/wy przy użyciu zliba"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "Uruchamianie poleceń zawsze na pseudoterminalu"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Wtyczka do obsługi grup nieuniksowych: %s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:372
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Katalog do zapisu logów wejścia/wyjścia: %s"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:376
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Plik do zapisu logu wejścia/wyjścia: %s"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:380
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Dodawanie wpisu do pliku utmp/utmpx przy przydzielaniu pty"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:384
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Ustawianie użytkownika w utmp jako docelowego, nie wywołującego"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Zbiór dozwolonych uprawnień: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Zbiór ograniczonych uprawnień: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "Uruchomienie poleceń na pseudoterminalu w tle"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "Nazwa usługi PAM do użycia: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Nazwa usługi PAM do użycia dla powłok logowania: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Nazwa usługi PAM do użycia, kiedy sudo jest uruchomione z opcją -A: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Próba ustanowienia danych uwierzytelniających PAM dla użytkownika docelowego"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "Utworzenie nowej sesji PAM dla uruchamianego polecenia"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "Wykonanie zarządzania poprawnością konta PAM"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Maksymalny numer sekwencji logu we/wy: %s"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "Włączenie obsługi grup sieciowych w sudoers"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
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:430
+#: plugins/sudoers/def_data.c:436
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:434
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr "Odpytanie wtyczki group pod kÄ…tem nieznanych grup systemowych"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Dopasowanie grup sieciowych w oparciu o całą krotkę: użytkownik, host i domena"
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Zezwolenie na uruchamianie poleceń nawet jeśli sudo nie może pisać do logu audytowego"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Zezwolenie na uruchamianie poleceń nawet jeśli sudo nie może pisać do logu we/wy"
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Zezwolenie na uruchamianie poleceń nawet jeśli sudo nie może pisać do pliku logu"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "RozwiÄ…zanie grup z sudoers i dopasowywanie po ID grupy zamiast nazwy"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Wpisy logu większe niż ta wartość będą dzielone na wiele wiadomości sysloga: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Użytkownik, który będzie właścicielem plików logu we/wy: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Grupa, która będzie właścicielem plików logu we/wy: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Uprawnienia dla plików logu we/wy: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Uruchomienie poleceń poprzez deskryptor pliku zamiast ścieżki: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignorowanie nieznanych wpisów Defaults w sudoers zamiast ostrzeżenia"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Czas w sekundach, po którym polecenie będzie kończone: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "Zezwolenie użytkownikowi na określenie limitu czasu z linii poleceń"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Natychmiastowy zrzut danych logu we/wy na dysk zamiast buforowania"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
msgid "Include the process ID when logging via syslog"
msgstr "Dołączanie identyfikatora procesu przy logowaniu przez syslog"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Rodzaj rekordu znacznika czasu uwierzytelniania: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "Komunikat błędu uwierzytelnienia: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr "Ignorowanie wielkości liter przy dopasowywaniu nazw użytkownika"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr "Ignorowanie wielkości liter przy dopasowywaniu nazw grup"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
msgid "Log when a command is allowed by sudoers"
msgstr "Logowanie kiedy polecenie jest dozwolone przez sudoers"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:524
msgid "Log when a command is denied by sudoers"
msgstr "Logowanie kiedy polecenie jest zabronione przez sudoers"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:528
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:526
+#: plugins/sudoers/def_data.c:532
#, 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:530
+#: plugins/sudoers/def_data.c:536
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:534
+#: plugins/sudoers/def_data.c:540
#, 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:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Ścieżka do pliku certyfikatu sudoers: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Ścieżka do pliku klucza prywatnego sudoers: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
msgid "Verify that the log server's certificate is valid"
msgstr "Sprawdzenie poprawności certyfikatu serwera logów"
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:556
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Zezwolenie na użycie nieznanego ID użytkownika i/lub grupy runas"
-#: plugins/sudoers/def_data.c:554
+#: plugins/sudoers/def_data.c:560
msgid "Only permit running commands as a user with a valid shell"
msgstr "Zezwolenie na uruchamianie poleceń tylko jako użytkownik z prawidłową powłoką"
-#: plugins/sudoers/def_data.c:558
+#: plugins/sudoers/def_data.c:564
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:562
+#: plugins/sudoers/def_data.c:568
msgid "Set the pam remote host to the local host name"
msgstr "Ustawienie hosta zdalnego PAM nazwÄ™ hosta lokalnego"
-#: plugins/sudoers/def_data.c:566
+#: plugins/sudoers/def_data.c:572
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Katalog roboczy do zmiany przed uruchomieniem polecenia: %s"
-#: plugins/sudoers/def_data.c:570
+#: plugins/sudoers/def_data.c:576
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Katalog główny do zmiany przed uruchomieniem polecenia: %s"
-#: plugins/sudoers/def_data.c:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Format logów do tworzenia: %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "Włączenie obsługi RBAC SELinux"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Ścieżka do pliku tworzonego przy pierwszym uruchomieniu sudo: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
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:590
+#: plugins/sudoers/def_data.c:596
msgid "Log sub-commands run by the original command"
msgstr "Logowanie podpoleceń uruchamianych przez pierwotne polecenie"
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "Logowanie stanu wyjścia poleceń"
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Dalsze polecenia w przechwyconej sesji muszą być uwierzytelniane"
-#: plugins/sudoers/def_data.c:602
+#: plugins/sudoers/def_data.c:608
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Zezwolenie na uruchamianie programów setuid lub setgid z przechwyconego polecenia"
-#: plugins/sudoers/def_data.c:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "Maksymalny rozmiar, do jakiego może rosnąć przestrzeń adresowa procesu (w bajtach): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Maksymalny rozmiar pliku core, jaki może być utworzony (w bajtach): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Maksymalna ilość czasu CPU, jaką proces może użyć (w sekundach): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "Maksymalny rozmiar segmentu danych procesu (w bajtach): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Maksymalny rozmiar pliku, jaki proces może utworzyć (w bajtach): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Maksymalna liczba blokad, jaką proces może ustanowić: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "Maksymalny rozmiar, jaki proces może zablokować w pamięci (w bajtach): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Maksymalna liczba plików, jaką proces może mieć otwartych: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Maksymalna liczba procesów, jaką użytkownik może jednocześnie uruchomić: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "Maksymalny rozmiar, do jakiego może urosnąć rozmiar rezydentny procesu (w bajtach): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "Maksymalny rozmiar, do jakiego może urosnąć stos procesu (w bajtach): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
msgid "Attempt authentication even when in non-interactive mode"
msgstr "Próba uwierzytelnienia nawet w trybie nieinteraktywnym"
-#: plugins/sudoers/def_data.c:654
+#: plugins/sudoers/def_data.c:660
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:658
+#: plugins/sudoers/def_data.c:664
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/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: nieznany wpis domyślny \"%s\""
-
-#: plugins/sudoers/defaults.c:242
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: nie podano wartości dla \"%s\""
+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/defaults.c:245
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: nie podano wartości dla \"%s\""
+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/defaults.c:258
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: błędny operator \"%c=\" dla \"%s\""
+msgid "unknown defaults entry \"%s\""
+msgstr "nieznany wpis domyślny \"%s\""
-#: plugins/sudoers/defaults.c:261
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: błędny operator \"%c=\" dla \"%s\""
+msgid "no value specified for \"%s\""
+msgstr "nie podano wartości dla \"%s\""
-#: plugins/sudoers/defaults.c:297
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: opcja \"%s\" nie przyjmuje wartości"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "błędny operator \"%c=\" dla \"%s\""
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: opcja \"%s\" nie przyjmuje wartości"
+msgid "option \"%s\" does not take a value"
+msgstr "opcja \"%s\" nie przyjmuje wartości"
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: błędny typ Defaults 0x%x dla opcji \"%s\""
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "błędny typ Defaults 0x%x dla opcji \"%s\""
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: 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:341
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: błędna wartość \"%s\" dla opcji \"%s\""
-
-#: plugins/sudoers/defaults.c:344
-#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: błędna wartość \"%s\" dla opcji \"%s\""
-
-#: plugins/sudoers/defaults.c:1161
-#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: ścieżka pliku \"%s\" zbyt długa"
-
-#: plugins/sudoers/defaults.c:1164
-#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: ścieżka pliku \"%s\" zbyt długa"
-
-#: plugins/sudoers/defaults.c:1175
-#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: wartości \"%s\" muszą zaczynać się od '/', '~' lub '*'"
-
-#: plugins/sudoers/defaults.c:1179
-#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: wartości \"%s\" muszą zaczynać się od '/', '~' lub '*'"
+msgid "path name for \"%s\" too long"
+msgstr "ścieżka pliku \"%s\" zbyt długa"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: wartości \"%s\" muszą zaczynać się od '/'"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "wartości \"%s\" muszą zaczynać się od '/', '~' lub '*'"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: wartości \"%s\" muszą zaczynać się od '/'"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "wartości \"%s\" muszą zaczynać się od '/'"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2615,16 +2582,6 @@ msgstr "nie udało się przebudować środowiska"
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"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "błąd składni w %s w okolicy linii %d"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "błąd składni w %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2674,37 +2631,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:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "nie udało się uaktualnić pliku sekwencji"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "nie udało się zapisać do pliku logu we/wy: %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "nie udało się utworzyć %s/%s"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: błąd wewnętrzny, plik logu we/wy dla zdarzenia %d nie jest otwarty"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "nie udało się odczytać zegara"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: błąd wewnętrzny, błędny sygnał %d"
@@ -2723,16 +2680,16 @@ msgstr "nie udało się zainicjować bazy certyfikatów i kluczy SSL: %s"
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "aby używać SSL, trzeba ustawić TLS_CERT w %s"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "nie udało się zainicjować LDAP: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "wybrano start_tls, ale biblioteki LDAP nie obsługują ldap_start_tls_s() ani ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "błędny atrybut sudoOrder: %s"
@@ -2772,8 +2729,8 @@ msgstr "nie udało się otworzyć systemu audytowego"
msgid "unable to send audit message"
msgstr "nie udało się wysłać komunikatu audytowego"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "błąd w pętli zdarzeń"
@@ -2782,101 +2739,101 @@ msgstr "błąd w pętli zdarzeń"
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:223
+#: plugins/sudoers/log_client.c:225
#, 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:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "nie udało się załadować certyfikatu %s"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "nie udało się załadować klucza prywatnego %s"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Nie udało się przydzielić obiektu SSL: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "Połączenie TLS do %s:%s nie powiodło się: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "Inicjowanie TLS nie powiodło się"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "Powitanie TLS nie powiodło się"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, 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:1608
-msgid "unable to unpack ServerMessage"
-msgstr "nie udało się rozpakować ServerMessage"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "utracono połączenie z serwerem logów"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "brak bufora zapisu"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "nie udało się połączyć z serwerem logów"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "użytkownik NIE występuje w sudoers"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "użytkownik NIE jest autoryzowany na hoście"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "polecenie niedozwolone"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s nie jest w pliku sudoers.\n"
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:326
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s nie ma uprawnień do uruchamiania sudo na %s.\n"
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Niestety użytkownik %s nie może uruchamiać sudo na %s.\n"
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Niestety użytkownik %s nie ma uprawnień do uruchamiania '%s%s%s' jako %s%s%s na %s.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Ten incydent został zgłoszony do administratora.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: nie znaleziono polecenia"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2885,7 +2842,7 @@ msgstr ""
"zignorowano plik \"%s\" znaleziony w '.'\n"
"Proszę użyć \"sudo ./%s\", jeśli to \"%s\" ma być uruchomiony."
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:395
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
@@ -2893,33 +2850,39 @@ 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:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "błąd uwierzytelniania"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "wymagane jest hasło"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "problem przy analizie pliku sudoers"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "nie udało się zapisać pliku logu: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "skrót dla %s (%s) ma błędną długość %zu, oczekiwano %zu"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "skrót dla %s (%s) nie jest w postaci %s"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "SELinux RBAC nie jest obsługiwane przy włączonym trybie przechwytywania"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "SELinux RBAC nie jest obsługiwane przy włączonej fladze log_subcmds"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2928,7 +2891,7 @@ msgstr ""
"\n"
"Rola LDAP: %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2936,38 +2899,38 @@ msgstr ""
"\n"
"Wpis sudoers:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " Jako użytkownicy: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " Jako grupy: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Opcje: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Polecenia:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "PasujÄ…ce wpisy Defaults dla %s na %s:\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Wartości specyficzne dla Runas i Command dla %s:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Użytkownik %s może uruchamiać na %s następujące polecenia:\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, 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"
@@ -2987,64 +2950,59 @@ msgstr "błędny atrybut LDIF: %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "błędna wartość %.*s ustawiona przez frontend sudo"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "ścieżka pliku \"%s\" zbyt długa"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "nie udało się przeanalizować listy adresów sieciowych"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr "nazwa użytkownika nie ustawiona przez frontend sudo"
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
msgstr "ID użytkownika nie ustawiony przez frontend sudo"
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr "ID grupy nie ustawiony przez frontend sudo"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
msgid "host name not set by sudo front-end"
msgstr "nazwa hosta nie ustawiona przez frontend sudo"
-#: plugins/sudoers/policy.c:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "błędny katalog roboczy: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "błędny katalog chroot: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "nie udało się wywołać %s"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: błędne flagi trybu z frontendu sudo: 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Wersja wtyczki polityki sudoers %s\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Wersja gramatyki pliku sudoers %d\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3053,27 +3011,27 @@ msgstr ""
"\n"
"Ścieżka do sudoers: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "ścieżka do nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ścieżka do ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ścieżka do ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "nie udało się zarejestrować uchwytu typu %d (wersja %d.%d)"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "nie udało się wyrejestrować uchwytu typu %d (wersja %d.%d)"
@@ -3212,149 +3170,148 @@ msgstr "nie udało się zainicjować źródła SSS. Czy SSSD jest zainstalowany
msgid "unable to find symbol \"%s\" in %s"
msgstr "nie udało się odnaleźć symbolu \"%s\" w %s"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "problem z wpisami domyślnymi"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "nie udało się pobrać wartości domyślnych z %s"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "nie znaleziono poprawnych źródeł sudoers, zakończenie"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "użytkownik nie ma uprawnień do zmiany katalogu głównego na %s"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "brak uprawnień do używania opcji -R z %s"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "użytkownik nie ma uprawnień do zmiany katalogu na %s"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "brak uprawnień do używania opcji -D z %s"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "nie podano polecenia"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "wg sudoers root nie ma prawa używać sudo"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "użytkownik nie ma pozwolenia na zmianę limitu closefrom"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "brak uprawnień do używania opcji -C"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "właściciel znacznika czasu (%s): nie ma takiego użytkownika"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "brak tty"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "niestety do uruchomienia sudo konieczny jest tty"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "błędna powłoka użytkownika %s: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "polecenie w bieżącym katalogu"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "\"cd\" to polecenie wbudowane powłoki, nie może być uruchomione bezpośrednio."
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
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:643
+#: plugins/sudoers/sudoers.c:657
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:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr "użytkownik nie ma uprawnień do ustawienia limitu czasu polecenia"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
msgid "sorry, you are not allowed set a command timeout"
msgstr "niestety brak uprawnień do ustawienia limitu czasu polecenia"
-#: plugins/sudoers/sudoers.c:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "użytkownik nie ma uprawnień do zachowania środowiska"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr "niestety brak uprawnień do zachowania środowiska"
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit nie musi być uruchamiany przez sudo"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "nie udało się odczytać %s"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "nie udało się wykonać stat na %s"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "%s nie jest zwykłym plikiem"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "właścicielem %s jest uid %u, powinien być %u"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s jest zapisywalny dla świata"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "właścicielem %s jest gid %u, powinien być %u"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "tylko root może używać \"-c %s\""
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "nieznana klasa logowania %s"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "nie udało się rozwiązać nazwy hosta %s"
@@ -3560,99 +3517,94 @@ msgstr "ścieżka stanu instrukcji zbyt długa: %s/%s"
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit nie powinien być podawany ze ścieżką"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "opcja -x będzie usunięta w kolejnej wersji"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "należy rozważyć użycie zamiast niej narzędzia cvtsudoers"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "wciśnięcie return przejdzie do edycji %s: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "zawartość sesji edycji pozostawiona w %s"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "podany edytor (%s) nie istnieje"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "nie znaleziono edytora (ścieżka = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "błąd zapisu"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "nie udało się wykonać stat na pliku tymczasowym (%s), %s nie zmieniony"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "plik tymczasowy (%s) zerowej długości, %s nie zmieniony"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "błąd edytora (%s), %s nie zmieniony"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s nie zmieniony"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "nie udało się ponownie otworzyć pliku tymczasowego (%s), %s nie zmieniony."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "nie udało się przeanalizować pliku tymczasowego (%s), nieznany błąd"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "błąd wewnętrzny, nie znaleziono %s na liście!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "nie udało się ustawić (uid, gid) %s na (%u, %u)"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s i %s nie są na tym samym systemie plików, użycie mv do zmiany nazwy"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "polecenie nie powiodło się: '%s %s %s', %s nie zmieniony"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "błąd podczas zmiany nazwy %s, %s nie zmieniony"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Co teraz? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3664,41 +3616,41 @@ msgstr ""
" (x) wyjście bez zapisu zmian do pliku sudoers\n"
" (Q) wyjście i zapisanie zmian w pliku sudoers (NIEBEZPIECZNE!)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "nie udało się uruchomić %s"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: błędny właściciel, (uid, gid) powinny wynosić (%u, %u)\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: błędne uprawnienia, powinny być 0%o\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: składnia poprawna\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%s zajęty, proszę spróbować później"
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Modyfikować mimo to? [y/N]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Uwaga: %s:%d:%d: nie użyty %s \"%s\""
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3707,7 +3659,7 @@ msgstr ""
"%s - bezpieczna edycja pliku sudoers\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3751,10 +3703,10 @@ msgstr "błędna kontynuacja linii"
msgid "invalid IPv6 address"
msgstr "błędny adres IPv6"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "nieoczekiwany koniec linii w łańcuchu"
-#: toke.l:1210
+#: toke.l:1218
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 bc951b4ea..0f59bc499 100644
--- a/plugins/sudoers/po/ro.mo
+++ b/plugins/sudoers/po/ro.mo
Binary files differ
diff --git a/plugins/sudoers/po/ro.po b/plugins/sudoers/po/ro.po
index c620f5b18..ded6a7538 100644
--- a/plugins/sudoers/po/ro.po
+++ b/plugins/sudoers/po/ro.po
@@ -1,25 +1,34 @@
# Portable object template file for the sudoers plugin
# This file is put in the public domain.
# Todd C. Miller <Todd.Miller@sudo.ws>, 2011-2018
+# This file is distributed under the same license as the sudo package.
+#
# Florentina Mușat <florentina.musat.28@gmail.com>, 2020.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022.
+#
+# Cronologia traducerii fiÈ™ierului „sudoersâ€:
+# Traducera inițială, făcută de FM, pentru versiunea sudoers 1.9.2rc1.
+# Actualizare a algoritmului formelor de plural (de la „trei-vechi†la „patruâ€, experimental).
+# Actualizare a traducerii pentru versiunea 1.9.10b1, făcută de R-GC.
+# Actualizare a traducerii pentru versiunea 1.9.11b1, făcută de R-GC.
#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.2rc1\n"
+"Project-Id-Version: sudoers 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2020-06-24 05:35-0600\n"
-"PO-Revision-Date: 2020-07-16 17:56+0200\n"
-"Last-Translator: Florentina Mușat <florentina.musat.28@gmail.com>\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 21:04+0200\n"
+"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"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 2.3.1\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && n%100<=19) ? 1 : 2);\n"
+"X-Generator: Poedit 3.0.1\n"
-#: confstr.sh:1
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "eroare de sintaxă"
@@ -29,11 +38,11 @@ msgstr "parola lui %p: "
#: confstr.sh:3
msgid "[sudo] password for %p: "
-msgstr "[sudo] parolă pentru %p: "
+msgstr "[sudo] parola pentru %p: "
#: confstr.sh:4
msgid "Password: "
-msgstr "Parolă: "
+msgstr "Parola: "
#: confstr.sh:5
msgid "*** SECURITY information for %h ***"
@@ -43,1016 +52,1567 @@ msgstr "*** Informații de SECURITATE pentru %h ***"
msgid "Sorry, try again."
msgstr "Încercați din nou."
-#: gram.y:203 gram.y:251 gram.y:258 gram.y:265 gram.y:272 gram.y:279
-#: gram.y:295 gram.y:319 gram.y:326 gram.y:333 gram.y:340 gram.y:347
-#: gram.y:410 gram.y:419 gram.y:430 gram.y:463 gram.y:470 gram.y:477
-#: gram.y:484 gram.y:511 gram.y:583 gram.y:590 gram.y:599 gram.y:608
-#: gram.y:625 gram.y:737 gram.y:744 gram.y:752 gram.y:758 gram.y:858
-#: gram.y:865 gram.y:872 gram.y:879 gram.y:886 gram.y:912 gram.y:919
-#: gram.y:926 gram.y:1068 gram.y:1347 lib/iolog/iolog_fileio.c:1101
-#: lib/iolog/iolog_json.c:120 lib/iolog/iolog_json.c:283
-#: lib/iolog/iolog_json.c:313 lib/iolog/iolog_json.c:435
-#: lib/iolog/iolog_util.c:106 lib/iolog/iolog_util.c:115
-#: lib/iolog/iolog_util.c:125 lib/iolog/iolog_util.c:133
-#: lib/iolog/iolog_util.c:137 lib/iolog/iolog_util.c:196
-#: logsrvd/eventlog.c:223 logsrvd/sendlog.c:443 plugins/sudoers/alias.c:125
-#: plugins/sudoers/alias.c:132 plugins/sudoers/alias.c:148
-#: plugins/sudoers/audit.c:108 plugins/sudoers/audit.c:212
-#: plugins/sudoers/auth/bsdauth.c:143 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:144 plugins/sudoers/auth/pam.c:669
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
+#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
+#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
+#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
+#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
+#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
+#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
+#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
+#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
+#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
+#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
+#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
+#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
+#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
+#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
+#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
+#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
+#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
+#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
+#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
+#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
+#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
+#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/cvtsudoers.c:120 plugins/sudoers/cvtsudoers.c:161
-#: plugins/sudoers/cvtsudoers.c:178 plugins/sudoers/cvtsudoers.c:189
-#: plugins/sudoers/cvtsudoers.c:301 plugins/sudoers/cvtsudoers.c:429
-#: plugins/sudoers/cvtsudoers.c:562 plugins/sudoers/cvtsudoers.c:579
-#: plugins/sudoers/cvtsudoers.c:642 plugins/sudoers/cvtsudoers.c:757
-#: plugins/sudoers/cvtsudoers.c:765 plugins/sudoers/cvtsudoers.c:1179
-#: plugins/sudoers/cvtsudoers.c:1183 plugins/sudoers/cvtsudoers.c:1285
+#: 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:371
-#: plugins/sudoers/cvtsudoers_ldif.c:426 plugins/sudoers/cvtsudoers_ldif.c:434
-#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:460
-#: plugins/sudoers/cvtsudoers_ldif.c:607 plugins/sudoers/defaults.c:626
-#: plugins/sudoers/defaults.c:919 plugins/sudoers/defaults.c:1052
-#: plugins/sudoers/editor.c:66 plugins/sudoers/editor.c:84
-#: plugins/sudoers/editor.c:95 plugins/sudoers/env.c:261
+#: 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:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
+#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:56 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:72 plugins/sudoers/iolog.c:483
-#: plugins/sudoers/iolog_client.c:105 plugins/sudoers/iolog_client.c:382
-#: plugins/sudoers/iolog_client.c:559 plugins/sudoers/iolog_client.c:678
-#: plugins/sudoers/iolog_client.c:696 plugins/sudoers/iolog_client.c:1176
-#: plugins/sudoers/iolog_client.c:1405 plugins/sudoers/iolog_client.c:1723
-#: plugins/sudoers/iolog_client.c:1751 plugins/sudoers/ldap.c:183
-#: plugins/sudoers/ldap.c:421 plugins/sudoers/ldap.c:431
-#: plugins/sudoers/ldap.c:436 plugins/sudoers/ldap.c:440
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:743
-#: plugins/sudoers/ldap.c:907 plugins/sudoers/ldap.c:1279
-#: plugins/sudoers/ldap.c:1706 plugins/sudoers/ldap.c:1743
-#: plugins/sudoers/ldap.c:1824 plugins/sudoers/ldap.c:1959
-#: plugins/sudoers/ldap.c:2060 plugins/sudoers/ldap.c:2076
-#: plugins/sudoers/ldap_conf.c:218 plugins/sudoers/ldap_conf.c:249
-#: plugins/sudoers/ldap_conf.c:301 plugins/sudoers/ldap_conf.c:337
-#: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456
-#: plugins/sudoers/ldap_conf.c:553 plugins/sudoers/ldap_conf.c:586
-#: plugins/sudoers/ldap_conf.c:678 plugins/sudoers/ldap_conf.c:760
-#: plugins/sudoers/ldap_util.c:326 plugins/sudoers/ldap_util.c:333
-#: plugins/sudoers/ldap_util.c:598 plugins/sudoers/linux_audit.c:83
-#: plugins/sudoers/logging.c:103 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:519 plugins/sudoers/logging.c:545
-#: plugins/sudoers/logging.c:586 plugins/sudoers/logging.c:723
-#: plugins/sudoers/logging.c:1083 plugins/sudoers/match_command.c:243
-#: plugins/sudoers/match_command.c:391 plugins/sudoers/match_command.c:438
-#: plugins/sudoers/match_command.c:509 plugins/sudoers/match_digest.c:80
-#: plugins/sudoers/parse.c:193 plugins/sudoers/parse.c:205
-#: plugins/sudoers/parse.c:220 plugins/sudoers/parse.c:232
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:594 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:491
-#: plugins/sudoers/policy.c:823 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:191 plugins/sudoers/pwutil.c:262
-#: plugins/sudoers/pwutil.c:340 plugins/sudoers/pwutil.c:514
-#: plugins/sudoers/pwutil.c:578 plugins/sudoers/pwutil.c:649
-#: plugins/sudoers/pwutil.c:808 plugins/sudoers/pwutil.c:865
-#: plugins/sudoers/pwutil.c:909 plugins/sudoers/pwutil.c:967
-#: plugins/sudoers/sssd.c:146 plugins/sudoers/sssd.c:409
-#: plugins/sudoers/sssd.c:472 plugins/sudoers/sssd.c:516
-#: plugins/sudoers/sssd.c:563 plugins/sudoers/sssd.c:755
-#: plugins/sudoers/stubs.c:96 plugins/sudoers/stubs.c:104
-#: plugins/sudoers/sudoers.c:316 plugins/sudoers/sudoers.c:327
-#: plugins/sudoers/sudoers.c:337 plugins/sudoers/sudoers.c:380
-#: plugins/sudoers/sudoers.c:720 plugins/sudoers/sudoers.c:849
-#: plugins/sudoers/sudoers.c:894 plugins/sudoers/sudoers.c:1198
-#: plugins/sudoers/sudoreplay.c:553 plugins/sudoers/sudoreplay.c:556
-#: plugins/sudoers/sudoreplay.c:1260 plugins/sudoers/sudoreplay.c:1470
-#: plugins/sudoers/sudoreplay.c:1474 plugins/sudoers/testsudoers.c:128
-#: plugins/sudoers/testsudoers.c:228 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/testsudoers.c:581 plugins/sudoers/timestamp.c:432
-#: plugins/sudoers/timestamp.c:476 plugins/sudoers/timestamp.c:986
-#: plugins/sudoers/toke_util.c:51 plugins/sudoers/toke_util.c:104
-#: plugins/sudoers/toke_util.c:129 plugins/sudoers/toke_util.c:157
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:146
-#: plugins/sudoers/visudo.c:322 plugins/sudoers/visudo.c:328
-#: plugins/sudoers/visudo.c:438 plugins/sudoers/visudo.c:616
-#: plugins/sudoers/visudo.c:936 plugins/sudoers/visudo.c:1024
-#: plugins/sudoers/visudo.c:1121 toke.l:864 toke.l:981 toke.l:1039
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
+#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
+#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
+#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "nu se poate aloca memoria"
-#: gram.y:505
+#: gram.y:622
msgid "a digest requires a path name"
-msgstr "o publicație informativă necesită un nume de cale"
+msgstr "tabelul sumelor de control necesită un nume de cale"
+
+#: gram.y:644
+msgid "values for \"CWD\" must start with a '/', '~', or '*'"
+msgstr "valorile pentru „CWD†trebuie să înceapă cu un caracter: „/â€, „~â€, sau „*â€"
+
+#: gram.y:650
+msgid "\"CWD\" path too long"
+msgstr "calea „CWD†este prea lungă"
+
+#: gram.y:660
+msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
+msgstr "valorile pentru „CHROOT†trebuie să înceapă cu un caracter: „/â€, „~â€, sau „*â€"
-#: gram.y:638
+#: gram.y:666
+msgid "\"CHROOT\" path too long"
+msgstr "calea „CHROOT†este prea lungă"
+
+#: gram.y:801
+#, c-format
+msgid "syntax error, reserved word %s used as an alias name"
+msgstr "eroare de sintaxă, cuvântul rezervat %s utilizat ca nume de alias"
+
+#: gram.y:824
msgid "invalid notbefore value"
-msgstr "valoare nu-înainte nevalidă"
+msgstr "valoare „notbefore†nevalidă"
-#: gram.y:646
+#: gram.y:833
msgid "invalid notafter value"
-msgstr "valoare nu-după nevalidă"
+msgstr "valoare „notafter†nevalidă"
-#: gram.y:655 plugins/sudoers/policy.c:306
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "limită de timp prea mare"
-#: gram.y:657 plugins/sudoers/policy.c:308
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "valoare de limită de timp nevalidă"
-#: gram.y:1347 lib/iolog/iolog_fileio.c:1101 lib/iolog/iolog_json.c:120
-#: lib/iolog/iolog_json.c:282 lib/iolog/iolog_json.c:313
-#: lib/iolog/iolog_json.c:435 lib/iolog/iolog_json.c:713
-#: lib/iolog/iolog_util.c:106 lib/iolog/iolog_util.c:115
-#: lib/iolog/iolog_util.c:125 lib/iolog/iolog_util.c:133
-#: lib/iolog/iolog_util.c:137 lib/iolog/iolog_util.c:196
-#: logsrvd/eventlog.c:223 logsrvd/logsrvd.c:1208 logsrvd/logsrvd.c:1221
-#: logsrvd/logsrvd.c:1266 logsrvd/sendlog.c:443 logsrvd/sendlog.c:1302
-#: logsrvd/sendlog.c:1309 logsrvd/sendlog.c:1727 plugins/sudoers/audit.c:108
-#: plugins/sudoers/audit.c:212 plugins/sudoers/auth/pam.c:482
-#: plugins/sudoers/auth/pam.c:669 plugins/sudoers/auth/rfc1938.c:111
-#: plugins/sudoers/cvtsudoers.c:120 plugins/sudoers/cvtsudoers.c:160
-#: plugins/sudoers/cvtsudoers.c:177 plugins/sudoers/cvtsudoers.c:188
-#: plugins/sudoers/cvtsudoers.c:300 plugins/sudoers/cvtsudoers.c:428
-#: plugins/sudoers/cvtsudoers.c:561 plugins/sudoers/cvtsudoers.c:578
-#: plugins/sudoers/cvtsudoers.c:642 plugins/sudoers/cvtsudoers.c:757
-#: plugins/sudoers/cvtsudoers.c:764 plugins/sudoers/cvtsudoers.c:1179
-#: plugins/sudoers/cvtsudoers.c:1183 plugins/sudoers/cvtsudoers.c:1285
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:370
-#: plugins/sudoers/cvtsudoers_ldif.c:425 plugins/sudoers/cvtsudoers_ldif.c:433
-#: plugins/sudoers/cvtsudoers_ldif.c:450 plugins/sudoers/cvtsudoers_ldif.c:459
-#: plugins/sudoers/cvtsudoers_ldif.c:606 plugins/sudoers/defaults.c:626
-#: plugins/sudoers/defaults.c:919 plugins/sudoers/defaults.c:1052
-#: plugins/sudoers/editor.c:66 plugins/sudoers/editor.c:84
-#: plugins/sudoers/editor.c:95 plugins/sudoers/env.c:261
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
+msgid "command too long"
+msgstr "comandă prea lungă"
+
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
+#, c-format
+msgid "%s:%d:%d: %s\n"
+msgstr "%s:%d:%d: %s\n"
+
+#: gram.y:1270
+#, c-format
+msgid "Alias \"%s\" already defined"
+msgstr "Aliasul „%s†este deja definit"
+
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
+#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
+#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
+#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
+#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
+#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
+#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
+#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
+#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
+#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
+#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
+#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
+#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
+#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
+#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
+#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
+#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
+#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
+#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
+#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
+#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
+#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
+#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
+#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
+#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
+#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
+#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
+#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
+#: 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:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
+#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:56 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:72 plugins/sudoers/iolog.c:483
-#: plugins/sudoers/iolog_client.c:105 plugins/sudoers/iolog_client.c:215
-#: plugins/sudoers/iolog_client.c:236 plugins/sudoers/iolog_client.c:249
-#: plugins/sudoers/iolog_client.c:382 plugins/sudoers/iolog_client.c:678
-#: plugins/sudoers/iolog_client.c:696 plugins/sudoers/iolog_client.c:1176
-#: plugins/sudoers/iolog_client.c:1405 plugins/sudoers/iolog_client.c:1723
-#: plugins/sudoers/iolog_client.c:1751 plugins/sudoers/ldap.c:183
-#: plugins/sudoers/ldap.c:421 plugins/sudoers/ldap.c:431
-#: plugins/sudoers/ldap.c:436 plugins/sudoers/ldap.c:440
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:743
-#: plugins/sudoers/ldap.c:907 plugins/sudoers/ldap.c:1279
-#: plugins/sudoers/ldap.c:1706 plugins/sudoers/ldap.c:1743
-#: plugins/sudoers/ldap.c:1824 plugins/sudoers/ldap.c:1959
-#: plugins/sudoers/ldap.c:2060 plugins/sudoers/ldap.c:2076
-#: plugins/sudoers/ldap_conf.c:218 plugins/sudoers/ldap_conf.c:249
-#: plugins/sudoers/ldap_conf.c:301 plugins/sudoers/ldap_conf.c:337
-#: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456
-#: plugins/sudoers/ldap_conf.c:553 plugins/sudoers/ldap_conf.c:586
-#: plugins/sudoers/ldap_conf.c:677 plugins/sudoers/ldap_conf.c:760
-#: plugins/sudoers/ldap_util.c:325 plugins/sudoers/ldap_util.c:332
-#: plugins/sudoers/ldap_util.c:598 plugins/sudoers/linux_audit.c:83
-#: plugins/sudoers/logging.c:103 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:519 plugins/sudoers/logging.c:545
-#: plugins/sudoers/logging.c:585 plugins/sudoers/logging.c:1083
-#: plugins/sudoers/match_command.c:242 plugins/sudoers/match_command.c:390
-#: plugins/sudoers/match_command.c:437 plugins/sudoers/match_command.c:509
-#: plugins/sudoers/match_digest.c:80 plugins/sudoers/parse.c:192
-#: plugins/sudoers/parse.c:204 plugins/sudoers/parse.c:219
-#: plugins/sudoers/parse.c:231 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
+#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
+#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
+#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
+#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:259 plugins/sudoers/parse_ldif.c:264
-#: plugins/sudoers/parse_ldif.c:340 plugins/sudoers/parse_ldif.c:351
-#: plugins/sudoers/parse_ldif.c:378 plugins/sudoers/parse_ldif.c:395
-#: plugins/sudoers/parse_ldif.c:407 plugins/sudoers/parse_ldif.c:411
-#: plugins/sudoers/parse_ldif.c:425 plugins/sudoers/parse_ldif.c:594
-#: plugins/sudoers/parse_ldif.c:623 plugins/sudoers/parse_ldif.c:648
-#: plugins/sudoers/parse_ldif.c:706 plugins/sudoers/parse_ldif.c:723
-#: plugins/sudoers/parse_ldif.c:751 plugins/sudoers/parse_ldif.c:758
-#: plugins/sudoers/policy.c:120 plugins/sudoers/policy.c:129
-#: plugins/sudoers/policy.c:138 plugins/sudoers/policy.c:164
-#: plugins/sudoers/policy.c:291 plugins/sudoers/policy.c:306
-#: plugins/sudoers/policy.c:308 plugins/sudoers/policy.c:337
-#: plugins/sudoers/policy.c:346 plugins/sudoers/policy.c:389
-#: plugins/sudoers/policy.c:399 plugins/sudoers/policy.c:408
-#: plugins/sudoers/policy.c:417 plugins/sudoers/policy.c:491
-#: plugins/sudoers/policy.c:823 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:191 plugins/sudoers/pwutil.c:262
-#: plugins/sudoers/pwutil.c:340 plugins/sudoers/pwutil.c:514
-#: plugins/sudoers/pwutil.c:578 plugins/sudoers/pwutil.c:649
-#: plugins/sudoers/pwutil.c:808 plugins/sudoers/pwutil.c:865
-#: plugins/sudoers/pwutil.c:909 plugins/sudoers/pwutil.c:967
-#: plugins/sudoers/set_perms.c:359 plugins/sudoers/set_perms.c:698
-#: plugins/sudoers/set_perms.c:1061 plugins/sudoers/set_perms.c:1364
-#: plugins/sudoers/set_perms.c:1529 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:409 plugins/sudoers/sssd.c:472
-#: plugins/sudoers/sssd.c:516 plugins/sudoers/sssd.c:563
-#: plugins/sudoers/sssd.c:755 plugins/sudoers/stubs.c:96
-#: plugins/sudoers/stubs.c:104 plugins/sudoers/sudoers.c:316
-#: plugins/sudoers/sudoers.c:327 plugins/sudoers/sudoers.c:337
-#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:720
-#: plugins/sudoers/sudoers.c:849 plugins/sudoers/sudoers.c:894
-#: plugins/sudoers/sudoers.c:1198 plugins/sudoers/sudoreplay.c:553
-#: plugins/sudoers/sudoreplay.c:556 plugins/sudoers/sudoreplay.c:1260
-#: plugins/sudoers/sudoreplay.c:1470 plugins/sudoers/sudoreplay.c:1474
-#: plugins/sudoers/testsudoers.c:128 plugins/sudoers/testsudoers.c:228
-#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:432 plugins/sudoers/timestamp.c:476
-#: plugins/sudoers/timestamp.c:986 plugins/sudoers/toke_util.c:51
-#: plugins/sudoers/toke_util.c:104 plugins/sudoers/toke_util.c:128
-#: plugins/sudoers/toke_util.c:157 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:146 plugins/sudoers/visudo.c:322
-#: plugins/sudoers/visudo.c:328 plugins/sudoers/visudo.c:438
-#: plugins/sudoers/visudo.c:616 plugins/sudoers/visudo.c:936
-#: plugins/sudoers/visudo.c:1024 plugins/sudoers/visudo.c:1121 toke.l:864
-#: toke.l:981 toke.l:1039
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: lib/iolog/iolog_fileio.c:157
+#: 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:326
+#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/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 "%s exists but is not a directory (0%o)"
-msgstr "%s există dar nu este un director (0%o)"
+msgid "internal error, %s overflow"
+msgstr "eroare internă, depășire de %s"
-#: lib/iolog/iolog_fileio.c:187 lib/iolog/iolog_fileio.c:233
-#: plugins/sudoers/timestamp.c:205
+#: lib/eventlog/eventlog.c:373
#, c-format
-msgid "unable to mkdir %s"
-msgstr "nu se poate mkdir %s"
+msgid "unable to dup stdin: %m"
+msgstr "nu se poate duplica stdin: %m"
-#: lib/iolog/iolog_fileio.c:237 plugins/sudoers/visudo.c:733
-#: plugins/sudoers/visudo.c:744
+#: lib/eventlog/eventlog.c:415
#, c-format
-msgid "unable to change mode of %s to 0%o"
-msgstr "nu se poate modifica modul de %s la 0%o"
+msgid "unable to execute %s: %m"
+msgstr "nu se poate executa %s: %m"
+
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
+msgid "unable to fork"
+msgstr "nu se poate executa fork()"
+
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
+#, c-format
+msgid "unable to fork: %m"
+msgstr "nu se poate executa fork(): %m"
+
+#: lib/eventlog/eventlog.c:528
+#, c-format
+msgid "unable to open pipe: %m"
+msgstr "nu se poate deschide linia de legătură: %m"
+
+#: lib/eventlog/eventlog.c:1030
+#, c-format
+msgid "%8s : %s"
+msgstr "%8s : %s"
-#: lib/iolog/iolog_json.c:114
+#: lib/eventlog/eventlog.c:1059
+#, c-format
+msgid "%8s : (command continued) %s"
+msgstr "%8s : (comandă continuată) %s"
+
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
+#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
+#, c-format
+msgid "invalid regular expression \"%s\": %s"
+msgstr "expresie regulată nevalidă „%sâ€: %s"
+
+#: lib/iolog/iolog_json.c:140
#, c-format
msgid "expected JSON_STRING, got %d"
-msgstr "s-a așteptat JSON_STRING, s-a obținut %d"
+msgstr "se aștepta JSON_STRING, s-a obținut %d"
+
+#: lib/iolog/iolog_json.c:145
+msgid "JSON_ARRAY too large"
+msgstr "JSON_ARRAY este prea mare"
-#: lib/iolog/iolog_json.c:305
+#: lib/iolog/iolog_json.c:404
msgid "missing double quote in name"
-msgstr "lipsește un citat dublu în nume"
+msgstr "lipsesc ghilimelele duble din nume"
-#: lib/iolog/iolog_json.c:392
+#: lib/iolog/iolog_json.c:501
+msgid "missing JSON_OBJECT"
+msgstr "JSON_OBJECT lipsește"
+
+#: lib/iolog/iolog_json.c:505
#, c-format
msgid "expected JSON_OBJECT, got %d"
msgstr "s-a așteptat JSON_OBJECT, s-a obținut %d"
-#: lib/iolog/iolog_json.c:441 lib/iolog/iolog_json.c:444
-#: lib/iolog/iolog_json.c:446 lib/iolog/iolog_json.c:538
-#: logsrvd/eventlog.c:228 plugins/sudoers/cvtsudoers_ldif.c:244
-#: plugins/sudoers/cvtsudoers_ldif.c:251 plugins/sudoers/cvtsudoers_ldif.c:563
-#: plugins/sudoers/env.c:323 plugins/sudoers/env.c:330
-#: plugins/sudoers/env.c:435 plugins/sudoers/iolog.c:561
-#: plugins/sudoers/iolog.c:577 plugins/sudoers/ldap.c:516
-#: plugins/sudoers/ldap.c:747 plugins/sudoers/ldap.c:1080
-#: plugins/sudoers/ldap_conf.c:222 plugins/sudoers/ldap_conf.c:312
-#: plugins/sudoers/linux_audit.c:89 plugins/sudoers/logging.c:1088
-#: plugins/sudoers/policy.c:521 plugins/sudoers/policy.c:668
-#: plugins/sudoers/policy.c:678 plugins/sudoers/prompt.c:161
-#: plugins/sudoers/sudoers.c:916 plugins/sudoers/testsudoers.c:249
-#: plugins/sudoers/toke_util.c:169
+#: lib/iolog/iolog_json.c:661
#, c-format
-msgid "internal error, %s overflow"
-msgstr "eroare internă, supraplin %s"
+msgid "json stack exhausted (max %u frames)"
+msgstr "stiva json a fost epuizată (maxim %u cadre)"
+
+#: lib/iolog/iolog_json.c:735
+msgid "objects must consist of name:value pairs"
+msgstr "obiectele trebuie să fie formate din perechi nume:valoare"
-#: lib/iolog/iolog_json.c:607 lib/iolog/iolog_json.c:731
+#: lib/iolog/iolog_json.c:740 lib/iolog/iolog_json.c:771
+#: lib/iolog/iolog_json.c:815 lib/iolog/iolog_json.c:837
+#: lib/iolog/iolog_json.c:859 lib/iolog/iolog_json.c:881
+#: lib/iolog/iolog_json.c:903
+msgid "missing separator between values"
+msgstr "lipsește separatorul dintre valori"
+
+#: lib/iolog/iolog_json.c:755 lib/iolog/iolog_json.c:929
msgid "unmatched close brace"
-msgstr "paranteză de închidere desperecheată"
+msgstr "acoladă de închidere desperecheată"
-#: lib/iolog/iolog_json.c:616
+#: lib/iolog/iolog_json.c:766
msgid "unexpected array"
-msgstr "vector neașteptat"
+msgstr "matrice neașteptată"
-#: lib/iolog/iolog_json.c:629 lib/iolog/iolog_json.c:733
+#: lib/iolog/iolog_json.c:786 lib/iolog/iolog_json.c:932
msgid "unmatched close bracket"
-msgstr "paranteză pătrată închisă desperecheată"
+msgstr "paranteză dreaptă închisă desperecheată"
-#: lib/iolog/iolog_json.c:637
+#: lib/iolog/iolog_json.c:797
msgid "unexpected string"
msgstr "șir neașteptat"
-#: lib/iolog/iolog_json.c:647
+#: lib/iolog/iolog_json.c:808
msgid "missing colon after name"
-msgstr "lipsește două puncte după nume"
+msgstr "lipsesc două puncte „:†după nume"
-#: lib/iolog/iolog_json.c:658 lib/iolog/iolog_json.c:673
-#: lib/iolog/iolog_json.c:688
+#: lib/iolog/iolog_json.c:829 lib/iolog/iolog_json.c:851
msgid "unexpected boolean"
-msgstr "logic neașteptat"
+msgstr "valoare boleană neașteptată"
+
+#: lib/iolog/iolog_json.c:873
+msgid "unexpected null"
+msgstr "valoare null neașteptată"
-#: lib/iolog/iolog_json.c:704
+#: lib/iolog/iolog_json.c:894
msgid "unexpected number"
msgstr "număr neașteptat"
-#: lib/iolog/iolog_json.c:741
-#, c-format
-msgid "%s:%u unable to parse \"%s\""
-msgstr "%s:%u nu se poate parsa „%sâ€"
+#: lib/iolog/iolog_json.c:941
+msgid "parse error"
+msgstr "eroare de analizare"
-#: lib/iolog/iolog_util.c:71
+#: lib/iolog/iolog_legacy.c:65
#, c-format
msgid "%s: invalid log file"
-msgstr "%s: fișier de istoric nevalid"
+msgstr "%s: fișier de jurnal nevalid"
-#: lib/iolog/iolog_util.c:89
+#: lib/iolog/iolog_legacy.c:83
#, c-format
msgid "%s: time stamp field is missing"
msgstr "%s: câmpul marcaj de timp lipsește"
-#: lib/iolog/iolog_util.c:95
+#: lib/iolog/iolog_legacy.c:89
#, c-format
msgid "%s: time stamp %s: %s"
msgstr "%s: marcajul de timp %s: %s"
-#: lib/iolog/iolog_util.c:102
+#: lib/iolog/iolog_legacy.c:96
#, c-format
msgid "%s: user field is missing"
msgstr "%s: câmpul utilizator lipsește"
-#: lib/iolog/iolog_util.c:111
+#: lib/iolog/iolog_legacy.c:107
#, c-format
msgid "%s: runas user field is missing"
-msgstr "%s: câmpul de utilizator rulează-ca lipsește"
+msgstr "%s: câmpul de utilizator efectiv (rulează ca utilizatorul X) lipsește"
-#: lib/iolog/iolog_util.c:120
+#: lib/iolog/iolog_legacy.c:118
#, c-format
msgid "%s: runas group field is missing"
-msgstr "%s: câmpul de grup rulează-ca lipsește"
+msgstr "%s: câmpul de grup efectiv (rulează ca grupul X) lipsește"
+
+#: lib/iolog/iolog_mkdirs.c:89
+#, c-format
+msgid "%s exists but is not a directory (0%o)"
+msgstr "%s există dar nu este un director (0%o)"
-#: lib/iolog/iolog_util.c:419
+#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
+#, c-format
+msgid "unable to mkdir %s"
+msgstr "nu s-a putut executa «mkdir», pentru a crea directorul %s"
+
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
+#, c-format
+msgid "unable to change mode of %s to 0%o"
+msgstr "nu s-a putut modifica modul de acces de la %s la 0%o"
+
+#: lib/iolog/iolog_timing.c:261
#, c-format
msgid "error reading timing file: %s"
msgstr "eroare la citirea fișierului de sincronizare: %s"
-#: lib/iolog/iolog_util.c:426
+#: lib/iolog/iolog_timing.c:268
#, c-format
msgid "invalid timing file line: %s"
msgstr "linie de fișier de sincronizare nevalidă: %s"
-#: logsrvd/eventlog.c:430 plugins/sudoers/logging.c:112
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
+msgid "unable to generate UUID"
+msgstr "nu s-a putut genera UUID-ul"
+
+#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
+#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
+#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
+#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
+#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
+#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
+#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
+#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
#, c-format
-msgid "%8s : %s"
-msgstr "%8s : %s"
+msgid "%s: protocol error: wrong type for %s"
+msgstr "%s: eroare de protocol: tip incorect pentru %s"
-#: logsrvd/eventlog.c:459 plugins/sudoers/logging.c:136
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
+#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
#, c-format
-msgid "%8s : (command continued) %s"
-msgstr "%8s : (comandă continuată) %s"
+msgid "%s: protocol error: %s missing from AcceptMessage"
+msgstr "%s: eroare de protocol: lipsește %s din AcceptMessage"
-#: logsrvd/iolog_writer.c:936
-msgid "log is already complete, cannot be restarted"
-msgstr "istoricul este deja complet, nu poate fi repornit"
+#: logsrvd/iolog_writer.c:446
+#, c-format
+msgid "%s: unable to format session id"
+msgstr "%s: nu se poate formata ID-ul sesiunii"
-#: logsrvd/iolog_writer.c:967
-msgid "unable to restart log"
-msgstr "nu se poate reporni istoricul"
+#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
+#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#, c-format
+msgid "%s: %s is not set"
+msgstr "%s: %s nu este configurat"
-#: logsrvd/logsrv_util.c:98 logsrvd/logsrv_util.c:105
-#: plugins/sudoers/sudoreplay.c:353 plugins/sudoers/sudoreplay.c:359
+#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
#, c-format
-msgid "unable to open %s/%s"
-msgstr "nu se poate porni %s/%s"
+msgid "unable to expand iolog path %s"
+msgstr "nu se poate expanda calea către iolog %s"
-#: logsrvd/logsrv_util.c:132
+#: logsrvd/iolog_writer.c:592
#, c-format
-msgid "missing I/O log file %s/%s"
-msgstr "lipsește fișierul istoric I/O %s/%s"
+msgid "unable to create iolog path %s"
+msgstr "nu se poate crea calea către iolog %s"
-#: logsrvd/logsrv_util.c:139
+#: logsrvd/iolog_writer.c:622
#, c-format
-msgid "%s/%s: unable to seek forward %zu"
-msgstr "%s/%s: nu se poate căuta înainte %zu"
+msgid "invalid iofd %d"
+msgstr "iofd nevalid: %d"
-#: logsrvd/logsrv_util.c:149
+#: logsrvd/iolog_writer.c:642
#, c-format
-msgid "unable to find resume point [%lld, %ld] in %s/%s"
-msgstr "nu se poate găsi punctul de rezumare [%lld, %ld] în %s/%s"
+msgid "error closing iofd %d: %s"
+msgstr "eroare la închiderea iofd %d: %s"
-#: logsrvd/logsrvd.c:230 logsrvd/logsrvd.c:299 logsrvd/logsrvd.c:343
-#: logsrvd/logsrvd.c:398 logsrvd/logsrvd.c:445 logsrvd/logsrvd.c:496
-#: logsrvd/logsrvd.c:528 logsrvd/logsrvd.c:560
-msgid "state machine error"
-msgstr "eroare de mașină de stare"
+#: logsrvd/iolog_writer.c:662
+#, c-format
+msgid "error flushing iofd %d: %s"
+msgstr "eroare la golirea iofd %d: %s"
-#: logsrvd/logsrvd.c:239
-msgid "invalid AcceptMessage"
-msgstr "MesajAcceptare nevalid"
+#: logsrvd/iolog_writer.c:780
+#, 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/logsrvd.c:250
-msgid "error parsing AcceptMessage"
-msgstr "eroare la parsarea MesajAccept"
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
+#, c-format
+msgid "%s: unable to find resume point [%lld, %ld]"
+msgstr "%s: nu se poate găsi punctul de reluare [%lld, %ld]"
-#: logsrvd/logsrvd.c:257
-msgid "error creating I/O log"
-msgstr "eroare la crearea istoricului I/O"
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
+#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
+#, c-format
+msgid "unable to open %s"
+msgstr "nu se poate deschide %s"
-#: logsrvd/logsrvd.c:265
-msgid "error logging accept event"
-msgstr "eroare la înregistrarea evenimentului de acceptare"
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
+#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: plugins/sudoers/sudoreplay.c:368
+#, c-format
+msgid "unable to open %s/%s"
+msgstr "nu se poate deschide %s/%s"
-#: logsrvd/logsrvd.c:308
-msgid "invalid RejectMessage"
-msgstr "MesajRespingere nevalid"
+#: logsrvd/iolog_writer.c:839
+#, c-format
+msgid "unable to copy %s/%s to %s/%s: %s"
+msgstr "nu se poate copia %s/%s în %s/%s: %s"
-#: logsrvd/logsrvd.c:319
-msgid "error parsing RejectMessage"
-msgstr "eroare la parsarea MesajRespingere"
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
+#, c-format
+msgid "unable to rename %s to %s"
+msgstr "nu se poate redenumi %s în %s"
-#: logsrvd/logsrvd.c:325
-msgid "error logging reject event"
-msgstr "eroare la înregistrarea evenimentului de respingere"
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
+#, c-format
+msgid "%s/%s: unable to find resume point [%lld, %ld]"
+msgstr "%s/%s: nu se poate găsi punctul de reluare [%lld, %ld]"
-#: logsrvd/logsrvd.c:430
-msgid "error logging alert event"
-msgstr "eroare la înregistrarea evenimentului de alertă"
+#: logsrvd/logsrv_util.c:154
+#, c-format
+msgid "missing I/O log file %s/%s"
+msgstr "lipsește fișierul jurnal de In/Ieș %s/%s"
-#: logsrvd/logsrvd.c:451 logsrvd/logsrvd.c:502 logsrvd/logsrvd.c:534
-msgid "protocol error"
-msgstr "eroare de protocol"
+#: logsrvd/logsrv_util.c:161
+#, c-format
+msgid "%s/%s: unable to seek forward %zu"
+msgstr "%s/%s: nu se poate căuta mai departe %zu"
+
+#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+msgid "unable to connect to relay"
+msgstr "nu se poate conecta la releu"
+
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
+#, c-format
+msgid "server message too large: %zu"
+msgstr "mesajul serverului este prea mare: %zu"
+
+#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
+#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
+#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
+#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
+#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
+#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
+#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
+#: plugins/sudoers/sudoreplay.c:1043 plugins/sudoers/sudoreplay.c:1050
+#: plugins/sudoers/sudoreplay.c:1057 plugins/sudoers/sudoreplay.c:1184
+msgid "unable to add event to queue"
+msgstr "nu se poate adăuga evenimentul la coadă"
-#: logsrvd/logsrvd.c:461
-msgid "error writing IoBuffer"
-msgstr "eroare la scrierea IoBuffer"
+#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
+#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
+#: logsrvd/logsrvd_relay.c:538
+#, c-format
+msgid "unexpected state %d for %s"
+msgstr "stare neașteptată %d pentru %s"
-#: logsrvd/logsrvd.c:513
-msgid "error writing ChangeWindowSize"
-msgstr "eroare la scrierea ModificăDimensiuneaFerestrei"
+#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
+#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
+#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
+#: logsrvd/logsrvd_relay.c:540
+msgid "state machine error"
+msgstr "eroare de stare a mașinii"
-#: logsrvd/logsrvd.c:545
-msgid "error writing CommandSuspend"
-msgstr "eroare la scrierea SuspendăComanda"
+#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+msgid "invalid AcceptMessage"
+msgstr "AcceptMessage nevalid"
-#: logsrvd/logsrvd.c:630
-msgid "unrecognized ClientMessage type"
-msgstr "tip de MesajClient necunoscut"
+#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+msgid "invalid RejectMessage"
+msgstr "RejectMessage nevalid"
-#: logsrvd/logsrvd.c:895
-msgid "client message too large"
-msgstr "mesajul de client este prea mare"
+#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+msgid "invalid AlertMessage"
+msgstr "AlertMessage nevalid"
-#: logsrvd/logsrvd.c:1125 logsrvd/logsrvd.c:1133
+#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
#, c-format
-msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
-msgstr "nu se poate stabili suita de cifrare TLS 1.2 LA %s: %s"
+msgid "%s: unexpected IoBuffer"
+msgstr "%s: IoBuffer neașteptat"
-#: logsrvd/logsrvd.c:1153 logsrvd/logsrvd.c:1161
-#, c-format
-msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
-msgstr "nu se poate stabili suita de cifrare TLS 1.3 la %s: %s"
+#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+msgid "protocol error"
+msgstr "eroare de protocol"
-#: logsrvd/logsrvd.c:1197
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
#, c-format
-msgid "unable to get TLS server method: %s"
-msgstr "nu se poate obține metoda de server TLS: %s"
+msgid "unable to unpack %s size %zu"
+msgstr "nu se poate despacheta %s cu dimensiunea %zu"
-#: logsrvd/logsrvd.c:1202
+#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
+#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
-msgid "unable to create TLS context: %s"
-msgstr "nu se poate crea contextul TLS: %s"
+msgid "unexpected type_case value %d in %s from %s"
+msgstr "valoare type_case %d neașteptată în %s din %s"
-#: logsrvd/logsrvd.c:1209 plugins/sudoers/iolog_client.c:237
+#: logsrvd/logsrvd.c:793
+msgid "unrecognized ClientMessage type"
+msgstr "tip de ClientMessage nerecunoscut"
+
+#: logsrvd/logsrvd.c:883
#, c-format
-msgid "unable to load certificate %s"
-msgstr "nu se poate încărca certificatul %s"
+msgid "timed out writing to client %s"
+msgstr "a expirat timpul de scriere la clientul %s"
-#: logsrvd/logsrvd.c:1222 plugins/sudoers/iolog_client.c:217
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
-msgid "unable to load certificate authority bundle %s"
-msgstr "nu se poate încărca pachetul de autoritate al certificatului %s"
+msgid "missing write buffer for client %s"
+msgstr "lipsește memoria tampon de scriere pentru clientul %s"
-#: logsrvd/logsrvd.c:1267 plugins/sudoers/iolog_client.c:250
+#: logsrvd/logsrvd.c:982
#, c-format
-msgid "unable to load private key %s"
-msgstr "nu se poate încărca cheia privată %s"
+msgid "timed out reading from client %s"
+msgstr "a expirat timpul de citire de la clientul %s"
-#: logsrvd/logsrvd.c:1284 logsrvd/logsrvd.c:1293
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
-msgid "unable to set diffie-hellman parameters: %s"
-msgstr "nu se pot stabili parametrii diffie-hellman: %s"
+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:1306
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
-msgid "unable to set minimum protocol version to TLS 1.2: %s"
-msgstr "nu se poate stabili versiunea de protocol minimă la TLS 1.2: %s"
+msgid "client message too large: %zu"
+msgstr "mesajul clientului este prea mare: %zu"
-#: logsrvd/logsrvd.c:1491
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd_journal.c:247
+msgid "client message too large"
+msgstr "mesajul clientului este prea mare"
+
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
+msgid "invalid ClientMessage"
+msgstr "ClientMessage nevalid"
+
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "nu se poate obține adresa IP de la distanță"
-#: logsrvd/logsrvd.c:1519 plugins/sudoers/iolog_client.c:264
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Nu se pot atașa datele utilizatorului la obiectul ssl: %s"
-#: logsrvd/logsrvd.c:1527 logsrvd/logsrvd.c:1649 logsrvd/logsrvd.c:1749
-#: logsrvd/sendlog.c:1106 logsrvd/sendlog.c:1462 logsrvd/sendlog.c:1477
-#: logsrvd/sendlog.c:1535 plugins/sudoers/iolog.c:921
-#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1152
-#: plugins/sudoers/iolog_client.c:109 plugins/sudoers/iolog_client.c:325
-#: plugins/sudoers/iolog_client.c:341 plugins/sudoers/iolog_client.c:387
-#: plugins/sudoers/iolog_client.c:567 plugins/sudoers/iolog_client.c:574
-#: plugins/sudoers/iolog_client.c:1150 plugins/sudoers/iolog_client.c:1186
-#: plugins/sudoers/iolog_client.c:1194 plugins/sudoers/iolog_client.c:1254
-#: plugins/sudoers/iolog_client.c:1361 plugins/sudoers/iolog_client.c:1477
-#: plugins/sudoers/iolog_client.c:1759 plugins/sudoers/iolog_client.c:1767
-#: plugins/sudoers/sudoreplay.c:513 plugins/sudoers/sudoreplay.c:560
-#: plugins/sudoers/sudoreplay.c:792 plugins/sudoers/sudoreplay.c:904
-#: plugins/sudoers/sudoreplay.c:994 plugins/sudoers/sudoreplay.c:1009
-#: plugins/sudoers/sudoreplay.c:1016 plugins/sudoers/sudoreplay.c:1023
-#: plugins/sudoers/sudoreplay.c:1030 plugins/sudoers/sudoreplay.c:1037
-#: plugins/sudoers/sudoreplay.c:1164
-msgid "unable to add event to queue"
-msgstr "nu se poate adăuga evenimentul la coadă"
-
-#: logsrvd/logsrvd.c:1703 logsrvd/logsrvd.c:1937
-msgid "unable setup listen socket"
-msgstr "nu se poate pregăti soclul de ascultare"
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
+msgid "unable to setup listen socket"
+msgstr "nu se poate configura soclul de ascultare"
-#: logsrvd/logsrvd.c:1843 logsrvd/sendlog.c:123
+#: logsrvd/logsrvd.c:1718
#, c-format
-msgid ""
-"%s - send sudo I/O log to remote server\n"
-"\n"
-msgstr ""
-"%s - trimite istoricul I/O sudo la serverul de la distanță\n"
-"\n"
+msgid "unexpected signal %d"
+msgstr "semnal neașteptat %d"
-#: logsrvd/logsrvd.c:1846
-msgid ""
-"\n"
-"Options:\n"
-" -f, --file path to configuration file\n"
-" -h --help display help message and exit\n"
-" -n, --no-fork do not fork, run in the foreground\n"
-" -R, --random-drop percent chance connections will drop\n"
-" -V, --version display version information and exit\n"
-msgstr ""
-"\n"
-"Opțini:\n"
-" -f, --file calea către fișierul de configurare\n"
-" -h --help afișează mesajul de ajutor și ieși\n"
-" -n, --no-fork nu da fork, rulează în prim plan\n"
-" -R, --random-drop șansa în procente pentru căderea conexiunii\n"
-" -V, --version afișează informațiile de versiune și ieși\n"
-
-#: logsrvd/logsrvd.c:1898 logsrvd/sendlog.c:1700
+#: logsrvd/logsrvd.c:1855
+msgid "sudo log server"
+msgstr "server de jurnal al sudo"
+
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
+msgid "Options:"
+msgstr "Opțiuni:"
+
+#: logsrvd/logsrvd.c:1859
+msgid "path to configuration file"
+msgstr "calea către fișierul de configurare"
+
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
+msgid "display help message and exit"
+msgstr "afișează mesajul de ajutor și iese"
+
+#: logsrvd/logsrvd.c:1863
+msgid "do not fork, run in the foreground"
+msgstr "nu se bifurcă, rulează în prim-plan"
+
+#: logsrvd/logsrvd.c:1865
+msgid "percent chance connections will drop"
+msgstr "șansele procentuale de conexiuni vor scădea"
+
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
+msgid "display version information and exit"
+msgstr "afișează informațiile despre versiune și iese"
+
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
-msgstr "Protobuf-C versiunea 1.3 sau mai mare necesară"
+msgstr "Este necesară versiunea Protobuf-C 1.3 sau mai mare"
-#: logsrvd/logsrvd.c:1916
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
-msgstr "valoare de cădere întâmplătoare nevalidă: %s"
+msgstr "valoare nevalidă a probabilității de pierdere: %s"
-#: logsrvd/logsrvd.c:1920 logsrvd/sendlog.c:1750
-#: plugins/sudoers/cvtsudoers.c:229 plugins/sudoers/sudoreplay.c:300
-#: plugins/sudoers/visudo.c:178
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
+#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s versiunea %s\n"
-#: logsrvd/logsrvd_conf.c:393
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/testsudoers.c:382
+#, c-format
+msgid "unknown user %s"
+msgstr "utilizator necunoscut %s"
+
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
+#: plugins/sudoers/testsudoers.c:406
+#, c-format
+msgid "unknown group %s"
+msgstr "grup necunoscut %s"
+
+#: logsrvd/logsrvd_conf.c:452
+#, c-format
+msgid "unable to parse iolog mode %s"
+msgstr "nu se poate analiza modul iolog %s"
+
+#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#, c-format
+msgid "invalid value for %s: %s"
+msgstr "valoare nevalidă pentru %s: %s"
+
+#: logsrvd/logsrvd_conf.c:522
msgid "TLS not supported"
-msgstr "TLS nu este suportat"
+msgstr "fără suport TLS"
-#: logsrvd/logsrvd_conf.c:405
+#: logsrvd/logsrvd_conf.c:544
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:471 logsrvd/logsrvd_conf.c:715
+#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
#, c-format
msgid "%s: not a fully qualified path"
-msgstr "%s: nu este o cale calificată complet"
+msgstr "%s: nu este o cale complet calificată"
+
+#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
+#: logsrvd/logsrvd_conf.c:1671
+#, c-format
+msgid "unknown syslog facility %s"
+msgstr "facilitate de syslog necunoscută %s"
+
+#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
+#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
+#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#, c-format
+msgid "unknown syslog priority %s"
+msgstr "prioritate de syslog necunoscută %s"
-#: logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1192
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s:%d „[†desperecheată: %s"
-#: logsrvd/logsrvd_conf.c:840
+#: logsrvd/logsrvd_conf.c:1198
+#, c-format
+msgid "%s:%d garbage after ']': %s"
+msgstr "%s:%d gunoi după „]â€: %s"
+
+#: logsrvd/logsrvd_conf.c:1210
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s:%d secțiune de configurare nevalidă: %s"
-#: logsrvd/logsrvd_conf.c:848
+#: logsrvd/logsrvd_conf.c:1218
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s:%d linie de configurare nevalidă: %s"
-#: logsrvd/logsrvd_conf.c:854
+#: logsrvd/logsrvd_conf.c:1224
#, c-format
msgid "%s:%d expected section name: %s"
-msgstr "%s:%d nume de secție așteptată: %s"
+msgstr "%s:%d nume de secțiune așteptat: %s"
-#: logsrvd/logsrvd_conf.c:868
+#: logsrvd/logsrvd_conf.c:1246
#, c-format
-msgid "invalid value for %s: %s"
-msgstr "valoare nevalidă pentru %s: %s"
+msgid "%s:%d [%s] illegal key: %s"
+msgstr "%s:%d [%s] cheie ilegală: %s"
-#: logsrvd/logsrvd_conf.c:876
+#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1035
#, c-format
-msgid "%s:%d unknown key: %s"
-msgstr "%s:%d cheie necunoscută: %s"
+msgid "unable to open log file %s"
+msgstr "nu se poate deschide fișierul de jurnal: %s"
-#: logsrvd/logsrvd_conf.c:1032
+#: logsrvd/logsrvd_conf.c:1757
+msgid "unable to initialize server TLS context"
+msgstr "nu se poate inițializa contextul TLS al serverului"
+
+#: logsrvd/logsrvd_conf.c:1777
+msgid "unable to initialize relay TLS context"
+msgstr "nu se poate inițializa contextul TLS al releului"
+
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
+msgid "unable to create journal file"
+msgstr "nu se poate crea fișierul de jurnal"
+
+#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
+#: plugins/sudoers/visudo.c:1020
#, c-format
-msgid "unknown syslog facility %s"
-msgstr "facilitate de syslog necunoscută %s"
+msgid "unable to lock %s"
+msgstr "nu se poate bloca %s"
+
+#: logsrvd/logsrvd_journal.c:143
+msgid "unable to lock journal file"
+msgstr "nu se poate bloca fișierul de jurnal"
+
+#: logsrvd/logsrvd_journal.c:151
+msgid "unable to open journal file"
+msgstr "nu se poate deschide fișierul de jurnal"
-#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1040
-#: logsrvd/logsrvd_conf.c:1044
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
+msgid "unable to write journal file"
+msgstr "nu se poate scrie fișierul de jurnal"
+
+#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+msgid "unable to rename journal file"
+msgstr "nu se poate redenumi fișierul de jurnal"
+
+#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
+#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+msgid "unexpected EOF reading journal file"
+msgstr "sfârșit de fișier neașteptat la citirea fișierului de jurnal"
+
+#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
+#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+msgid "error reading journal file"
+msgstr "eroare la citirea fișierului de jurnal"
+
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
+msgid "invalid journal file, unable to restart"
+msgstr "fișier de jurnal nevalid, nu se poate reporni"
+
+#: logsrvd/logsrvd_journal.c:430
#, c-format
-msgid "unknown syslog priority %s"
-msgstr "prioritate de syslog necunoscută %s"
+msgid "unable to seek to [%lld, %ld] in journal file %s"
+msgstr "nu se poate ajunge la poziția [%lld, %ld] din fișierul de jurnal %s"
-#: logsrvd/sendlog.c:126
-msgid ""
-"\n"
-"Options:\n"
-" --help display help message and exit\n"
-" -A, --accept only send an accept event (no I/O)\n"
-" -h, --host host to send logs to\n"
-" -i, --iolog_id remote ID of I/O log to be resumed\n"
-" -p, --port port to use when connecting to host\n"
-" -r, --restart restart previous I/O log transfer\n"
-" -R, --reject reject the command with the given reason\n"
-" -b, --ca-bundle certificate bundle file to verify server's cert against\n"
-" -c, --cert certificate file for TLS handshake\n"
-" -k, --key private key file\n"
-" -n, --no-verify do not verify server certificate\n"
-" -t, --test test audit server by sending selected I/O log n times in parallel\n"
-" -V, --version display version information and exit\n"
-msgstr ""
-"\n"
-"Opțiuni:\n"
-" --help afișează mesajul de ajutor și ieși\n"
-" -A, --accept trimite doar un eveniment de acceptare (fără I/O)\n"
-" -h, --host gazda la care să se trimită înregistrări\n"
-" -i, --iolog_id ID-ul de la distanță al istoricului I/O de rezumat \n"
-" -p, --port portul de utilizat când se conectează la gazdă\n"
-" -r, --restart repornește transferul de istoric I/O anterior\n"
-" -R, --reject respinge comanda cu motivul dat\n"
-" -b, --ca-bundle fișier de pachet de certificat împotriva căruia se verifică certificarea serverului\n"
-" -c, --cert fișierul certificat pentru conexiunea TLS\n"
-" -k, --key fișier cheie privată\n"
-" -n, --no-verify nu verifica certificatul serverului\n"
-" -V, --version afișează informațiile de versiune și ieși\n"
-
-#: logsrvd/sendlog.c:163 plugins/sudoers/iolog_client.c:433
+#: logsrvd/logsrvd_local.c:153
+msgid "error parsing AcceptMessage"
+msgstr "eroare la analizarea AcceptMessage"
+
+#: logsrvd/logsrvd_local.c:164
+msgid "error creating I/O log"
+msgstr "eroare la crearea jurnalului de In/IeÈ™"
+
+#: logsrvd/logsrvd_local.c:187
+msgid "error logging accept event"
+msgstr "eroare la înregistrarea evenimentului de acceptare"
+
+#: logsrvd/logsrvd_local.c:226
+msgid "error parsing RejectMessage"
+msgstr "eroare la analizarea RejectMessage"
+
+#: logsrvd/logsrvd_local.c:250
+msgid "error logging reject event"
+msgstr "eroare la înregistrarea evenimentului de respingere"
+
+#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+msgid "error logging exit event"
+msgstr "eroare la înregistrarea evenimentului de ieșire"
+
+#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+msgid "log is already complete, cannot be restarted"
+msgstr "jurnalul este deja complet, nu poate fi repornit"
+
+#: logsrvd/logsrvd_local.c:482
+msgid "unable to restart log"
+msgstr "nu se poate reporni jurnalizarea"
+
+#: logsrvd/logsrvd_local.c:498
+msgid "error parsing AlertMessage"
+msgstr "eroare la analizarea AlertMessage"
+
+#: logsrvd/logsrvd_local.c:508
+msgid "error logging alert event"
+msgstr "eroare la înregistrarea evenimentului de alertă"
+
+#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:642
+#, c-format
+msgid "unable to format timing buffer, length %d"
+msgstr "nu se poate formata memoria tampon de timp, lungime %d"
+
+#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
+#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: plugins/sudoers/sudoreplay.c:351
+#, c-format
+msgid "%s/%s: %s"
+msgstr "%s/%s: %s"
+
+#: logsrvd/logsrvd_local.c:577
+msgid "randomly dropping connection"
+msgstr "întreruperea aleatorie a conexiunii"
+
+#: logsrvd/logsrvd_local.c:589
+msgid "error writing IoBuffer"
+msgstr "eroare la scrierea IoBuffer"
+
+#: logsrvd/logsrvd_local.c:624
+msgid "error writing ChangeWindowSize"
+msgstr "eroare la scrierea ChangeWindowSize"
+
+#: logsrvd/logsrvd_local.c:659
+msgid "error writing CommandSuspend"
+msgstr "eroare la scrierea CommandSuspend"
+
+#: logsrvd/logsrvd_relay.c:430
+msgid "TLS handshake with relay host failed"
+msgstr "negocierea TLS cu gazda releu a eșuat"
+
+#: logsrvd/logsrvd_relay.c:458
+msgid "unable to connect to relay host"
+msgstr "nu se poate conecta la gazda releu"
+
+# R-GC, scrie:
+# după revizuirea fișierului, DȘ spune:
+# «→ aici pare că lipsește un spațiu după cele două puncte.»
+# ***
+# corectare efectuată
+#: logsrvd/logsrvd_relay.c:513
+#, c-format
+msgid "%s: invalid ServerHello, missing server_id"
+msgstr "%s: ServerHello nevalid, server_id lipsește"
+
+#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
+#: plugins/sudoers/log_client.c:1504
+msgid "invalid ServerHello"
+msgstr "ServerHello nevalid"
+
+#: logsrvd/logsrvd_relay.c:674
+msgid "unrecognized ServerMessage type"
+msgstr "tip de ServerMessage nerecunoscut"
+
+#: logsrvd/logsrvd_relay.c:703
+#, c-format
+msgid "timed out reading from relay %s (%s)"
+msgstr "a expirat limita de timp de citire de la releu %s (%s)"
+
+#: logsrvd/logsrvd_relay.c:705
+msgid "timeout reading from relay"
+msgstr "a expirat limita de timp de citire de la releul"
+
+#: logsrvd/logsrvd_relay.c:757
+msgid "relay host name does not match certificate"
+msgstr "numele gazdei releului nu se potrivește cu certificatul"
+
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
+msgid "error reading from relay"
+msgstr "eroare la citirea de la releu"
+
+#: logsrvd/logsrvd_relay.c:805
+msgid "unable to read from relay"
+msgstr "nu se poate citi de la releu"
+
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
+msgid "relay server closed connection"
+msgstr "conexiune închisă a serverului de releu"
+
+#: logsrvd/logsrvd_relay.c:838
+msgid "server message too large"
+msgstr "mesajul serverului este prea mare"
+
+#: logsrvd/logsrvd_relay.c:902
+#, c-format
+msgid "timed out writing to relay %s (%s)"
+msgstr "a expirat limita de timp la scrierea la releu %s (%s)"
+
+#: logsrvd/logsrvd_relay.c:904
+msgid "timeout writing to relay"
+msgstr "a expirat limita de timp de scriere la releu"
+
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
+msgid "error writing to relay"
+msgstr "eroare la scrierea la releu"
+
+#: logsrvd/sendlog.c:114
+msgid "send sudo I/O log to remote server"
+msgstr "trimite jurnalul de In/Ieș al «sudo» la serverul de la distanță"
+
+#: logsrvd/sendlog.c:120
+msgid "only send an accept event (no I/O)"
+msgstr "trimite doar un eveniment de acceptare (fără In/Ieș)"
+
+#: logsrvd/sendlog.c:123
+msgid "certificate bundle file to verify server's cert against"
+msgstr "fișierul pachet de certificate pentru a verifica certificatul serverului"
+
+#: logsrvd/sendlog.c:125
+msgid "certificate file for TLS handshake"
+msgstr "fișier de certificat pentru negocierea TLS"
+
+#: logsrvd/sendlog.c:128
+msgid "host to send logs to"
+msgstr "gazda la care se trimit jurnalele"
+
+#: logsrvd/sendlog.c:130
+msgid "remote ID of I/O log to be resumed"
+msgstr "ID-ul de la distanță al jurnalului In/Ieș care urmează să fie reluat"
+
+#: logsrvd/sendlog.c:133
+msgid "private key file"
+msgstr "fișier de cheie privată"
+
+#: logsrvd/sendlog.c:135
+msgid "do not verify server certificate"
+msgstr "nu se verifică certificatul serverului"
+
+#: logsrvd/sendlog.c:138
+msgid "port to use when connecting to host"
+msgstr "portul de utilizat atunci când vă conectați la gazdă"
+
+#: logsrvd/sendlog.c:140
+msgid "restart previous I/O log transfer"
+msgstr "repornește transferul precedent de jurnal In/Ieș"
+
+#: logsrvd/sendlog.c:142
+msgid "reject the command with the given reason"
+msgstr "respinge comanda cu motivul specificat"
+
+#: logsrvd/sendlog.c:144
+msgid "stop transfer after reaching this time"
+msgstr "oprește transferul după ce s-a atins acest timp"
+
+#: logsrvd/sendlog.c:146
+msgid "test audit server by sending selected I/O log n times in parallel"
+msgstr "testează serverul de auditare prin trimiterea jurnalului de In/Ieș selectat de n ori în paralel"
+
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "nu se poate căuta %s:%s: %s"
-#: logsrvd/sendlog.c:186
+#: logsrvd/sendlog.c:209
msgid "unable to get server IP addr"
msgstr "nu se poate obține adresa IP a serverului"
-#: logsrvd/sendlog.c:240 plugins/sudoers/sudoreplay.c:852
+#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "nu se poate citi %s/%s: %s"
-#: logsrvd/sendlog.c:261 plugins/sudoers/iolog_client.c:684
-#, c-format
-msgid "client message too large: %zu"
-msgstr "mesajul clientului este prea mare: %zu"
-
-#: logsrvd/sendlog.c:791
-#, c-format
-msgid "%s: write buffer already in use"
-msgstr "%s: preîncărcare de scriere deja în uz"
-
-#: logsrvd/sendlog.c:843 plugins/sudoers/iolog.c:845
-#: plugins/sudoers/iolog.c:914
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
-msgstr "eveniment I/O neașteptat %d"
+msgstr "eveniment de In/Ieș neașteptat %d"
-#: logsrvd/sendlog.c:889 logsrvd/sendlog.c:906 logsrvd/sendlog.c:940
-#: plugins/sudoers/iolog_client.c:1155 plugins/sudoers/iolog_client.c:1225
-#: plugins/sudoers/iolog_client.c:1273
+#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: stare neașteptată %d"
-#: logsrvd/sendlog.c:912 plugins/sudoers/iolog_client.c:1231
-msgid "invalid ServerHello"
-msgstr "SalutServer nevalid"
-
-#: logsrvd/sendlog.c:976 plugins/sudoers/iolog_client.c:1317
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "mesaj de eroare primit de la server: %s"
-#: logsrvd/sendlog.c:989 plugins/sudoers/iolog_client.c:1330
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "mesaj de renunțare primit de la server: %s"
-#: logsrvd/sendlog.c:1008 plugins/sudoers/iolog_client.c:1349
-msgid "unable to unpack ServerMessage"
-msgstr "nu se poate despacheta MesajServer"
-
-#: logsrvd/sendlog.c:1048 plugins/sudoers/iolog_client.c:1382
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: valoare type_case neașteptată %d"
-#: logsrvd/sendlog.c:1077
+#: logsrvd/sendlog.c:1286
msgid "timeout reading from server"
-msgstr "limită de timp de citire de la server"
+msgstr "a expirat limita de timp de citire de la server"
+
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "numele gazdei nu se potrivește cu certificatul"
-#: logsrvd/sendlog.c:1155
+#: logsrvd/sendlog.c:1368
msgid "premature EOF"
-msgstr "EOF prematur"
+msgstr "sfârșit de fișier prematur"
-#: logsrvd/sendlog.c:1168 plugins/sudoers/iolog_client.c:1536
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
-msgstr "mesajul de server este prea mare: %u"
+msgstr "mesajul serverului este prea mare: %u"
-#: logsrvd/sendlog.c:1219
+#: logsrvd/sendlog.c:1437
msgid "timeout writing to server"
-msgstr "limită de timp de scriere la server"
+msgstr "a expirat limita de timp de scriere la server"
+
+#: logsrvd/sendlog.c:1802
+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:1438 plugins/sudoers/iolog_client.c:297
+#: logsrvd/sendlog.c:1806
+msgid "a restart point may not be set when no I/O is sent"
+msgstr "un punct de repornire poate să nu fie stabilit când nicio In/Ieș nu este stabilită"
+
+#: logsrvd/sendlog.c:1882
+#, c-format
+msgid "exited prematurely with state %d"
+msgstr "a ieșit prematur cu starea %d"
+
+#: logsrvd/sendlog.c:1883
+#, c-format
+msgid "elapsed time sent to server [%lld, %ld]"
+msgstr "timpul scurs trimis la server [%lld, %ld]"
+
+#: logsrvd/sendlog.c:1885
+#, c-format
+msgid "commit point received from server [%lld, %ld]"
+msgstr "punctul de consemnare primit de la server [%lld, %ld]"
+
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
-msgstr "A apărut o limită de timp a conexiunii TLS"
+msgstr "a expirat limita de timp a negocierii TLS"
-#: logsrvd/sendlog.c:1457 logsrvd/sendlog.c:1472
-#: plugins/sudoers/iolog_client.c:319 plugins/sudoers/iolog_client.c:335
+#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
-msgstr "nu se poate stabili evenimentul"
+msgstr "nu s-a putut configura evenimentul"
-#: logsrvd/sendlog.c:1482 logsrvd/sendlog.c:1486
+#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
#, c-format
msgid "TLS connection failed: %s"
-msgstr "Conexiunea TLS a eșuat: %s"
+msgstr "conexiunea TLS a eșuat: %s"
-#: logsrvd/sendlog.c:1519
+#: logsrvd/tls_client.c:191
#, c-format
-msgid "Unable to initialize ssl context: %s"
-msgstr "Nu se poate inițializa contextul ssl: %s"
+msgid "unable to allocate ssl object: %s"
+msgstr "nu s-a putut aloca obiectul ssl: %s"
-#: logsrvd/sendlog.c:1524 plugins/sudoers/iolog_client.c:259
-#, c-format
-msgid "Unable to allocate ssl object: %s"
-msgstr "Nu se poate aloca obiectul ssl: %s"
-
-#: logsrvd/sendlog.c:1529
+#: logsrvd/tls_client.c:205
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
-msgstr "Nu se poate atașa soclul la obiectul ssl: %s"
+msgstr "Nu s-a putut atașa soclul la obiectul ssl: %s"
-#: logsrvd/sendlog.c:1773
-msgid "both restart point and iolog ID must be specified"
-msgstr "trebuie specificate ambele ID-ul iolog și punctul de repornire"
+#: logsrvd/tls_client.c:233
+msgid "unable to initialize TLS context"
+msgstr "nu s-a putut inițializa contextul ssl: %s"
-#: logsrvd/sendlog.c:1777
-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 niciun I/O nu este stabilit"
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
+#, c-format
+msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
+msgstr "nu s-a putut configura suita de cifrare TLS 1.2 la valoarea %s: %s"
-#: logsrvd/sendlog.c:1852
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
-msgid "exited prematurely with state %d"
-msgstr "a ieșit prematur cu starea %d"
+msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
+msgstr "nu s-a putut configura suita de cifrare TLS 1.3 la valoarea %s: %s"
-#: logsrvd/sendlog.c:1853
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
-msgid "elapsed time sent to server [%lld, %ld]"
-msgstr "timpul scurs trimis la server [%lld, %ld]"
+msgid "unable to set diffie-hellman parameters: %s"
+msgstr "nu se pot stabili parametrii diffie-hellman: %s"
-#: logsrvd/sendlog.c:1855
+#: logsrvd/tls_init.c:277
#, c-format
-msgid "commit point received from server [%lld, %ld]"
-msgstr "punctul de comit primit de la server [%lld, %ld]"
+msgid "unable to create TLS context: %s"
+msgstr "nu se poate crea contextul TLS: %s"
-#: plugins/sudoers/alias.c:144
+#: logsrvd/tls_init.c:284
#, c-format
-msgid "Alias \"%s\" already defined"
-msgstr "Aliasul „%s†este deja definit"
+msgid "unable to set minimum protocol version to TLS 1.2: %s"
+msgstr "nu se poate stabili versiunea de protocol minimă la TLS 1.2: %s"
-#: plugins/sudoers/auth/aix_auth.c:198 plugins/sudoers/logging.c:784
-msgid "unable to fork"
-msgstr "nu se poate da fork"
+# R-GC, scrie:
+# este posibil ca traducerea corectă a acestui
+# mesaj, să fie:
+# «time of day» → «orele din zi» → «orarul zilei», deci:
+# „nu se poate obÈ›ine orarul zileiâ€
+# ***
+# Opinii/Idei?
+# ===
+# după revizuirea fișierului, DȘ spune:
+# «→ eu cred că este corect traducerea curentă cu „ora actualăâ€; „orele
+# din zi†nu prea are sens iar „orarul zilei†ar fi „the daily scheduleâ€Â»
+# ===
+# Ok, rămîne așa cum este
+#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
+msgid "unable to get time of day"
+msgstr "nu se poate obține ora actuală"
-#: plugins/sudoers/auth/aix_auth.c:278
+#: plugins/sudoers/auth/aix_auth.c:280
#, c-format
msgid "unable to change password for %s"
msgstr "nu se poate schimba parola pentru %s"
-#: plugins/sudoers/auth/bsdauth.c:70
+#: plugins/sudoers/auth/bsdauth.c:74
#, c-format
msgid "unable to get login class for user %s"
msgstr "nu se poate obține clasa de autentificare pentru utilizatorul %s"
-#: plugins/sudoers/auth/bsdauth.c:75
+#: plugins/sudoers/auth/bsdauth.c:79
msgid "unable to begin bsd authentication"
msgstr "nu se poate începe autentificarea bsd"
-#: plugins/sudoers/auth/bsdauth.c:83
+#: plugins/sudoers/auth/bsdauth.c:87
msgid "invalid authentication type"
msgstr "tip de autentificare nevalid"
-#: plugins/sudoers/auth/bsdauth.c:92
+#: plugins/sudoers/auth/bsdauth.c:96
msgid "unable to initialize BSD authentication"
msgstr "nu se poate inițializa autentificarea BSD"
-#: plugins/sudoers/auth/bsdauth.c:180
+#: plugins/sudoers/auth/bsdauth.c:186
msgid "your account has expired"
msgstr "contul a expirat"
-#: plugins/sudoers/auth/bsdauth.c:182
+#: plugins/sudoers/auth/bsdauth.c:188
msgid "approval failed"
msgstr "aprobarea a eșuat"
-#: plugins/sudoers/auth/fwtk.c:54
+#: plugins/sudoers/auth/fwtk.c:61
msgid "unable to read fwtk config"
msgstr "nu se poate citi configurarea fwtk"
-#: plugins/sudoers/auth/fwtk.c:59
+#: plugins/sudoers/auth/fwtk.c:66
msgid "unable to connect to authentication server"
msgstr "nu se poate conecta la serverul de autentificare"
-#: plugins/sudoers/auth/fwtk.c:65 plugins/sudoers/auth/fwtk.c:89
-#: plugins/sudoers/auth/fwtk.c:121
+#: plugins/sudoers/auth/fwtk.c:72 plugins/sudoers/auth/fwtk.c:97
+#: plugins/sudoers/auth/fwtk.c:129
msgid "lost connection to authentication server"
msgstr "s-a pierdut conexiunea la serverul de autentificare"
-#: plugins/sudoers/auth/fwtk.c:69
+#: plugins/sudoers/auth/fwtk.c:76
#, c-format
msgid ""
"authentication server error:\n"
"%s"
msgstr ""
-"eroare server de autentificare:\n"
+"eroare a serverului de autentificare:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
-msgstr "%s: nu se poate converti principalul la È™ir („%sâ€): %s"
+msgstr "%s: nu se poate converti identitatea gazdei în È™ir („%sâ€): %s"
-#: plugins/sudoers/auth/kerb5.c:160
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
-msgstr "%s: nu se poate parsa „%sâ€: %s"
+msgstr "%s: nu se poate analiza „%sâ€: %s"
-#: plugins/sudoers/auth/kerb5.c:169
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
-msgstr "%s: nu se poate rezolva cache-ul de certificare: %s"
+msgstr "%s: nu s-a putut determina memoria tampon de certificare: %s"
-#: plugins/sudoers/auth/kerb5.c:216
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: nu se pot aloca opțiunile: %s"
-#: plugins/sudoers/auth/kerb5.c:231
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: nu se pot obține certificările: %s"
-#: plugins/sudoers/auth/kerb5.c:244
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
-msgstr "%s: nu se poate inițializa cache-ul de certificare: %s"
+msgstr "%s: nu se poate inițializa memoria tampon de certificare: %s"
-#: plugins/sudoers/auth/kerb5.c:247
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
-msgstr "%s: nu se poate stoca certificarea în cache: %s"
+msgstr "%s: nu se poate stoca certificarea în memoria tampon: %s"
-#: plugins/sudoers/auth/kerb5.c:311
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
-msgstr "%s: nu se poate obține principalul gazdei: %s"
+msgstr "%s: nu se poate obține identitatea kerberos a gazdei: %s"
-#: plugins/sudoers/auth/kerb5.c:325
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: Nu se poate verifica TGT! Posibil atac!: %s"
-#: plugins/sudoers/auth/pam.c:218
+#: plugins/sudoers/auth/pam.c:224
#, c-format
msgid "unable to initialize PAM: %s"
msgstr "nu se poate inițializa PAM: %s"
-#: plugins/sudoers/auth/pam.c:317
+#: plugins/sudoers/auth/pam.c:337
#, c-format
msgid "PAM authentication error: %s"
msgstr "Eroare de autentificare PAM: %s"
-#: plugins/sudoers/auth/pam.c:336
+#: plugins/sudoers/auth/pam.c:356
msgid "account validation failure, is your account locked?"
msgstr "eșec la validarea contului, este contul blocat?"
-#: plugins/sudoers/auth/pam.c:347
+#: plugins/sudoers/auth/pam.c:367
msgid "Account or password is expired, reset your password and try again"
msgstr "Contul sau parola au expirat, restabiliți parola și încercați din nou"
-#: plugins/sudoers/auth/pam.c:353
+#: plugins/sudoers/auth/pam.c:373
#, c-format
msgid "unable to change expired password: %s"
msgstr "nu se poate schimba parola expirată: %s"
-#: plugins/sudoers/auth/pam.c:364
+#: plugins/sudoers/auth/pam.c:384
msgid "Password expired, contact your system administrator"
msgstr "Parolă expirată, contactați administratorul de sistem"
-#: plugins/sudoers/auth/pam.c:369
+#: plugins/sudoers/auth/pam.c:389
msgid "Account expired or PAM config lacks an \"account\" section for sudo, contact your system administrator"
-msgstr "Contul este expirat sau configurării PAM îi lipsește o secțiune „cont†pentru sudo, contactați administratorul de sistem"
+msgstr "Contul este expirat sau configurării PAM îi lipsește o secțiune „account†pentru «sudo», contactați administratorul de sistem"
-#: plugins/sudoers/auth/pam.c:377 plugins/sudoers/auth/pam.c:382
+#: plugins/sudoers/auth/pam.c:397 plugins/sudoers/auth/pam.c:402
#, c-format
msgid "PAM account management error: %s"
msgstr "Eroare de gestionare a contului PAM: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:242
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "nu existați în baza de date %s"
-#: plugins/sudoers/auth/securid5.c:72
+#: plugins/sudoers/auth/securid5.c:75
msgid "failed to initialise the ACE API library"
msgstr "nu s-a putut inițializa biblioteca API ACE"
-#: plugins/sudoers/auth/securid5.c:98
+#: plugins/sudoers/auth/securid5.c:106
msgid "unable to contact the SecurID server"
msgstr "nu se poate contacta serverul SecurID"
-#: plugins/sudoers/auth/securid5.c:107
+#: plugins/sudoers/auth/securid5.c:115
msgid "User ID locked for SecurID Authentication"
msgstr "ID-ul utilizatorului blocat pentru autentificarea SecurID"
-#: plugins/sudoers/auth/securid5.c:111 plugins/sudoers/auth/securid5.c:162
+#: plugins/sudoers/auth/securid5.c:119 plugins/sudoers/auth/securid5.c:170
msgid "invalid username length for SecurID"
msgstr "lungime de nume de utilizator nevalidă pentru SecurID"
-#: plugins/sudoers/auth/securid5.c:115 plugins/sudoers/auth/securid5.c:167
+#: plugins/sudoers/auth/securid5.c:123 plugins/sudoers/auth/securid5.c:175
msgid "invalid Authentication Handle for SecurID"
-msgstr "mâner de autentificare nevalid pentru SecurID"
+msgstr "gestionar de autentificare (Authentication Handle) nevalid pentru SecurID"
-#: plugins/sudoers/auth/securid5.c:119
+#: plugins/sudoers/auth/securid5.c:127
msgid "SecurID communication failed"
msgstr "Comunicarea SecurID a eșuat"
-#: plugins/sudoers/auth/securid5.c:123 plugins/sudoers/auth/securid5.c:212
+#: plugins/sudoers/auth/securid5.c:131 plugins/sudoers/auth/securid5.c:218
msgid "unknown SecurID error"
msgstr "eroare de SecurID necunoscută"
-#: plugins/sudoers/auth/securid5.c:157
+#: plugins/sudoers/auth/securid5.c:165
msgid "invalid passcode length for SecurID"
msgstr "lungime de cod de parolă nevalidă pentru SecurID"
-#: plugins/sudoers/auth/sia.c:69 plugins/sudoers/auth/sia.c:124
+#: plugins/sudoers/auth/sia.c:69 plugins/sudoers/auth/sia.c:126
msgid "unable to initialize SIA session"
msgstr "nu se poate inițializa sesiunea SIA"
-#: plugins/sudoers/auth/sudo_auth.c:132
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "metode de autentificare nevalide"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
-msgstr "Metode de autentificare nevalide compilate în sudo! Nu se pot amesteca autentificările autonome și neautonome."
+msgstr "Metode de autentificare nevalide compilate în «sudo»! Nu se pot amesteca autentificările autonome și neautonome."
-#: plugins/sudoers/auth/sudo_auth.c:255 plugins/sudoers/auth/sudo_auth.c:305
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "nu există metode de autentificare"
-#: plugins/sudoers/auth/sudo_auth.c:257
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
-msgstr "Nu există metode de autentificare compilate în sudo! Dacă doriți să opriți autentificarea, utilizați opțiunea de configurare --disable-authentication."
+msgstr "Nu există metode de autentificare compilate în «sudo»! Dacă doriÈ›i să opriÈ›i autentificarea, utilizaÈ›i opÈ›iunea de configurare „--disable-authenticationâ€."
-#: plugins/sudoers/auth/sudo_auth.c:307
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Nu se pot inițializa metodele de autentificare."
-#: plugins/sudoers/auth/sudo_auth.c:473
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "Metode de autentificare:"
#: plugins/sudoers/bsm_audit.c:123 plugins/sudoers/bsm_audit.c:214
msgid "Could not determine audit condition"
-msgstr "Nu s-a putut determina condiția de audit"
+msgstr "Nu s-a putut determina condiția de auditare"
#: plugins/sudoers/bsm_audit.c:188 plugins/sudoers/bsm_audit.c:277
msgid "unable to commit audit record"
-msgstr "nu se poate comite înregistrarea de audit"
+msgstr "nu se poate consemna înregistrarea de auditare"
+
+#: plugins/sudoers/check.c:275
+#, c-format
+msgid "error reading lecture file %s"
+msgstr "eroare la citirea fișierului de instrucțiuni %s"
-#: plugins/sudoers/check.c:258
+#: plugins/sudoers/check.c:278
+#, c-format
+msgid "ignoring lecture file %s: not a regular file"
+msgstr "se ignoră fișierul de instrucțiuni %s: nu este un fișier obișnuit"
+
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1064,135 +1624,125 @@ msgid ""
"\n"
msgstr ""
"\n"
-"Avem încredere că ați primit lectura obișnuită de la administratorul de\n"
-"sistem local. De obicei se reduce la aceste trei lucruri:\n"
+"Avem încredere că ați primit instrucțiunile de utilizare obișnuite de\n"
+"la administratorul de sistem local. De obicei se reduce la aceste trei\n"
+"lucruri:\n"
"\n"
-" #1) Respectă intimitatea celorlalți.\n"
-" #2) Gândește înainte de a tasta.\n"
-" #3) Cu putere mare vine o mare responsabilitate.\n"
+" 1. Respectă intimitatea celorlalți.\n"
+" 2. Gândește înainte de a tasta.\n"
+" 3. Cu o mare putere vine o mare responsabilitate.\n"
"\n"
-#: plugins/sudoers/check.c:301 plugins/sudoers/check.c:311
-#: plugins/sudoers/sudoers.c:763 plugins/sudoers/sudoers.c:811
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
+#, c-format
+msgid "unknown uid %u"
+msgstr "uid necunoscut %u"
+
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "unknown uid: %u"
-msgstr "uid necunoscut: %u"
+msgid "cycle in %s \"%s\""
+msgstr "ciclu în %s „%sâ€"
-#: plugins/sudoers/check.c:306 plugins/sudoers/iolog.c:117
-#: plugins/sudoers/policy.c:1037 plugins/sudoers/sudoers.c:387
-#: plugins/sudoers/sudoers.c:388 plugins/sudoers/sudoers.c:1240
-#: plugins/sudoers/testsudoers.c:219 plugins/sudoers/testsudoers.c:392
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "unknown user: %s"
-msgstr "utilizator necunoscut: %s"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "%s „%s†menționat, dar nu definit"
-#: plugins/sudoers/cvtsudoers.c:195
+#: plugins/sudoers/cvtsudoers.c:209
#, c-format
msgid "order increment: %s: %s"
-msgstr "incrementarea ordinii: %s: %s"
+msgstr "incrementarea de ordine: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:211
+#: plugins/sudoers/cvtsudoers.c:228
#, c-format
msgid "starting order: %s: %s"
-msgstr "ordinea de început: %s: %s"
+msgstr "ordinea de pornire: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:221
+#: plugins/sudoers/cvtsudoers.c:238
#, c-format
msgid "order padding: %s: %s"
-msgstr "umplutură de ordin: %s: %s"
+msgstr "completarea de ordine: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:231 plugins/sudoers/visudo.c:180
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s versiune de gramatică %d\n"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/testsudoers.c:167
+#: plugins/sudoers/cvtsudoers.c:277 plugins/sudoers/testsudoers.c:159
#, c-format
msgid "unsupported input format %s"
msgstr "format de intrare nesuportat %s"
-#: plugins/sudoers/cvtsudoers.c:263
+#: plugins/sudoers/cvtsudoers.c:295
#, c-format
msgid "unsupported output format %s"
msgstr "format de ieșire nesuportat %s"
-#: plugins/sudoers/cvtsudoers.c:315
+#: plugins/sudoers/cvtsudoers.c:385
#, c-format
msgid "%s: input and output files must be different"
msgstr "%s: fișierele de intrare și ieșire trebuie să fie diferite"
-#: plugins/sudoers/cvtsudoers.c:331 plugins/sudoers/sudoers.c:181
-#: plugins/sudoers/testsudoers.c:258 plugins/sudoers/visudo.c:248
-#: plugins/sudoers/visudo.c:604 plugins/sudoers/visudo.c:927
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
-msgstr "nu se poate inițializa valorile implicite a sudoers"
+msgstr "nu se poate iniÈ›ializa valorile implicite ale lui „sudoersâ€"
-#: plugins/sudoers/cvtsudoers.c:417 plugins/sudoers/ldap_conf.c:431
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s: %s: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:476
+#: plugins/sudoers/cvtsudoers.c:584
#, c-format
-msgid "%s: unknown key word: %s"
-msgstr "%s: cuvânt cheie necunoscut: %s"
+msgid "%s: unknown key word %s"
+msgstr "%s: cuvânt cheie necunoscut %s"
-#: plugins/sudoers/cvtsudoers.c:522
+#: plugins/sudoers/cvtsudoers.c:630
#, c-format
msgid "invalid defaults type: %s"
-msgstr "tip de implicite nevalid: %s"
+msgstr "tip de valori implicite nevalid: %s"
-#: plugins/sudoers/cvtsudoers.c:545
+#: plugins/sudoers/cvtsudoers.c:653
#, c-format
msgid "invalid suppression type: %s"
msgstr "tip de suprimare nevalid: %s"
-#: plugins/sudoers/cvtsudoers.c:585 plugins/sudoers/cvtsudoers.c:599
+#: plugins/sudoers/cvtsudoers.c:694 plugins/sudoers/cvtsudoers.c:710
#, c-format
msgid "invalid filter: %s"
msgstr "filtru nevalid: %s"
-#: plugins/sudoers/cvtsudoers.c:618 plugins/sudoers/cvtsudoers.c:635
-#: plugins/sudoers/cvtsudoers.c:1245 plugins/sudoers/cvtsudoers_json.c:861
-#: plugins/sudoers/cvtsudoers_ldif.c:680 plugins/sudoers/sudoers.c:986
-#: plugins/sudoers/sudoreplay.c:1436 plugins/sudoers/timestamp.c:441
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:923
-#, c-format
-msgid "unable to open %s"
-msgstr "nu se poate deschide %s"
-
-#: plugins/sudoers/cvtsudoers.c:638 plugins/sudoers/visudo.c:932
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
-msgstr "nu s-a putut parsa fișierul %s, eroare necunoscută"
+msgstr "nu s-a putut analiza fișierul %s, eroare necunoscută"
-#: plugins/sudoers/cvtsudoers.c:646 plugins/sudoers/visudo.c:949
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "eroare de parsare în %s aproape de linia %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:649 plugins/sudoers/visudo.c:952
-#, c-format
-msgid "parse error in %s\n"
-msgstr "eroare de parsare în %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1292 plugins/sudoers/sudoreplay.c:1125
-#: plugins/sudoers/timestamp.c:325 plugins/sudoers/timestamp.c:328
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "nu se poate scrie la %s"
-#: plugins/sudoers/cvtsudoers.c:1315
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
"\n"
msgstr ""
-"%s - convertește între formatele de fișier sudoers\n"
+"%s - converteÈ™te între formatele de fiÈ™ier „sudoersâ€\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1317
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1214,702 +1764,916 @@ msgid ""
" -V, --version display version information and exit"
msgstr ""
"\n"
-"Options:\n"
-" -b, --base=dn baza DN pentru interogări LDAP sudo\n"
-" -c, --config=conf_file calea către fișierul de configurare\n"
-" -d, --defaults=deftypes convertește implicite doar pentru tipurile specificate\n"
-" -e, --expand-aliases extinde aliasurile când se convertește\n"
-" -f, --output-format=format de ieșire stabilit de format: JSON, LDIF sau sudoers\n"
-" -i, --input-format=format format de intrare stabilit: LDIF sau sudoers\n"
-" -I, --increment=num cantitate cu care se mărește fiecare sudoOrder\n"
-" -h, --help afișează mesajul de ajutor și ieși\n"
-" -m, --match=filter conertește doar intrările care se potrivesc cu filtrul\n"
-" -M, --match-local filtrul potrivit utilizează passwd și baze de date ale grupului\n"
-" -o, --output=output_file scrie sudoers convertit la fișierul_ieșire\n"
-" -O, --order-start=num punct de început pentru primul sudoOrder\n"
-" -p, --prune-matches reduce utilizatori, grupuri și gazde care nu se potrivesc\n"
-" -P, --padding=num umplutură de bază pentru incrementarea sudoOrder\n"
-" -s, --suppress=sections suprimă ieșirea a anumitor acțiuni\n"
-" -V, --version afișează informația versiunii și ieși"
-
-#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:514
-#: plugins/sudoers/cvtsudoers_json.c:702
-#, c-format
-msgid "unknown defaults entry \"%s\""
-msgstr "intrare de implicite necunoscută „%sâ€"
-
-#: plugins/sudoers/cvtsudoers_json.c:640 plugins/sudoers/cvtsudoers_json.c:653
-#: plugins/sudoers/cvtsudoers_ldif.c:345 plugins/sudoers/cvtsudoers_ldif.c:356
-#: plugins/sudoers/ldap.c:502
+"Opțiuni:\n"
+" -b, --base=dn baza DN pentru interogări LDAP «sudo»\n"
+" -c, --config=fișier_conf calea către fișierul de configurare\n"
+" -d, --defaults=tip_def convertește valorile implicite doar pentru tipurile specificate\n"
+" -e, --expand-aliases extinde numele de alias la conversie\n"
+" -f, --output-format=format stabileÈ™te formatul de ieÈ™ire: JSON, LDIF sau „sudoersâ€\n"
+" -i, --input-format=format stabileÈ™te formatul de intrare: LDIF sau „sudoersâ€\n"
+" -I, --increment=num cantitate cu care se mărește fiecare sudoOrder\n"
+" -h, --help afișează mesajul de ajutor și iese\n"
+" -m, --match=filtru convertește doar intrările care se potrivesc cu filtrul\n"
+" -M, --match-local filtrul de potrivire utilizează baze de date cu parole și grupuri\n"
+" -o, --output=fișier_ieșire scrie „sudoers†convertit, la fișier_ieșire\n"
+" -O, --order-start=num punctul de pornire pentru primul sudoOrder\n"
+" -p, --prune-matches elimină utilizatori, grupuri și gazde care nu se potrivesc\n"
+" -P, --padding=num completarea de bază pentru incrementarea sudoOrder\n"
+" -s, --suppress=secțiuni suprimă ieșirea anumitor secțiuni\n"
+" -V, --version afișează informația versiunii și iese"
+
+#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
+#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "nu se poate obține ora GMT"
-#: plugins/sudoers/cvtsudoers_json.c:643 plugins/sudoers/cvtsudoers_json.c:656
-#: plugins/sudoers/cvtsudoers_ldif.c:348 plugins/sudoers/cvtsudoers_ldif.c:359
-#: plugins/sudoers/ldap.c:508
+#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
+#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "nu se poate formata marcajul de timp"
-#: plugins/sudoers/cvtsudoers_ldif.c:632
+#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
+#: plugins/sudoers/cvtsudoers_json.c:728
+#, c-format
+msgid "%s:%d:%d: unknown defaults entry \"%s\""
+msgstr "%s:%d:%d: intrare de valori implicite necunoscută „%sâ€"
+
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
-msgstr "prea multe intrări sudoers, maximum %u"
+msgstr "prea multe intrări „sudoersâ€, maxim %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:675
+#: plugins/sudoers/cvtsudoers_ldif.c:704
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ă."
+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
+#, 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
+#, c-format
+msgid "unable to find alias %s"
+msgstr "nu se poate găsi alias %s"
+
+#: plugins/sudoers/cvtsudoers_merge.c:548
+#, 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
+#, 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
+#, 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
+#, 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
+#, 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/def_data.c:42
+#: plugins/sudoers/cvtsudoers_merge.c:892
+#, 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
+#, 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
+#, 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
#, c-format
msgid "Syslog facility if syslog is being used for logging: %s"
-msgstr "Facilitatea syslog dacă syslog este utilizat pentru înregistrare: %s"
+msgstr "Facilitatea syslog dacă «syslog» este utilizat pentru înregistrarea evenimentelor: %s"
-#: plugins/sudoers/def_data.c:46
+#: plugins/sudoers/def_data.c:60
#, 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:50
+#: plugins/sudoers/def_data.c:64
#, 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:54
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "Plasează prompterul OTP pe propria linie"
-#: plugins/sudoers/def_data.c:58
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "Ignoră „.†în $PATH"
-#: plugins/sudoers/def_data.c:62
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
-msgstr "Trimite întotdeauna mail când sudo este rulat"
+msgstr "Trimite întotdeauna mail când «sudo» este rulat"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Trimite mail dacă autentificarea eșuează"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:84
msgid "Send mail if the user is not in sudoers"
-msgstr "Trimite mail dacă utilizatorul nu este în sudoers"
+msgstr "Trimite mail dacă utilizatorul nu este în „sudoersâ€"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:88
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ă"
+msgstr "Trimite mail dacă utilizatorul nu este în „sudoers†pentru această gazdă"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:92
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:82
+#: plugins/sudoers/def_data.c:96
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:86
+#: plugins/sudoers/def_data.c:100
msgid "Use a separate timestamp for each user/tty combo"
-msgstr "Utilizează un marcaj de timp separat pentru fiecare combinare utilizator/tty"
+msgstr "Utilizează un marcaj de timp separat pentru fiecare combinație utilizator/tty"
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
-msgstr "Ține o prelegere utilizatorului când rulează pentru prima dată sudo"
+msgstr "Ține o prelegere utilizatorului când rulează pentru prima dată «sudo»"
-#: plugins/sudoers/def_data.c:94
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
-msgstr "Fișierul care conține lectura sudo: %s"
+msgstr "Fișierul care conține instrucțiunile de utilizare ale «sudo»: %s"
-#: plugins/sudoers/def_data.c:98
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Cere utilizatorilor să se autentifice ca implicit"
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
-msgstr "Root poate rula sudo"
+msgstr "Root poate rula «sudo»"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
-msgstr "Înregistrează numele gazdei în fișierul de înregistrare (ne-syslog)"
+msgstr "Înregistrează numele gazdei în fișierul de jurnal (ne-syslog)"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
-msgstr "Înregistrează anul fișierului de înregistrare (ne-syslog)"
+msgstr "Înregistrează anul în fișierul de jurnal (ne-syslog)"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:128
msgid "If sudo is invoked with no arguments, start a shell"
-msgstr "Dacă sudo este invocat fără argumente, pornește un shell"
+msgstr "Dacă «sudo» este invocat fără argumente, pornește un shell"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:132
msgid "Set $HOME to the target user when starting a shell with -s"
-msgstr "Stabilește $HOME la ținta utilizatorului când se pornește un shell cu -s"
+msgstr "StabileÈ™te $HOME pentru utilizatorul vizat când se porneÈ™te un shell cu opÈ›iunea „-sâ€"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:136
msgid "Always set $HOME to the target user's home directory"
-msgstr "Totdeauna stabilește $HOME la directorul personal al utilizatorului țintă"
+msgstr "Totdeauna stabilește $HOME la directorul personal al utilizatorului vizat"
-#: plugins/sudoers/def_data.c:126
+#: plugins/sudoers/def_data.c:140
msgid "Allow some information gathering to give useful error messages"
-msgstr "Permite colectarea de informații pentru a da eroare de mesaje utile"
+msgstr "Permite colectarea de informații pentru a oferi mesaje de eroare utile"
-#: plugins/sudoers/def_data.c:130
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
-msgstr "Necesită nume de gazdă calificate complet în fișierul sudoers"
+msgstr "Necesită nume de gazdă calificate complet în fiÈ™ierul „sudoersâ€"
-#: plugins/sudoers/def_data.c:134
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
-msgstr "Insultă utilizatorul când introduce o parolă incorectă"
+msgstr "Insultă utilizatorul când acesta introduce o parolă incorectă"
-#: plugins/sudoers/def_data.c:138
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
-msgstr "Permite utilizatorului să ruleze sudo doar dacă are un tty"
+msgstr "Permite utilizatorului să ruleze «sudo» doar dacă are un tty"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
-msgstr "Visudo va onora variabila de mediu EDITOR"
+msgstr "«Visudo» va respecta variabila de mediu $EDITOR"
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "Solicită parola pentru root, nu a utilizatorului"
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
-msgstr "Solicită pentru parola utilizatorului runas_default, nu a utilizatorului"
+msgstr "Solicită parola pentru utilizatorul runas_default, nu a utilizatorului"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
-msgstr "Solicită pentru parola utilizatorului țintă, nu a utilizatorului"
+msgstr "Solicită parola pentru utilizatorul vizat, nu a utilizatorului"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
-msgstr "Aplică implicitele în clasa de autentificare a utilizatorului țintă dacă aceasta există"
+msgstr "Aplică valorile implicite în clasa de autentificare a utilizatorului vizat dacă aceasta există"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
-msgstr "Stabilește variabilele de mediu NUMEISTORIC și UTILIZATOR"
+msgstr "Stabilește variabilele de mediu $LOGNAME și $USER"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
-msgstr "Stabilește doar uid-ul efectiv la utilizatorul țintă, nu uid-ul real"
+msgstr "Stabilește pentru utilizatorul vizat doar uid-ul efectiv, nu uid-ul real"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
-msgstr "Nu inițializa vectorul de grup la cel al utilizatorului țintă"
+msgstr "Nu inițializează vectorul de grup la cel al utilizatorului vizat"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:188
#, 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 istoric (0 pentru fără încadrare): %u"
+msgstr "Lungimea la care să se încadreze liniile fișierului de jurnal (0 pentru fără încadrare): %u"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
-msgstr "Limită de timp a datării de autentificare: %.1f minute"
+msgstr "Marcajul de timp al autentificării, expiră în: %.1f minute"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
-msgstr "Limită de timp a solicitării parolei: %.1f minute"
+msgstr "Timpul pentru solicitarea parolei, expiră în: %.1f minute"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:200
#, 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:190
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
-msgstr "Demascarea de utilizat sau 0777 de utilizat pentru utilizator: 0%o"
+msgstr "Valoarea necesară umask, sau 0777 pentru utilizatorul: 0% o"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
-msgstr "Calea la fișierul de înregistrare: %s"
+msgstr "Calea la fișierul de jurnal: %s"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Calea la programul de mail: %s"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
-msgstr "Fanioane pentru programul de mail: %s"
+msgstr "Opțiuni pentru programul de mail: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "Adresa la care să se trimită mailul: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "Adresa de la care să se trimită mailul: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
-msgstr "Linia de subiect pentru mesajele mail: %s"
+msgstr "Linia de subiect pentru mesajele de mail: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
-msgstr "Mesaj de parolă incorect: %s"
+msgstr "Mesajul de avertizare de parolă incorectă: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
-msgstr "Cale către directorul de stare de lectură: %s"
+msgstr "Calea către directorul de stare a instrucțiunilor de utilizare a «sudo»(utilizatorul, le-a primit sau nu):% s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
-msgstr "Cale către directorul de datare de autentificare: %s"
+msgstr "Calea către directorul ce conține marcajele de timp ale autentificării: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
-msgstr "Deținător al directorului de datare de autentificare: %s"
+msgstr "Proprietarul directorului ce conține marcajele de timp ale autentificării: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:248
#, 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 parolei și PATH: %s"
+msgstr "Utilizatorii din acest grup sunt scutiți de la cerințele privind parola și PATH: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
-msgstr "Prompter de parolă implicită: %s"
+msgstr "Solicitarea implicită de parolă: %s"
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
-msgstr "Dacă este stabilit, prompterul de parolă va suprascrie prompterul de sistem în toate cazurile."
+msgstr "Dacă este definită, solicitarea de parolă a «sudo», o va înlocui pe cea de sistem în toate cazurile."
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:260
#, 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:250
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "Valoarea cu care să se suprascrie $PATH a utilizatorului: %s"
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
-msgstr "Calea către editorul de utilizat de visudo: %s"
+msgstr "Calea către editorul ce va fi utilizat de către «visudo»: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
-msgstr "Când să se ceară o parolă pentru pseudocomanda „listeazăâ€: %s"
+msgstr "Când să se ceară o parolă pentru pseudocomanda „listâ€: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
-msgstr "Când să se ceară o parolă pentru pseudocomanda „verificăâ€: %s"
+msgstr "Când să se ceară o parolă pentru pseudocomanda „verifyâ€: %s"
-#: plugins/sudoers/def_data.c:266
-msgid "Preload the dummy exec functions contained in the sudo_noexec library"
-msgstr "Preîncarcă funcțiile de execuție dummy conținute în biblioteca sudo_nonexec"
+#: plugins/sudoers/def_data.c:280
+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:270
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
-msgstr "Dacă directorul LDAP este jos, se ignoră fișierul sudoers local"
+msgstr "Dacă directorul LDAP este activ, se ignoră fișierul „sudoers†local"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
-msgstr "Descriptorii de fișier >= %d vor fi închise înainte de executarea unei comenzi"
+msgstr "Descriptorii de fișier >= %d se vor închide înainte de executarea unei comenzi"
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
-msgstr "Dacă este stabilit, utilizatorii pot să suprascrie valoarea a „closeform†cu opțiunea -C"
+msgstr "Dacă este definită, utilizatorii pot să suprascrie valoarea lui „closeform†cu opÈ›iunea „-Câ€"
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Permite utilizatorilor să stabilească variabile de mediu arbitrare"
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:300
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:290
-msgid "Environment variables to check for sanity:"
-msgstr "Variabile de mediu pentru a verifica starea de sănătate:"
+#: plugins/sudoers/def_data.c:304
+msgid "Environment variables to check for safety:"
+msgstr "Variabile de mediu care trebuie validate pentru a asigura securitatea:"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Variabile de mediu de eliminat:"
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Variabile de mediu de păstrat:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
-msgstr "Rolul SELinux de utilizat în contextul de securitate nou: %s"
+msgstr "Regula SELinux de utilizat în contextul de securitate nou: %s"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
-msgstr "Tipul SELinux de utilizat în contextul de securitate nou: %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:310
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
-msgstr "Calea către fișierul de mediu specific sudo: %s"
+msgstr "Calea către fișierul de mediu, propriu al «sudo»: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
-msgstr "Calea către fișierul de mediu specific sudo restricționat: %s"
+msgstr "Calea către fișierul restricționat de mediu, propriu al «sudo»: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
-msgstr "Localizare de utilizat în timpul parsării sudoers: %s"
+msgstr "Localizarea ce va fi utilizată în timpul analizării lui „sudoersâ€: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
-msgstr "Permite sudo să solicite o parolă chiar dacă ar fi vizibilă"
+msgstr "Permite lui «sudo» să solicite o parolă chiar dacă aceasta va fi vizibilă"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
-msgstr "Furnizează feedback vizual la solicitarea parolei când există intrare de utilizator"
+msgstr "Afișează un control vizual la solicitarea parolei, când aceasta este introdusă de către utilizator"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
-msgstr "Utilizează expandare mai rapidă care este mai puțin exactă dar nu accesează sistemul de fișiere"
+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:334
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
-msgstr "Demascarea specificată în sudoers o va suprascrie pe cea a utilizatorului, chiar dacă este mai permisivă"
+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:338
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
-msgstr "Înregistrează intrarea utilizatorului pentru comanda care se rulează"
+msgstr "Înregistrează în jurnal intrarea utilizatorului pentru comanda care se rulează"
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:356
msgid "Log the output of the command being run"
-msgstr "Înregistrează ieșire comenzii care se rulează"
+msgstr "Înregistrează în jurnal ieșirea comenzii care se rulează"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
-msgstr "Comprimă înregistrările I/O utilizând zlib"
+msgstr "Comprimă înregistrările din jurnal de In/Ieș utilizând «zlib»"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
-msgstr "Totdeauna rulează comenzile într-un pseudo-tty"
+msgstr "Execută întotdeauna comenzile într-un pseudo-tty"
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:368
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Modul pentru suport de grup non-Unix: %s"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:372
#, c-format
msgid "Directory in which to store input/output logs: %s"
-msgstr "Director în care să se stocheze înregistrările intrare/ieșire: %s"
+msgstr "Directorul în care se stochează informațiile returnate de operațiile de intrare/ieșire: %s"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:376
#, c-format
msgid "File in which to store the input/output log: %s"
-msgstr "Fișier în care să se stocheze înregistrarea intrare/ieșire: %s"
+msgstr "Fișierul în care se stochează informațiile returnate de operațiile de intrare/ieșire: %s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:380
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"
+msgstr "Adaugă o intrare la fișierul „utmp/utmpx†când se alocă un pty"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:384
msgid "Set the user in utmp to the runas user, not the invoking user"
-msgstr "Stabilește utilizatorul în utmp la utilizatorul runas, nu la utilizatorul care invocă"
+msgstr "StabileÈ™te utilizatorul în utmp la utilizatorul „run asâ€, nu la utilizatorul care invocă"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Setul de privilegii permise: %s"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Setul de privilegii limită: %s"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "Rulează comenzile pe un pty în fundal"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
-msgstr "Nume de serviciu PAM de utilizat: %s"
+msgstr "Numele serviciului PAM de utilizat: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
-msgstr "Nume de serviciu PAM de utilizat pentru shell-urile de autentificare: %s"
+msgstr "Numele serviciului PAM de utilizat pentru shell-urile de autentificare: %s"
+
+#: plugins/sudoers/def_data.c:408
+#, 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:394
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
-msgstr "Încearcă să stabilești certificări PAM pentru utilizatorul țintă"
+msgstr "Încearcă să stabilească certificări PAM pentru utilizatorul vizat"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
-msgstr "Creează o sesiune PAM pentru a rula comanda în ea"
+msgstr "Creează o nouă sesiune PAM pentru a rula comanda în ea"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
-msgstr "Execută gestionare de validare de cont PAM"
+msgstr "Realizează gestionarea validării contului PAM"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
-msgstr "Număr de secvență de istoric I/O maxim: %s"
+msgstr "Numărul maxim de secvență al jurnalului de In/Ieș: %s"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
-msgstr "Activează suportul de grup de rețea sudoers"
+msgstr "Activează suportul de „netgroup†(grup de reÈ›ea) „sudoersâ€"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:432
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"
+msgstr "Verifică directoarele părinte pentru capacitatea de scriere când se editează fișiere cu «sudoedit»"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:436
msgid "Follow symbolic links when editing files with sudoedit"
-msgstr "Urmărește legăturile simbolice când se editează fișierele cu sudoedit"
+msgstr "Urmărește legăturile simbolice când se editează fișierele cu «sudoedit»"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr "Interoghează modulul grupului pentru grupuri de sistem necunoscute"
-#: plugins/sudoers/def_data.c:426
+# R-GC, scrie:
+# È™i, curiozitatea, omoară pisica ! 😈ï¸
+# și ce, mama ..., înseamnă «tuple» ?
+# ***
+# citat din pagina:
+# https://en.wikipedia.org/wiki/Tuple
+# „The term originated as an abstraction of
+# the sequence: single, couple/double, triple,
+# quadruple, quintuple, sextuple, septuple,
+# octuple, ..., n‑tuple, ..., where the prefixes
+# are taken from the Latin names of the
+# numerals. The unique 0-tuple is called the
+# null tuple or empty tuple. A 1‑tuple is called
+# a single (or singleton), a 2‑tuple is called an
+# ordered pair or couple, and a 3‑tuple is
+# called a triple (or triplet).â€
+# ===
+# Morala, pentru „trăznaia†unuia, se scrie o
+# pagină întreagă(destul de vastă) în Wikipedia.
+# Și „bagă în boalăâ€, multă lume „luminatăâ€! 😇ï¸
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
-msgstr "Potrivește grupurile de rețea pe baza întregului tuplu: utilizator, gazdă și domeniu"
+msgstr "Potrivește „netgroups†(grupurile de rețea) pe baza întregului triplet: utilizator, gazdă și domeniu"
-#: plugins/sudoers/def_data.c:430
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
-msgstr "Permite comenzile să fie rulate chiar dacă sudo nu poate scrie la istoricul audit"
+msgstr "Permite executarea comenzilor chiar dacă «sudo» nu poate să scrie în jurnalul auditare"
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
-msgstr "Permite comenzile să fie rulate chiar dacă sudo nu poate scrie la istoricul I/O"
+msgstr "Permite executarea comenzilor chiar dacă «sudo» nu poate să scrie în jurnalul de In/Ieș"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
-msgstr "Permite comenzile să fie rulate chiar dacă sudo nu poate scrie la fișierul istoric"
-
-#: plugins/sudoers/def_data.c:442
+msgstr "Permite executarea comenzilor chiar dacă «sudo» nu poate să scrie în fișierul de jurnal"
+
+# R-GC, scrie:
+# cred că o traducere mai bună a acestui
+# mesaj, ar fi:
+# „Identifică grupurile din „sudoers†și face potrivirea după ID-ul grupului, nu după numeâ€
+# ***
+# Opinii/Idei?
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
-msgstr "Rezolvă grupurile în sudoers și potrivește pe ID-ul grupului, nu pe nume"
+msgstr "Rezolvă grupurile în „sudoers†și face potrivirea după ID-ul grupului, nu după nume"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
-msgstr "Intrările în istoric mai mari decât această valoare vor fi împărțite în mesaje syslog multiple: %u"
+msgstr "Intrările în jurnal mai mari decât această valoare vor fi împărțite în mai multe mesaje syslog: %u"
-#: plugins/sudoers/def_data.c:450
+# R-GC, scrie:
+# am înlocuit vechea traducere,
+# a acestui mesaj:
+#
+# „Utilizator care va deÈ›ine fiÈ™ierele istoricului I/O: %sâ€
+# cu cea prezentă, pentru că:
+#
+# 1. own = proprietar, stăpîn
+#
+# 2. proprietarul, deține ceva, avînd drepturi
+# depline asupra acestui lucru, bun;
+# pe cînd un chiriaș, un arendaș cu toate că
+# are drepturi asupra acestui lucru, bun;
+# drepturile acestea sunt îngrădite de
+# contractul avut cu proprietarul de drept,
+# cu arendatorul.
+#
+# 3. cu toate că fișierele de înregistrare a
+# diverselor informații despre lucrurile care
+# se întîmplă, desfășoară la un moment dat
+# în sistem, au un în general, un marcaj de
+# timp; nu înseamnă că acestea sunt un
+# istoric al acestor informații...
+# (marcajul de timp, este decît
+# „o plus valoare†a acestor informații)
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
-msgstr "Utilizator care va deține fișierele istoricului I/O: %s"
+msgstr "Utilizatorul ce va fi proprietarul fișierelor jurnalului de In/Ieș: %s"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
-msgstr "Grupul care va deține fișierele istoric I/O: %s"
+msgstr "Grupul ce va fi proprietarul fișierelor jurnalului de In/Ieș: %s"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
-msgstr "Modul de fișier de utilizat pentru fișierele istoric I/O: 0%o"
+msgstr "Modul de acces la fișier, utilizat pentru fișierele jurnalului de In/Ieș: 0%o"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
-msgstr "Execută comenzile prin descriptorul fișierului în loc de cale: %s"
+msgstr "Execută comenzile după descriptorul fișierului în loc de, după calea de acces: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
-msgstr "Ignoră intrările Implicite necunoscute în sudoers în locul producerii unui avertisment"
+msgstr "Ignoră intrările Defaults necunoscute din „sudoers†în loc de-a genera un avertisment"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:488
#, 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:474
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
-msgstr "Permite utilizatorul să specifice o limită de timp pe linia de comandă"
+msgstr "Permite utilizatorul să specifice o limită de timp, de la linia de comandă"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
-msgstr "Curătați datele de istoric I/O pe disc imediat în loc să le preîncărcați"
+msgstr "Transferă imediat datele jurnalului de In/Ieș pe disc, în loc să le stocheze în memoria tampon"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:500
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:486
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
-msgstr "Tipul de înregistrare de limită de timp de autentificare: %s"
+msgstr "Tipul de înregistrare a marcajului de timp a autentificării: %s"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
-msgstr "Mesaj de eșuare de autentificare: %s"
+msgstr "Mesaj de autentificare eșuată: %s"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
-msgstr "Ignoră majusculele când se potrivesc numele de utilizator"
+msgstr "Ignoră diferența dintre majusculele/minuscule când se caută după numele de utilizator"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
-msgstr "Ignoră majusculele când se potrivesc numele de grupuri"
+msgstr "Ignoră diferența dintre majusculele/minuscule când se caută după numele de grup"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:520
msgid "Log when a command is allowed by sudoers"
-msgstr "Înregistrează când o comandă este permisă de sudoers"
+msgstr "ÃŽnregistrează când o comandă este permisă de „sudoersâ€"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:524
msgid "Log when a command is denied by sudoers"
-msgstr "Înregistrează când o comandă este respinsă de sudoers"
+msgstr "ÃŽnregistrează când o comandă este respinsă de „sudoersâ€"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:528
msgid "Sudo log server(s) to connect to with optional port"
-msgstr "Server(e) de înregistrare sudo de conectat cu portul opțional"
+msgstr "Server(e) de înregistrare a jurnalului «sudo», la care se conectează cu portul opțional"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:532
#, c-format
msgid "Sudo log server timeout in seconds: %u"
-msgstr "Limită de timp de server de înregistrare sudo în secunde: %u"
+msgstr "Limita de timp a serverului de înregistrare a jurnalului «sudo», în secunde: %u"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:536
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"
+msgstr "Activează opțiunea de soclu SO_KEEPALIVE pe soclul conectat la serverul de înregistrare a jurnalului"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:540
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
-msgstr "Calea către fișierul pachet CA al serverului audit: %s"
+msgstr "Calea către fișierul pachet CA al serverului de auditare: %s"
-#: plugins/sudoers/def_data.c:526
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
-msgstr "Calea către fișierul certificat sudoers: %s"
+msgstr "Calea către fiÈ™ierul certificat „sudoersâ€: %s"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
-msgstr "Calea către fișierul cheie privată sudoers: %s"
+msgstr "Calea către fiÈ™ierul cheie privată „sudoersâ€: %s"
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:552
msgid "Verify that the log server's certificate is valid"
-msgstr "Verifică dacă certificatul serverului istoricului este valid"
+msgstr "Verifică dacă certificatul serverului de înregistrare a jurnalului, este valid"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:556
msgid "Allow the use of unknown runas user and/or group ID"
-msgstr "Permite utilizarea de ID-ul de grup și/sau utilizator runas necunoscut"
+msgstr "Permite utilizarea de ID de grup și/sau utilizator „run as†necunoscut"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:560
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:546
+#: plugins/sudoers/def_data.c:564
msgid "Set the pam remote user to the user running sudo"
-msgstr "Stabilește utilizatorul de la distanță pam la utilizatorul care rulează sudo"
+msgstr "Stabilește utilizatorul de la distanță de pam, la utilizatorul care rulează «sudo»"
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:568
msgid "Set the pam remote host to the local host name"
-msgstr "Stabilește gazda de la distanță pam la numele de gazdă local"
+msgstr "Stabilește gazda de la distanță de pam, la numele de gazdă local"
+
+#: plugins/sudoers/def_data.c:572
+#, c-format
+msgid "Working directory to change to before executing the command: %s"
+msgstr "Directorul de lucru la care trebuie să se schimbe, înainte de a executa comanda: %s"
+
+#: plugins/sudoers/def_data.c:576
+#, c-format
+msgid "Root directory to change to before executing the command: %s"
+msgstr "Directorul rădăcină la care trebuie să se schimbe, înainte de a executa comanda: %s"
+
+#: plugins/sudoers/def_data.c:580
+#, c-format
+msgid "The format of logs to produce: %s"
+msgstr "Formatul jurnalelor de produs: %s"
+
+#: plugins/sudoers/def_data.c:584
+msgid "Enable SELinux RBAC support"
+msgstr "Activează suportul RBAC în SELinux"
+
+#: plugins/sudoers/def_data.c:588
+#, c-format
+msgid "Path to the file that is created the first time sudo is run: %s"
+msgstr "Calea către fișierul care este creat prima dată când «sudo» este rulat: %s"
+
+#: plugins/sudoers/def_data.c:592
+msgid "Intercept further commands and apply sudoers restrictions to them"
+msgstr "Interceptează comenzile următoare, È™i le aplică restricÈ›iile „sudoersâ€"
+
+#: plugins/sudoers/def_data.c:596
+msgid "Log sub-commands run by the original command"
+msgstr "Înregistrează în jurnal subcomenzile executate de comanda originală"
+
+#: plugins/sudoers/def_data.c:600
+msgid "Log the exit status of commands"
+msgstr "Înregistrează în jurnal starea de ieșire a comenzilor"
+
+#: plugins/sudoers/def_data.c:604
+msgid "Subsequent commands in an intercepted session must be authenticated"
+msgstr "Comenzile ulterioare dintr-o sesiune interceptată trebuie să fie autentificate"
+
+#: plugins/sudoers/def_data.c:608
+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/defaults.c:183
+#: plugins/sudoers/def_data.c:612
#, c-format
-msgid "%s:%d unknown defaults entry \"%s\""
-msgstr "%s:%d intrare implicite necunoscută „%sâ€"
+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"
-#: plugins/sudoers/defaults.c:186
+# R-GC, scrie:
+# traducerea acestui mesaj, este făcută în
+# baza ideilor ce le-am putut extrage din
+# pagina:
+# https://en.wikipedia.org/wiki/Core_dump
+# ***
+# citez, de aici:
+# „In computing, a core dump,[a] memory dump, crash dump, storage dump, system dump, or ABEND dump[1] consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has crashed or otherwise terminated abnormally.â€
+#: plugins/sudoers/def_data.c:616
#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: intrare implicite necunoscută „%sâ€"
+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/defaults.c:229
+#: plugins/sudoers/def_data.c:620
#, c-format
-msgid "%s:%d no value specified for \"%s\""
-msgstr "%s:%d nicio valoare specificată pentru „%sâ€"
+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/defaults.c:232
+#: plugins/sudoers/def_data.c:624
#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: nicio valoare specificată pentru „%sâ€"
+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/defaults.c:252
+#: plugins/sudoers/def_data.c:628
#, c-format
-msgid "%s:%d values for \"%s\" must start with a '/'"
-msgstr "%s:%d valorile pentru „%s†trebuie să înceapă cu un „/â€"
+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/defaults.c:255
+#: plugins/sudoers/def_data.c:632
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: valorile pentru „%s†trebuie să înceapă cu un „/â€"
+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/defaults.c:277
+#: plugins/sudoers/def_data.c:636
#, c-format
-msgid "%s:%d option \"%s\" does not take a value"
-msgstr "%s:%d opțiunea „%s†nu ia o valoare"
+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/defaults.c:280
+#: plugins/sudoers/def_data.c:640
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: opțiunea „%s†nu ia o valoare"
+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/defaults.c:305
+#: plugins/sudoers/def_data.c:644
#, c-format
-msgid "%s:%d invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d tip de implicite nevalid 0x%x pentru opÈ›iunea „%sâ€"
+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/defaults.c:308
+#: plugins/sudoers/def_data.c:648
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: tip de implicite nevalid 0x%x pentru opÈ›iunea „%sâ€"
+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/defaults.c:318
+#: plugins/sudoers/def_data.c:652
#, c-format
-msgid "%s:%d value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d valoarea „%s†nu este validă pentru opÈ›iunea „%sâ€"
+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/defaults.c:321
+#: plugins/sudoers/def_data.c:656
+msgid "Attempt authentication even when in non-interactive mode"
+msgstr "Încercați să vă autentificați chiar și în modul non-interactiv"
+
+#: plugins/sudoers/def_data.c:660
+msgid "Store plaintext passwords in I/O log input"
+msgstr "Stochează parolele în formatul de text simplu în intrarea jurnalului de In/Ieș"
+
+#: plugins/sudoers/def_data.c:664
+msgid "List of regular expressions to use when matching a password prompt"
+msgstr "Listă de expresii regulate de utilizat atunci când se potrivește o solicitare de parolă"
+
+#: plugins/sudoers/def_data.c:668
+#, c-format
+msgid "The mechanism used by the intercept and log_subcmds options: %s"
+msgstr "Mecanismul utilizat de opÈ›iunile „intercept†și „log_subcmdsâ€: %s"
+
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: valoarea „%s†nu este validă pentru opÈ›iunea „%sâ€"
+msgid "AppArmor profile to use in the new security context: %s"
+msgstr "Profilul AppArmor de utilizat în noul context de securitate: %s"
+
+#: plugins/sudoers/defaults.c:191
+#, c-format
+msgid "unknown defaults entry \"%s\""
+msgstr "intrare de implicite necunoscută „%sâ€"
-#: plugins/sudoers/env.c:404
+#: plugins/sudoers/defaults.c:234
+#, c-format
+msgid "no value specified for \"%s\""
+msgstr "nicio valoare specificată pentru „%sâ€"
+
+#: plugins/sudoers/defaults.c:243
+#, c-format
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "operator nevalid „%c=\" pentru „%sâ€"
+
+#: plugins/sudoers/defaults.c:275
+#, c-format
+msgid "option \"%s\" does not take a value"
+msgstr "opțiunea „%s†nu primește o valoare"
+
+#: plugins/sudoers/defaults.c:299
+#, c-format
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "tip de Defaults nevalid 0x%x pentru opÈ›iunea „%sâ€"
+
+#: plugins/sudoers/defaults.c:306
+#, c-format
+msgid "value \"%s\" is invalid for option \"%s\""
+msgstr "valoarea „%s†nu este validă pentru opÈ›iunea „%sâ€"
+
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
+#, c-format
+msgid "path name for \"%s\" too long"
+msgstr "numele căii pentru „%s†este prea lung"
+
+#: plugins/sudoers/defaults.c:1133
+#, c-format
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "valorile pentru „%s†trebuie să înceapă cu un „/â€, „~â€, sau „*â€"
+
+#: plugins/sudoers/defaults.c:1140
+#, c-format
+msgid "values for \"%s\" must start with a '/'"
+msgstr "valorile pentru „%s†trebuie să înceapă cu un caracter „/â€"
+
+#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv: envp corupt, nepotrivire a lungimii"
-#: plugins/sudoers/env.c:1131
+#: plugins/sudoers/env.c:1095
msgid "unable to rebuild the environment"
-msgstr "nu se poate regenera mediul"
+msgstr "nu se poate reconstrui mediul"
-#: plugins/sudoers/env.c:1205
+#: plugins/sudoers/env.c:1169
#, 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"
-#: plugins/sudoers/file.c:104
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "eroare de parsare în %s lângă linia %d"
-
-#: plugins/sudoers/file.c:107
-#, c-format
-msgid "parse error in %s"
-msgstr "eroare de parsare în %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
-msgstr "tip de digest nesuportat %d pentru %s"
+msgstr "tip de sumă de control nesuportată %d pentru %s"
#: plugins/sudoers/filedigest.c:78
#, c-format
@@ -1924,9 +2688,9 @@ msgstr "%s trebuie să fie deținut de uid-ul %d"
#: plugins/sudoers/group_plugin.c:87
#, c-format
msgid "%s must only be writable by owner"
-msgstr "%s nu trebuie să fie inscriptibilă de către deținător"
+msgstr "%s trebuie să poată fi scris numai de către proprietar"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:571
+#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "nu se poate încărca %s: %s"
@@ -1939,769 +2703,821 @@ msgstr "nu se poate găsi simbolul „group_plugin†în %s"
#: plugins/sudoers/group_plugin.c:107
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
-msgstr "%s: versiune majoră de modul de grup incompatibilă %d, s-a așteptat %d"
+msgstr "%s: versiunea majoră a modului de grup %d, este incompatibilă, se aștepta %d"
-#: plugins/sudoers/interfaces.c:80 plugins/sudoers/interfaces.c:97
+#: plugins/sudoers/interfaces.c:76 plugins/sudoers/interfaces.c:93
#, c-format
msgid "unable to parse IP address \"%s\""
-msgstr "nu se poate parsa adresa IP „%sâ€"
+msgstr "nu se poate analiza adresa IP „%sâ€"
-#: plugins/sudoers/interfaces.c:85 plugins/sudoers/interfaces.c:102
+#: plugins/sudoers/interfaces.c:81 plugins/sudoers/interfaces.c:98
#, c-format
msgid "unable to parse netmask \"%s\""
-msgstr "nu se poate parsa masca de reÈ›ea „%sâ€"
+msgstr "nu se poate analiza masca de reÈ›ea „%sâ€"
-#: plugins/sudoers/interfaces.c:130
+#: plugins/sudoers/interfaces.c:126
msgid "Local IP address and netmask pairs:\n"
msgstr "Perechile adresă de IP locală și mască de rețea:\n"
-#: plugins/sudoers/iolog.c:142 plugins/sudoers/sudoers.c:393
-#: plugins/sudoers/sudoers.c:394 plugins/sudoers/sudoers.c:1274
-#: plugins/sudoers/testsudoers.c:416
-#, c-format
-msgid "unknown group: %s"
-msgstr "grup necunoscut: %s"
+#: plugins/sudoers/iolog.c:685
+msgid "unable to update sequence file"
+msgstr "nu se poate actualiza fișierul de secvență"
-#: plugins/sudoers/iolog.c:517 plugins/sudoers/iolog.c:807
-#: plugins/sudoers/iolog.c:959 plugins/sudoers/iolog.c:966
-#: plugins/sudoers/iolog.c:1087 plugins/sudoers/iolog.c:1094
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
-msgstr "nu se poate scrie la fișierul istoric I/O: %s"
+msgstr "nu se poate scrie în fișierul jurnal de In/Ieș: %s"
-#: plugins/sudoers/iolog.c:566
-msgid "unable to update sequence file"
-msgstr "nu se poate actualiza fișierul de secvență"
-
-#: plugins/sudoers/iolog.c:605
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "nu se poate crea %s/%s"
-#: plugins/sudoers/iolog.c:631
-msgid "unable to connect to log server"
-msgstr "nu se poate conecta la serverul de înregistrare"
-
-#: plugins/sudoers/iolog.c:851
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
-msgstr "%s: eroare internă, fișierul istoric I/O pentru evenimentul %d nu este deschis"
+msgstr "%s: eroare internă, fișierul jurnal de In/Ieș pentru evenimentul %d nu este deschis"
-#: plugins/sudoers/iolog.c:944 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1177 plugins/sudoers/timestamp.c:855
-#: plugins/sudoers/timestamp.c:947 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:498
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "nu se poate citi ceasul"
-#: plugins/sudoers/iolog.c:1169 plugins/sudoers/iolog_client.c:977
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: eroare internă, semnal nevalid %d"
-#: plugins/sudoers/iolog_client.c:113 plugins/sudoers/iolog_client.c:392
-#: plugins/sudoers/iolog_client.c:1200 plugins/sudoers/iolog_client.c:1775
-msgid "error in event loop"
-msgstr "eroare în bucla de eveniment"
-
-#: plugins/sudoers/iolog_client.c:194
-#, c-format
-msgid "Creation of new SSL_CTX object failed: %s"
-msgstr "Crearea obiectului SSL_CTX nou a eșuat: %s"
-
-#: plugins/sudoers/iolog_client.c:346 plugins/sudoers/iolog_client.c:351
-#, c-format
-msgid "TLS connection to %s:%s failed: %s"
-msgstr "Conexiunea TLS la %s:%s a eșuat: %s"
-
-#: plugins/sudoers/iolog_client.c:496
-msgid "TLS initialization was unsuccessful"
-msgstr "Inițializarea TLS nu a fost cu succes"
-
-#: plugins/sudoers/iolog_client.c:505
-msgid "TLS handshake was unsuccessful"
-msgstr "Conectarea TLS nu a fost cu succes"
-
-#: plugins/sudoers/iolog_client.c:767 plugins/sudoers/iolog_client.c:959
-msgid "unable to get time of day"
-msgstr "nu se poate obține timpul zilei"
-
-#: plugins/sudoers/iolog_client.c:986
-#, c-format
-msgid "%s: internal error, invalid exit status %d"
-msgstr "%s: eroare internă, stare de ieșire nevalidă %d"
-
-#: plugins/sudoers/iolog_client.c:1523
-msgid "lost connection to log server"
-msgstr "a fost pierdută conexiunea la serverul de înregistrare"
-
-#: plugins/sudoers/iolog_client.c:1600
-msgid "missing write buffer"
-msgstr "lipsește preîncărcarea de scriere"
-
-#: plugins/sudoers/ldap.c:176 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
msgid "starttls not supported when using ldaps"
-msgstr "starttls nu este suportată când se utilizează ldaps"
+msgstr "starttls nu este acceptat când se utilizează ldaps"
-#: plugins/sudoers/ldap.c:247
+#: plugins/sudoers/ldap.c:248
#, c-format
msgid "unable to initialize SSL cert and key db: %s"
-msgstr "nu se poate inițializa certificatul SSL și db a cheii: %s"
+msgstr "nu se poate inițializa certificatul SSL și baza de date a cheii: %s"
-#: plugins/sudoers/ldap.c:250
+#: plugins/sudoers/ldap.c:251
#, c-format
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "trebuie să stabiliți TLS_CERT în %s pentru a utiliza SSL"
-#: plugins/sudoers/ldap.c:1658
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "nu se poate inițializa LDAP: %s"
-#: plugins/sudoers/ldap.c:1694
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
-msgstr "start_tls specificat dar libs LDAP nu suportă ldap_start_tls_s() sau ldap_start_tls_s_np()"
+msgstr "start_tls specificat, dar bibliotecile LDAP nu acceptă ldap_start_tls_s() sau ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1831 plugins/sudoers/parse_ldif.c:744
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "atribut sudoOrder nevalid: %s"
#: plugins/sudoers/ldap_conf.c:200
-msgid "sudo_ldap_conf_add_ports: port too large"
-msgstr "sudo_ldap_conf_add_ports: portul prea mare"
+#, c-format
+msgid "%s: port too large"
+msgstr "%s: portul este prea mare"
#: plugins/sudoers/ldap_conf.c:260
#, c-format
msgid "unsupported LDAP uri type: %s"
-msgstr "tip uri LDAP nesuportat: %s"
+msgstr "tip de URI LDAP neacceptat: %s"
#: plugins/sudoers/ldap_conf.c:287
msgid "unable to mix ldap and ldaps URIs"
-msgstr "nu se pot fuziona URI-uri ldap și ldaps"
+msgstr "nu se pot fuziona adrese URI, ldap și ldaps"
-#: plugins/sudoers/ldap_util.c:548 plugins/sudoers/ldap_util.c:550
+#: plugins/sudoers/ldap_util.c:499 plugins/sudoers/ldap_util.c:506
+#: plugins/sudoers/ldap_util.c:514 plugins/sudoers/ldap_util.c:523
+#: plugins/sudoers/ldap_util.c:531 plugins/sudoers/ldap_util.c:541
+#: plugins/sudoers/ldap_util.c:549
+#, c-format
+msgid "duplicate sudoOption: %s%s%s"
+msgstr "sudoOption duplicată: %s%s%s"
+
+#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570
#, c-format
msgid "unable to convert sudoOption: %s%s%s"
msgstr "nu se poate converti sudoOption: %s%s%s"
-#: plugins/sudoers/linux_audit.c:58
+#: plugins/sudoers/linux_audit.c:58 plugins/sudoers/linux_audit.c:60
msgid "unable to open audit system"
-msgstr "nu se poate deschide sistemul audit"
+msgstr "nu se poate deschide sistemul de auditare"
-#: plugins/sudoers/linux_audit.c:100
+#: plugins/sudoers/linux_audit.c:103
msgid "unable to send audit message"
-msgstr "nu se poate trimite mesajul de audit"
+msgstr "nu se poate trimite mesajul de auditare"
+
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
+msgid "error in event loop"
+msgstr "eroare în bucla de eveniment"
-#: plugins/sudoers/logging.c:167
+#: plugins/sudoers/log_client.c:200
#, c-format
-msgid "unable to open log file: %s"
-msgstr "nu se poate deschide fișierul de istoric: %s"
+msgid "Creation of new SSL_CTX object failed: %s"
+msgstr "Crearea unui nou obiect SSL_CTX a eșuat: %s"
-#: plugins/sudoers/logging.c:175
+#: plugins/sudoers/log_client.c:225
#, c-format
-msgid "unable to lock log file: %s"
-msgstr "nu se poate bloca fișierul de istoric: %s"
+msgid "unable to load certificate authority bundle %s"
+msgstr "nu se poate încărca pachetul de autoritate de certificare %s"
-#: plugins/sudoers/logging.c:208
+#: plugins/sudoers/log_client.c:247
#, c-format
-msgid "unable to write log file: %s"
-msgstr "nu se poate scrie fișierul de istoric: %s"
+msgid "unable to load certificate %s"
+msgstr "nu se poate încărca certificatul %s"
+
+#: plugins/sudoers/log_client.c:261
+#, c-format
+msgid "unable to load private key %s"
+msgstr "nu se poate încărca cheia privată %s"
+
+#: plugins/sudoers/log_client.c:270
+#, c-format
+msgid "Unable to allocate ssl object: %s"
+msgstr "Nu se poate aloca obiectul ssl: %s"
-#: plugins/sudoers/logging.c:241
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
+#, c-format
+msgid "TLS connection to %s:%s failed: %s"
+msgstr "Conexiunea TLS la %s:%s a eșuat: %s"
+
+#: plugins/sudoers/log_client.c:538
+msgid "TLS initialization was unsuccessful"
+msgstr "Inițializarea TLS nu a reușit"
+
+#: plugins/sudoers/log_client.c:548
+msgid "TLS handshake was unsuccessful"
+msgstr "Negocierea TLS nu a reușit"
+
+#: plugins/sudoers/log_client.c:1246
+#, c-format
+msgid "%s: internal error, invalid exit status %d"
+msgstr "%s: eroare internă, stare de ieșire nevalidă %d"
+
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
+msgid "lost connection to log server"
+msgstr "a fost pierdută conexiunea la serverul de înregistrare a jurnalului"
+
+#: plugins/sudoers/log_client.c:1876
+msgid "missing write buffer"
+msgstr "lipsește memoria tampon de scriere"
+
+#: plugins/sudoers/log_client.c:2024
+msgid "unable to connect to log server"
+msgstr "nu se poate conecta la serverul de înregistrare a jurnalului"
+
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
-msgstr "utilizatorul NU este în sudoers"
+msgstr "utilizatorul NU este în „sudoersâ€"
-#: plugins/sudoers/logging.c:243
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "utilizatorul NU este autorizat pe gazdă"
-#: plugins/sudoers/logging.c:245
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "comanda nu este permisă"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:323
#, c-format
-msgid "%s is not in the sudoers file. This incident will be reported.\n"
-msgstr "%s nu este în fișierul sudoers. Acest incident va fi raportat.\n"
+msgid "%s is not in the sudoers file.\n"
+msgstr "%s nu se află în fiÈ™ierul „sudoersâ€.\n"
-#: plugins/sudoers/logging.c:291
+#: plugins/sudoers/logging.c:326
#, c-format
-msgid "%s is not allowed to run sudo on %s. This incident will be reported.\n"
-msgstr "%s nu are permisiunea de a rula sudo pe %s. Acest incident va fi raportat.\n"
+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:295
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
-msgstr "Utilizatorul %s poate să nu ruleze sudo pe %s.\n"
+msgstr "Este posibil ca utilizatorul %s să nu poată executa «sudo» pe %s.\n"
-#: plugins/sudoers/logging.c:298
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Utilizatorului %s nu îi este permis să execute „%s%s%s†ca %s%s%s pe %s.\n"
-#: plugins/sudoers/logging.c:335 plugins/sudoers/sudoers.c:512
-#: plugins/sudoers/sudoers.c:514 plugins/sudoers/sudoers.c:516
-#: plugins/sudoers/sudoers.c:518 plugins/sudoers/sudoers.c:665
-#: plugins/sudoers/sudoers.c:667
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Acest incident a fost raportat administratorului.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: comanda nu a fost găsită"
-#: plugins/sudoers/logging.c:337 plugins/sudoers/sudoers.c:508
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
"Use \"sudo ./%s\" if this is the \"%s\" you wish to run."
msgstr ""
"se ignoră „%s†găsit în „.â€\n"
-"Utilizați „sudo ./%s†dacă acesta este „%s†pe care doriți să îl rulați."
+"Utilizați «sudo ./%s» dacă aceasta este „%s†pe care doriți să o rulați."
-#: plugins/sudoers/logging.c:354
+#: plugins/sudoers/logging.c:395
+#, c-format
+msgid "%u incorrect password attempt"
+msgid_plural "%u incorrect password attempts"
+msgstr[0] "o încercare de parolă incorectă"
+msgstr[1] "două încercări de parolă incorecte"
+msgstr[2] "%u încercări de parolă incorecte"
+msgstr[3] "%u de încercări de parolă incorecte"
+
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "eșec de autentificare"
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "o parolă este necesară"
-#: plugins/sudoers/logging.c:450
-#, c-format
-msgid "%u incorrect password attempt"
-msgid_plural "%u incorrect password attempts"
-msgstr[0] "%u încercare de parolă incorectă"
-msgstr[1] "%u încercări de parolă incorecte"
-msgstr[2] "%u de încercări de parole incorecte"
-
-#: plugins/sudoers/logging.c:714
-#, c-format
-msgid "unable to dup stdin: %m"
-msgstr "nu se poate duplica stdin: %m"
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "problemă la analizarea sintaxei lui „sudoersâ€"
-#: plugins/sudoers/logging.c:751
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
#, c-format
-msgid "unable to execute %s: %m"
-msgstr "nu se poate executa %s: %m"
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
-#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:848
+#: plugins/sudoers/logging.c:1068
#, c-format
-msgid "unable to fork: %m"
-msgstr "nu se poate da fork: %m"
+msgid "unable to write log file: %s"
+msgstr "nu se poate scrie fișierul de jurnal: %s"
-#: plugins/sudoers/logging.c:838
+#: plugins/sudoers/match_digest.c:112
#, c-format
-msgid "unable to open pipe: %m"
-msgstr "nu se poate opri conexiunea: %m"
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "suma de control pentru %s (%s) are lungimea greșită %zu, se aștepta %zu"
-#: plugins/sudoers/match_digest.c:116
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
-msgstr "digest pentru %s (%s) nu este în forma %s"
+msgstr "suma de control pentru %s (%s) nu este în formatul %s"
-#: plugins/sudoers/parse.c:442
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
"LDAP Role: %s\n"
msgstr ""
"\n"
-"Rolul LDAP: %s\n"
+"Regula LDAP: %s\n"
-#: plugins/sudoers/parse.c:445
-#, c-format
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
msgstr ""
"\n"
-"Intrare sudoers:\n"
+"Intrare „sudoersâ€:\n"
-#: plugins/sudoers/parse.c:447
-#, c-format
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
-msgstr " RuleazăCaUtilizatori: "
+msgstr " RuleazăCaUtilizatorii: "
-#: plugins/sudoers/parse.c:462
-#, c-format
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
-msgstr " RuleazăCaGrupuri: "
+msgstr " RuleazăCaGrupurile: "
-#: plugins/sudoers/parse.c:472
-#, c-format
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Opțiuni: "
-#: plugins/sudoers/parse.c:522
-#, c-format
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Comenzi:\n"
-#: plugins/sudoers/parse.c:713
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
-msgstr "Se potrivesc intrările implicite pentru %s pe %s:\n"
+msgstr "Se potrivesc intrările Defaults pentru %s pe %s:\n"
-#: plugins/sudoers/parse.c:731
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
-msgstr "Implicite specifice comenzii și runas pentru %s:\n"
+msgstr "Valori implicite specifice „Run_as†și comenzii pentru %s:\n"
-#: plugins/sudoers/parse.c:749
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Utilizatorul %s poate să ruleze următoarele comenzi pe %s:\n"
-#: plugins/sudoers/parse.c:764
+#: plugins/sudoers/parse.c:921
#, 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"
+msgstr "Utilizatorului %s nu îi este permis să ruleze «sudo» pe %s.\n"
-#: plugins/sudoers/parse_ldif.c:614
+#: plugins/sudoers/parse_ldif.c:617
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
-msgstr "se ignoră sudoRole incomplet cn: %s"
+msgstr "se ignoră sudoRole incompletă: cn: %s"
-#: plugins/sudoers/parse_ldif.c:674
+#: plugins/sudoers/parse_ldif.c:677
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "atribut LDIF nevalid: %s"
-#: plugins/sudoers/policy.c:77 plugins/sudoers/policy.c:102
+#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
#, c-format
msgid "invalid %.*s set by sudo front-end"
-msgstr "%.*s nevalid stabilit de interfața sudo"
+msgstr "%.*s nevalid stabilit de interfața «sudo»"
-#: plugins/sudoers/policy.c:281 plugins/sudoers/testsudoers.c:272
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
-msgstr "nu se poate parsa lista de adrese de rețea"
+msgstr "nu se poate analiza lista de adrese de rețea"
-#: plugins/sudoers/policy.c:426
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr "numele de utilizator nu este stabilit de interfața sudo"
-#: plugins/sudoers/policy.c:430
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
-msgstr "ID-ul utilizatorului nu este stabilită de interfața sudo"
+msgstr "ID-ul utilizatorului nu este stabilit de interfața «sudo»"
-#: plugins/sudoers/policy.c:434
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
-msgstr "ID-ul grupului nu este stabilit de interfața sudo"
+msgstr "ID-ul grupului nu este stabilit de interfața «sudo»"
-#: plugins/sudoers/policy.c:438
+#: plugins/sudoers/policy.c:520
msgid "host name not set by sudo front-end"
msgstr "numele gazdei nu este stabilit de interfața sudo"
-#: plugins/sudoers/policy.c:896 plugins/sudoers/visudo.c:230
-#: plugins/sudoers/visudo.c:861
+#: plugins/sudoers/policy.c:706
+#, c-format
+msgid "invalid working directory: %s"
+msgstr "director de lucru nevalid: %s"
+
+#: plugins/sudoers/policy.c:886
+#, c-format
+msgid "invalid chroot directory: %s"
+msgstr "director „chroot†nevalid: %s"
+
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "nu se poate executa %s"
-#: plugins/sudoers/policy.c:1060
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
+#, c-format
+msgid "%s: invalid mode flags from sudo front end: 0x%x"
+msgstr "%s: indicatori de mod nevalizi în interfața «sudo»: 0x%x"
+
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
-msgstr "Versiune de modul de politică sudoers %s\n"
+msgstr "Versiunea modulului de politică „sudoersâ€, este %s\n"
-#: plugins/sudoers/policy.c:1062
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
-msgstr "Versiune de gramatică de fișier sudoers %d\n"
+msgstr "Versiunea de gramatică a fiÈ™ierului „sudoersâ€, este %d\n"
-#: plugins/sudoers/policy.c:1066
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
"Sudoers path: %s\n"
msgstr ""
"\n"
-"Cale sudoers: %s\n"
+"Cale „sudoersâ€: %s\n"
-#: plugins/sudoers/policy.c:1069
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "cale nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1071
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "cale ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1072
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "cale ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1105
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
-msgstr "nu se poate înregistra hook-ul de tipul %d (versiunea %d.%d)"
+msgstr "nu se poate înregistra cârligul de tip %d (versiunea %d.%d)"
-#: plugins/sudoers/pwutil.c:214 plugins/sudoers/pwutil.c:232
+#: plugins/sudoers/policy.c:1325
+#, 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)"
+
+#: plugins/sudoers/pwutil.c:222 plugins/sudoers/pwutil.c:240
#, c-format
msgid "unable to cache uid %u"
-msgstr "nu se poate plasa în cache uid-ul %u"
+msgstr "nu se poate stoca în memoria tampon uid-ul %u"
-#: plugins/sudoers/pwutil.c:226
+#: plugins/sudoers/pwutil.c:234
#, c-format
msgid "unable to cache uid %u, already exists"
-msgstr "nu se poate plasa în cache uid-ul %u, există deja"
+msgstr "nu se poate stoca în memoria tampon uid-ul %u, există deja"
-#: plugins/sudoers/pwutil.c:286 plugins/sudoers/pwutil.c:304
-#: plugins/sudoers/pwutil.c:367 plugins/sudoers/pwutil.c:412
+#: plugins/sudoers/pwutil.c:294 plugins/sudoers/pwutil.c:312
+#: plugins/sudoers/pwutil.c:375 plugins/sudoers/pwutil.c:420
#, c-format
msgid "unable to cache user %s"
-msgstr "nu se poate plasa în cache utilizatorul %s"
+msgstr "nu se poate stoca în memoria tampon utilizatorul %s"
-#: plugins/sudoers/pwutil.c:299
+#: plugins/sudoers/pwutil.c:307
#, c-format
msgid "unable to cache user %s, already exists"
-msgstr "nu se poate plasa în cache utilizatorul %s, există deja"
+msgstr "nu se poate stoca în memoria tampon utilizatorul %s, există deja"
-#: plugins/sudoers/pwutil.c:531 plugins/sudoers/pwutil.c:549
+#: plugins/sudoers/pwutil.c:539 plugins/sudoers/pwutil.c:557
#, c-format
msgid "unable to cache gid %u"
-msgstr "nu se poate plasa în cache gid-ul %u"
+msgstr "nu se poate stoca în memoria tampon gid-ul %u"
-#: plugins/sudoers/pwutil.c:543
+#: plugins/sudoers/pwutil.c:551
#, c-format
msgid "unable to cache gid %u, already exists"
-msgstr "nu se poate plasa în cache gid-ul %u, există deja"
+msgstr "nu se poate stoca în memoria tampon gid-ul %u, există deja"
-#: plugins/sudoers/pwutil.c:596 plugins/sudoers/pwutil.c:614
-#: plugins/sudoers/pwutil.c:662 plugins/sudoers/pwutil.c:704
+#: plugins/sudoers/pwutil.c:605 plugins/sudoers/pwutil.c:623
+#: plugins/sudoers/pwutil.c:684 plugins/sudoers/pwutil.c:733
#, c-format
msgid "unable to cache group %s"
-msgstr "nu se poate plasa în cache grupul %s"
+msgstr "nu se poate stoca în memoria tampon grupul %s"
-#: plugins/sudoers/pwutil.c:609
+#: plugins/sudoers/pwutil.c:618
#, c-format
msgid "unable to cache group %s, already exists"
-msgstr "nu se poate plasa în cache %s, există deja"
+msgstr "nu se poate stoca în memoria tampon grupul %s, există deja"
-#: plugins/sudoers/pwutil.c:831 plugins/sudoers/pwutil.c:883
-#: plugins/sudoers/pwutil.c:933 plugins/sudoers/pwutil.c:986
+#: plugins/sudoers/pwutil.c:880 plugins/sudoers/pwutil.c:931
+#: plugins/sudoers/pwutil.c:981 plugins/sudoers/pwutil.c:1033
#, c-format
msgid "unable to cache group list for %s, already exists"
-msgstr "nu se poate plasa în cache lista grupului pentru %s, există deja"
+msgstr "nu se poate stoca în memoria tampon lista grupului pentru %s, există deja"
-#: plugins/sudoers/pwutil.c:837 plugins/sudoers/pwutil.c:888
-#: plugins/sudoers/pwutil.c:939 plugins/sudoers/pwutil.c:991
+#: plugins/sudoers/pwutil.c:886 plugins/sudoers/pwutil.c:936
+#: plugins/sudoers/pwutil.c:987 plugins/sudoers/pwutil.c:1038
#, c-format
msgid "unable to cache group list for %s"
-msgstr "nu se poate plasa în cache lista grupului pentru %s"
+msgstr "nu se poate stoca în memoria tampon lista grupului pentru %s"
-#: plugins/sudoers/pwutil.c:877
+#: plugins/sudoers/pwutil.c:925
#, c-format
msgid "unable to parse groups for %s"
-msgstr "nu se pot parsa grupurile pentru %s"
+msgstr "nu se pot analiza grupurile pentru %s"
-#: plugins/sudoers/pwutil.c:980
+#: plugins/sudoers/pwutil.c:1027
#, c-format
msgid "unable to parse gids for %s"
-msgstr "nu se pot parsa gid-urile pentru %s"
+msgstr "nu se pot analiza gid-urile pentru %s"
-#: plugins/sudoers/set_perms.c:114 plugins/sudoers/set_perms.c:441
-#: plugins/sudoers/set_perms.c:844 plugins/sudoers/set_perms.c:1150
-#: plugins/sudoers/set_perms.c:1444
+#: plugins/sudoers/set_perms.c:114 plugins/sudoers/set_perms.c:445
+#: plugins/sudoers/set_perms.c:852 plugins/sudoers/set_perms.c:1162
+#: plugins/sudoers/set_perms.c:1460
msgid "perm stack overflow"
-msgstr "supraplin de stivă permanent"
+msgstr "supraplin al stivei de permisiuni"
-#: plugins/sudoers/set_perms.c:122 plugins/sudoers/set_perms.c:372
-#: plugins/sudoers/set_perms.c:449 plugins/sudoers/set_perms.c:711
-#: plugins/sudoers/set_perms.c:852 plugins/sudoers/set_perms.c:1074
-#: plugins/sudoers/set_perms.c:1158 plugins/sudoers/set_perms.c:1377
-#: plugins/sudoers/set_perms.c:1452 plugins/sudoers/set_perms.c:1542
+#: plugins/sudoers/set_perms.c:125 plugins/sudoers/set_perms.c:376
+#: plugins/sudoers/set_perms.c:456 plugins/sudoers/set_perms.c:719
+#: plugins/sudoers/set_perms.c:863 plugins/sudoers/set_perms.c:1086
+#: plugins/sudoers/set_perms.c:1173 plugins/sudoers/set_perms.c:1393
+#: plugins/sudoers/set_perms.c:1471 plugins/sudoers/set_perms.c:1562
msgid "perm stack underflow"
-msgstr "subplin de stivă permanent"
+msgstr "subnivel al stivei de permisiuni"
-#: plugins/sudoers/set_perms.c:181 plugins/sudoers/set_perms.c:495
-#: plugins/sudoers/set_perms.c:1211 plugins/sudoers/set_perms.c:1485
+#: plugins/sudoers/set_perms.c:185 plugins/sudoers/set_perms.c:503
+#: plugins/sudoers/set_perms.c:1227 plugins/sudoers/set_perms.c:1505
msgid "unable to change to root gid"
msgstr "nu se poate schimba la gid-ul root"
-#: plugins/sudoers/set_perms.c:272 plugins/sudoers/set_perms.c:592
-#: plugins/sudoers/set_perms.c:983 plugins/sudoers/set_perms.c:1288
+#: plugins/sudoers/set_perms.c:276 plugins/sudoers/set_perms.c:600
+#: plugins/sudoers/set_perms.c:995 plugins/sudoers/set_perms.c:1304
msgid "unable to change to runas gid"
-msgstr "nu se poate schimba la gid-ul runas"
+msgstr "nu se poate schimba la gid-ul „run asâ€"
-#: plugins/sudoers/set_perms.c:277 plugins/sudoers/set_perms.c:597
-#: plugins/sudoers/set_perms.c:988 plugins/sudoers/set_perms.c:1293
+#: plugins/sudoers/set_perms.c:281 plugins/sudoers/set_perms.c:605
+#: plugins/sudoers/set_perms.c:1000 plugins/sudoers/set_perms.c:1309
msgid "unable to set runas group vector"
-msgstr "nu se poate stabili vectorul de grup runas"
+msgstr "nu se poate stabili vectorul de grup „run asâ€"
-#: plugins/sudoers/set_perms.c:288 plugins/sudoers/set_perms.c:608
-#: plugins/sudoers/set_perms.c:997 plugins/sudoers/set_perms.c:1302
+#: plugins/sudoers/set_perms.c:292 plugins/sudoers/set_perms.c:616
+#: plugins/sudoers/set_perms.c:1009 plugins/sudoers/set_perms.c:1318
msgid "unable to change to runas uid"
-msgstr "nu se poate schimba uid-ul runas"
+msgstr "nu se poate schimba uid-ul „run asâ€"
-#: plugins/sudoers/set_perms.c:306 plugins/sudoers/set_perms.c:626
-#: plugins/sudoers/set_perms.c:1013 plugins/sudoers/set_perms.c:1318
+#: plugins/sudoers/set_perms.c:310 plugins/sudoers/set_perms.c:634
+#: plugins/sudoers/set_perms.c:1025 plugins/sudoers/set_perms.c:1334
msgid "unable to change to sudoers gid"
-msgstr "nu se poate schimba gid-ul sudoers"
+msgstr "nu se poate schimba gid-ul „sudoersâ€"
-#: plugins/sudoers/set_perms.c:359 plugins/sudoers/set_perms.c:698
-#: plugins/sudoers/set_perms.c:1061 plugins/sudoers/set_perms.c:1364
-#: plugins/sudoers/set_perms.c:1529
+#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
+#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
+#: plugins/sudoers/set_perms.c:1549
msgid "too many processes"
msgstr "prea multe procese"
#: plugins/sudoers/solaris_audit.c:61
msgid "unable to get current working directory"
-msgstr "nu se poate obține directorul de lucru"
+msgstr "nu se poate obține directorul de lucru actual"
#: plugins/sudoers/solaris_audit.c:69
#, c-format
msgid "truncated audit path user_cmnd: %s"
-msgstr "cale de audit trunchiată user_cmnd: %s"
+msgstr "cale de auditare trunchiată user_cmnd: %s"
#: plugins/sudoers/solaris_audit.c:76
#, c-format
msgid "truncated audit path argv[0]: %s"
-msgstr "cale de audit trunchiată argv[0]: %s"
+msgstr "cale de auditare trunchiată argv[0]: %s"
-#: plugins/sudoers/sssd.c:573
+#: plugins/sudoers/sssd.c:579
msgid "unable to initialize SSS source. Is SSSD installed on your machine?"
msgstr "nu se poate inițializa sursa SSS. Este SSSD instalat pe mașină?"
-#: plugins/sudoers/sssd.c:581 plugins/sudoers/sssd.c:590
-#: plugins/sudoers/sssd.c:599 plugins/sudoers/sssd.c:608
-#: plugins/sudoers/sssd.c:617
+#: plugins/sudoers/sssd.c:587 plugins/sudoers/sssd.c:596
+#: plugins/sudoers/sssd.c:605 plugins/sudoers/sssd.c:614
+#: plugins/sudoers/sssd.c:623
#, c-format
msgid "unable to find symbol \"%s\" in %s"
msgstr "nu se poate găsi simbolul „%s†în %s"
-#: plugins/sudoers/sudoers.c:217 plugins/sudoers/sudoers.c:943
-msgid "problem with defaults entries"
-msgstr "problemă cu intrările implicite"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "nu se pot obține valorile implicite de la %s"
-#: plugins/sudoers/sudoers.c:221
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
-msgstr "nicio sursă sudoers validă, se iese"
+msgstr "nicio sursă „sudoers†validă, se iese"
+
+#: plugins/sudoers/sudoers.c:341
+#, c-format
+msgid "user not allowed to change root directory to %s"
+msgstr "utilizatorul nu are permisiunea de a schimba directorul rădăcină în %s"
+
+#: plugins/sudoers/sudoers.c:343
+#, c-format
+msgid "you are not permitted to use the -R option with %s"
+msgstr "nu aveți permisiunea de a utiliza opțiunea „-R†cu %s"
+
+#: plugins/sudoers/sudoers.c:368
+#, c-format
+msgid "user not allowed to change directory to %s"
+msgstr "utilizatorului nu îi este permis să schimbe directorul la %s"
-#: plugins/sudoers/sudoers.c:297
+#: plugins/sudoers/sudoers.c:369
+#, c-format
+msgid "you are not permitted to use the -D option with %s"
+msgstr "nu aveți permisiunea de a utiliza opțiunea „-D†cu %s"
+
+#: plugins/sudoers/sudoers.c:396
+msgid "no command specified"
+msgstr "nicio comandă specificată"
+
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
-msgstr "sudoers specifică că root nu are permisiunea să sudo"
+msgstr "„sudoers†specifică că root nu are permisiunea să execute «sudo»"
-#: plugins/sudoers/sudoers.c:357
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
-msgstr "utilizatorului nu îi este permis să suprascrie limita de formă închisă"
+msgstr "utilizatorului nu îi este permis să suprascrie limita de closefrom"
-#: plugins/sudoers/sudoers.c:358
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
-msgstr "nu aveți permisiunea de a utiliza opțiunea -C"
+msgstr "nu aveÈ›i permisiunea de a utiliza opÈ›iunea „-Câ€"
-#: plugins/sudoers/sudoers.c:420
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
-msgstr "deținător datare (%s): Nu există un astfel de utilizator"
+msgstr "proprietar marcaj de timp (%s): Nu există un astfel de utilizator"
-#: plugins/sudoers/sudoers.c:435
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "fără tty"
-#: plugins/sudoers/sudoers.c:436
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
-msgstr "trebuie să aveți un tty pentru a rula sudo"
+msgstr "trebuie să aveți un tty pentru a rula «sudo»"
-#: plugins/sudoers/sudoers.c:442 plugins/sudoers/sudoers.c:444
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "shell nevalid pentru utilizatorul %s: %s"
-#: plugins/sudoers/sudoers.c:507
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "comandă în directorul curent"
-#: plugins/sudoers/sudoers.c:525
+#: plugins/sudoers/sudoers.c:653
+msgid "\"cd\" is a shell built-in command, it cannot be run directly."
+msgstr "«cd» este o comandă încorporată în shell, nu poate fi rulată direct."
+
+#: plugins/sudoers/sudoers.c:655
+msgid "the -s option may be used to run a privileged shell."
+msgstr "opțiunea „-s†poate fi utilizată pentru a rula un shell privilegiat."
+
+#: plugins/sudoers/sudoers.c:657
+msgid "the -D option may be used to run a command in a specific directory."
+msgstr "opțiunea „-D†poate fi folosită pentru a rula o comandă într-un anumit director."
+
+#: plugins/sudoers/sudoers.c:666
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:526
+#: plugins/sudoers/sudoers.c:668
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:534
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "utilizatorului nu îi este permis să păstreze mediul"
-#: plugins/sudoers/sudoers.c:535
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr "nu aveți permisiunea să păstrați mediul"
-#: plugins/sudoers/sudoers.c:878
-msgid "command too long"
-msgstr "comandă prea lungă"
-
-#: plugins/sudoers/sudoers.c:936
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
-msgstr "sudoedit nu are nevoie să fie rulat via sudo"
+msgstr "«sudoedit» nu are nevoie să fie rulat via «sudo»"
-#: plugins/sudoers/sudoers.c:990 plugins/sudoers/sudoreplay.c:1548
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "nu se poate citi %s"
-#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/visudo.c:431
-#: plugins/sudoers/visudo.c:727
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
-msgstr "nu se poate stat %s"
+msgstr "nu se poate stabili starea lui %s"
-#: plugins/sudoers/sudoers.c:1019 plugins/sudoers/visudo.c:1037
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
-msgstr "%s nu este un fișier regular"
+msgstr "%s nu este un fișier obișnuit"
-#: plugins/sudoers/sudoers.c:1023 plugins/sudoers/timestamp.c:252 toke.l:1060
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s este deținut de uid-ul %u, ar trebui să fie %u"
-#: plugins/sudoers/sudoers.c:1027 toke.l:1065
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
-msgstr "%s este inscriptibil global"
+msgstr "%s poate fi scris de oricine"
-#: plugins/sudoers/sudoers.c:1031 toke.l:1068
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s este deținut de gid-ul %u, ar trebui să fie %u"
-#: plugins/sudoers/sudoers.c:1064
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "doar root poate utiliza „-c %sâ€"
-#: plugins/sudoers/sudoers.c:1083
+#: plugins/sudoers/sudoers.c:1203
#, c-format
-msgid "unknown login class: %s"
-msgstr "clasă de autentificare necunoscută: %s"
+msgid "unknown login class %s"
+msgstr "clasă de autentificare necunoscută %s"
-#: plugins/sudoers/sudoers.c:1168 plugins/sudoers/sudoers.c:1183
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "nu se poate rezolva gazda %s"
-#: plugins/sudoers/sudoreplay.c:258
+#: plugins/sudoers/sudoreplay.c:259
#, c-format
msgid "invalid filter option: %s"
msgstr "opțiune de filtru nevalidă: %s"
-#: plugins/sudoers/sudoreplay.c:274
+#: plugins/sudoers/sudoreplay.c:275
#, c-format
msgid "invalid max wait: %s"
msgstr "așteptare maximă nevalidă: %s"
-#: plugins/sudoers/sudoreplay.c:297
+#: plugins/sudoers/sudoreplay.c:298
#, c-format
msgid "invalid speed factor: %s"
msgstr "factor de viteză nevalid: %s"
#: plugins/sudoers/sudoreplay.c:333
#, c-format
+msgid "invalid time offset %s"
+msgstr "decalaj de timp nevalid %s"
+
+#: plugins/sudoers/sudoreplay.c:342
+#, c-format
msgid "%s/%.2s/%.2s/%.2s: %s"
msgstr "%s/%.2s/%.2s/%.2s: %s"
-#: plugins/sudoers/sudoreplay.c:338
+#: plugins/sudoers/sudoreplay.c:347
#, c-format
msgid "%s/timing: %s"
msgstr "%s/sincronizare: %s"
-#: plugins/sudoers/sudoreplay.c:342
-#, c-format
-msgid "%s/%s: %s"
-msgstr "%s/%s: %s"
-
-#: plugins/sudoers/sudoreplay.c:366
+#: plugins/sudoers/sudoreplay.c:375
#, c-format
msgid "Replaying sudo session: %s"
msgstr "Se redă sesiunea sudo: %s"
-#: plugins/sudoers/sudoreplay.c:628
+#: plugins/sudoers/sudoreplay.c:637
msgid "unable to set tty to raw mode"
-msgstr "nu se poate stabili tty la modul raw"
+msgstr "nu se poate stabili tty la modul „rawâ€"
-#: plugins/sudoers/sudoreplay.c:679
+#: plugins/sudoers/sudoreplay.c:688
msgid "Warning: your terminal is too small to properly replay the log.\n"
-msgstr "Avertisment: terminalul este prea mic pentru a putea reda bine istoricul.\n"
+msgstr "Avertisment: terminalul este prea mic pentru a putea reda bine jurnalul.\n"
-#: plugins/sudoers/sudoreplay.c:680
+#: plugins/sudoers/sudoreplay.c:689
#, c-format
msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d."
-msgstr "Geometria istoricului este %d x %d, geometria terminalului este %d x %d."
+msgstr "Geometria jurnalului este %d x %d, iar geometria terminalului este %d x %d."
-#: plugins/sudoers/sudoreplay.c:708
+#: plugins/sudoers/sudoreplay.c:717
msgid "Replay finished, press any key to restore the terminal."
-msgstr "Redarea terminată, apăsați orice cheie pentru a restaura terminalul."
+msgstr "Redarea s-a încheiat, apăsați orice tastă pentru a restaura terminalul."
-#: plugins/sudoers/sudoreplay.c:1198 plugins/sudoers/sudoreplay.c:1228
+#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249
#, c-format
msgid "ambiguous expression \"%s\""
msgstr "expresie ambiguă „%sâ€"
-#: plugins/sudoers/sudoreplay.c:1250
+#: plugins/sudoers/sudoreplay.c:1271
msgid "unmatched ')' in expression"
msgstr "„)†fără pereche în expresie"
-#: plugins/sudoers/sudoreplay.c:1254
+#: plugins/sudoers/sudoreplay.c:1275
#, c-format
msgid "unknown search term \"%s\""
msgstr "termen de căutare necunoscut „%sâ€"
-#: plugins/sudoers/sudoreplay.c:1269
+#: plugins/sudoers/sudoreplay.c:1290
#, c-format
msgid "%s requires an argument"
msgstr "%s necesită un argument"
-#: plugins/sudoers/sudoreplay.c:1272 plugins/sudoers/sudoreplay.c:1524
-#, c-format
-msgid "invalid regular expression: %s"
-msgstr "expresie regulată nevalidă: %s"
-
-#: plugins/sudoers/sudoreplay.c:1277
+#: plugins/sudoers/sudoreplay.c:1300
#, c-format
msgid "could not parse date \"%s\""
-msgstr "nu s-a putut parsa data „%sâ€"
+msgstr "nu s-a putut analiza data „%sâ€"
-#: plugins/sudoers/sudoreplay.c:1286
+#: plugins/sudoers/sudoreplay.c:1309
msgid "unmatched '(' in expression"
msgstr "„(†fără pereche în expresie"
-#: plugins/sudoers/sudoreplay.c:1288
+#: plugins/sudoers/sudoreplay.c:1311
msgid "illegal trailing \"or\""
-msgstr "urmă „sau†ilegală"
+msgstr "terminare ilegală a expresiei, cu „orâ€"
-#: plugins/sudoers/sudoreplay.c:1290
+#: plugins/sudoers/sudoreplay.c:1313
msgid "illegal trailing \"!\""
-msgstr "urmă „!†ilegală"
+msgstr "terminare ilegală a expresiei, cu „!â€"
-#: plugins/sudoers/sudoreplay.c:1348
+#: plugins/sudoers/sudoreplay.c:1371
#, c-format
msgid "unknown search type %d"
msgstr "tip de căutare necunoscută %d"
-#: plugins/sudoers/sudoreplay.c:1615
+#: plugins/sudoers/sudoreplay.c:1651
#, 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:1618
+#: plugins/sudoers/sudoreplay.c:1654
#, 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:1627
+#: plugins/sudoers/sudoreplay.c:1663
#, c-format
msgid ""
"%s - replay sudo session logs\n"
"\n"
msgstr ""
-"%s - redă înregistrările de sesiune sudo\n"
+"%s - redă jurnalele de sesiune «sudo»\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1629
+#: plugins/sudoers/sudoreplay.c:1665
msgid ""
"\n"
"Options:\n"
@@ -2718,22 +3534,22 @@ msgid ""
msgstr ""
"\n"
"Options:\n"
-" -d, --directory=dir specifică directorul pentru înregistrările sesiunii\n"
-" -f, --filter=filter specifică care tip(uri) I/O să se afișeze\n"
-" -h, --help afișează informațiile ajutorului și ieși\n"
+" -d, --directory=dir specifică directorul pentru jurnalele sesiunii\n"
+" -f, --filter=filter specifică care tip(uri) de In/Ieș să se afișeze\n"
+" -h, --help afișează mesajul de ajutor și iese\n"
" -l, --list listează ID-urile sesiunii disponibile, cu expresii opționale\n"
" -m, --max-wait=num numărul maxim de secunde de așteptat între evenimente\n"
-" -n, --non-interactive fără promptere, sesiunea este trimisă la ieșirea standard\n"
-" -R, --no-resize nu încercați să redimensionați terminalul\n"
+" -n, --non-interactive fără solicitări, sesiunea este trimisă direct la ieșirea standard\n"
+" -R, --no-resize nu încearcă să redimensioneze terminalul\n"
" -S, --suspend-wait așteaptă până când comanda a fost suspendată\n"
" -s, --speed=num accelerează sau încetinește ieșirea\n"
-" -V, --version afișează informațiile de versiune și ieși"
+" -V, --version afișează informațiile de versiune și iese"
-#: plugins/sudoers/testsudoers.c:354
+#: plugins/sudoers/testsudoers.c:344
msgid "\thost unmatched"
-msgstr "\tgazdă nepotrivită"
+msgstr "\tgazda nu are nici o potrivire"
-#: plugins/sudoers/testsudoers.c:357
+#: plugins/sudoers/testsudoers.c:347
msgid ""
"\n"
"Command allowed"
@@ -2741,7 +3557,7 @@ msgstr ""
"\n"
"Comandă permisă"
-#: plugins/sudoers/testsudoers.c:358
+#: plugins/sudoers/testsudoers.c:348
msgid ""
"\n"
"Command denied"
@@ -2749,134 +3565,135 @@ msgstr ""
"\n"
"Comandă negată"
-#: plugins/sudoers/testsudoers.c:358
+#: plugins/sudoers/testsudoers.c:348
msgid ""
"\n"
"Command unmatched"
msgstr ""
"\n"
-"Comandă nepotrivită"
+"Comanda nu se potrivește"
#: plugins/sudoers/timestamp.c:260
#, c-format
msgid "%s is group writable"
-msgstr "%s este inscriptibil pe grup"
+msgstr "%s poate fi scris de membrii grupului"
-#: plugins/sudoers/timestamp.c:336 plugins/sudoers/timestamp.c:680
+#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
-msgstr "nu se poate trunchia fișierul datare în %lld octeți"
+msgstr "nu se poate trunchia fișierul marcajelor de timp în %lld octeți"
-#: plugins/sudoers/timestamp.c:866
+#: plugins/sudoers/timestamp.c:860
msgid "ignoring time stamp from the future"
-msgstr "se ignoră datarea pe viitor"
+msgstr "se vor ignora marcajele de timp pe viitor"
-#: plugins/sudoers/timestamp.c:889
+#: plugins/sudoers/timestamp.c:883
#, 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:1011
+#: plugins/sudoers/timestamp.c:1005
#, c-format
msgid "unable to lock time stamp file %s"
-msgstr "nu se poate bloca fișierul datării %s"
+msgstr "nu se poate bloca fișierul marcajelor de timp %s"
-#: plugins/sudoers/timestamp.c:1055 plugins/sudoers/timestamp.c:1075
+#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
#, c-format
msgid "lecture status path too long: %s/%s"
-msgstr "calea stării lecturii este prea lungă: %s/%s"
+msgstr "calea fișierului de stare al instrucțiunilor de utilizare, este prea lungă: %s/%s"
-#: plugins/sudoers/toke_util.c:124
+#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
-msgstr "sudoedit nu ar trebui să fie specificat cu o cale"
+msgstr "«sudoedit» nu ar trebui să fie specificat cu o cale"
-#: plugins/sudoers/visudo.c:226
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
-msgstr "opțiunea -x va fi eliminată într-o lansare viitoare"
+msgstr "opțiunea „-x†va fi eliminată într-o lansare viitoare"
-#: plugins/sudoers/visudo.c:227
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
-msgstr "considerați utilizarea în loc a utilității cvtsudoers"
+msgstr "luați în considerare utilizarea utilitarului «cvtsudoers» în schimb"
-#: plugins/sudoers/visudo.c:278 plugins/sudoers/visudo.c:660
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
-msgstr "apăsați enter pentru a edita %s: "
+msgstr "apăsați „enter†pentru a edita %s: "
+
+#: plugins/sudoers/visudo.c:321
+#, c-format
+msgid "contents of edit session left in %s"
+msgstr "conținutul sesiunii de editare rămase în %s"
-#: plugins/sudoers/visudo.c:339
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "editorul specificat (%s) nu există"
-#: plugins/sudoers/visudo.c:341
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "nu s-a găsit niciun editor (cale editor = %s)"
-#: plugins/sudoers/visudo.c:451 plugins/sudoers/visudo.c:459
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "eroare de scriere"
-#: plugins/sudoers/visudo.c:505
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
-msgstr "nu se poate da stat la fișierul temporar (%s), %s neschimbat"
+msgstr "nu se poate stabili starea fișierului temporar (%s), %s neschimbat"
-#: plugins/sudoers/visudo.c:512
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "fișier temporar de lungime zero (%s), %s neschimbat"
-#: plugins/sudoers/visudo.c:518
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "editorul (%s) a eșuat, %s neschimbat"
-#: plugins/sudoers/visudo.c:540
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s neschimbat"
-#: plugins/sudoers/visudo.c:599
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "nu se poate redeschide fișierul temporar (%s), %s neschimbat."
-#: plugins/sudoers/visudo.c:611
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
-msgstr "nu se poate parsa temporar fișierul (%s), eroare necunoscută"
-
-#: plugins/sudoers/visudo.c:649
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "eroare internă, nu se poate găsi %s în listă!"
+msgstr "nu se poate analiza fișierul temporar (%s), eroare necunoscută"
-#: plugins/sudoers/visudo.c:729 plugins/sudoers/visudo.c:738
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
-msgstr "nu se poate stabili (uid, gid) a %s la (%u, %u)"
+msgstr "nu se poate stabili (uid, gid) de %s la (%u, %u)"
-#: plugins/sudoers/visudo.c:761
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
-msgstr "%s și %s nu sunt pe același sistem de fișiere, se utilizează mv pentru a redenumi"
+msgstr "%s și %s nu sunt pe același sistem de fișiere, se utilizează «mv» pentru a redenumi"
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "comanda a eÈ™uat: „%s %s %sâ€, %s neschimbat"
-#: plugins/sudoers/visudo.c:785
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "eroare la redenumirea %s, %s neschimbat"
-#: plugins/sudoers/visudo.c:806
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Acum ce? "
-#: plugins/sudoers/visudo.c:820
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -2884,79 +3701,54 @@ msgid ""
" (Q)uit and save changes to sudoers file (DANGER!)\n"
msgstr ""
"Opțiunile sunt:\n"
-" (e)ditează fișierul sudoers din nou\n"
-" (x)ieși fără a salva modificările la fișierul sudoers\n"
-" (Q)ieși și salvează modificările la fișierul sudo (PERICOL!)\n"
+" (e) - editează fișierul „sudoers†din nou\n"
+" (x) - ieÈ™i fără a salva modificările în fiÈ™ierul „sudoersâ€\n"
+" (Q) - ieși și salvează modificările în fișierul „sudoers†(PERICOL!)\n"
-#: plugins/sudoers/visudo.c:866
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "nu se poate rula %s"
-#: plugins/sudoers/visudo.c:896
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
-msgstr "%s: deținător greșit (uid, gid) ar trebui să fie (%u, %u)\n"
+msgstr "%s: proprietarul greșit (uid, gid) ar trebui să fie (%u, %u)n\n"
-#: plugins/sudoers/visudo.c:903
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
-msgstr "%s: permisiuni rele, ar trebui să fie modul 0%o\n"
+msgstr "%s: permisiuni proaste, ar trebui să fie modul 0%o\n"
-#: plugins/sudoers/visudo.c:960 plugins/sudoers/visudo.c:967
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
-msgstr "%s: parsat OK\n"
+msgstr "%s: analizat, OK\n"
-#: plugins/sudoers/visudo.c:986
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%s ocupat, încercați din nou mai târziu"
-#: plugins/sudoers/visudo.c:989
-#, c-format
-msgid "unable to lock %s"
-msgstr "nu se poate bloca %s"
-
-#: plugins/sudoers/visudo.c:990
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Editați oricum? [y/N]"
-#: plugins/sudoers/visudo.c:1083
-#, c-format
-msgid "Error: %s:%d cycle in %s \"%s\""
-msgstr "Eroare: %s:%d ciclu în %s „%sâ€"
-
-#: plugins/sudoers/visudo.c:1084
-#, c-format
-msgid "Warning: %s:%d cycle in %s \"%s\""
-msgstr "Avertisment: %s:%d ciclu în %s \"%s\""
-
-#: plugins/sudoers/visudo.c:1088
-#, c-format
-msgid "Error: %s:%d %s \"%s\" referenced but not defined"
-msgstr "Eroare: %s:%d %s „%s†menționat dar nu definit"
-
-#: plugins/sudoers/visudo.c:1089
-#, c-format
-msgid "Warning: %s:%d %s \"%s\" referenced but not defined"
-msgstr "Avertisment: %s:%d %s \"%s\" menționat dar nu definit"
-
-#: plugins/sudoers/visudo.c:1180
+#: plugins/sudoers/visudo.c:1117
#, c-format
-msgid "Warning: %s:%d unused %s \"%s\""
-msgstr "Avertisment: %s:%d neutilizat %s „%sâ€"
+msgid "Warning: %s:%d:%d: unused %s \"%s\""
+msgstr "Avertisment: %s:%d:%d: neutilizat %s „%sâ€"
-#: plugins/sudoers/visudo.c:1295
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
"\n"
msgstr ""
-"%s - editează în siguranță fișierul sudoers\n"
+"%s - editează în siguranță fiÈ™ierul „sudoersâ€\n"
"\n"
-#: plugins/sudoers/visudo.c:1297
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -2970,15 +3762,176 @@ msgstr ""
"\n"
"Opțiuni:\n"
" -c, --check modul doar verifică\n"
-" -f, --file=sudoers specifică locația fișierului sudo\n"
-" -h, --help afișează mesajul de ajutor și ieși\n"
-" -q, --quiet mesaje de eroare de sintaxă mai puțin detaliate (liniștite)\n"
-" -s, --strict verificare de sintaxă strictă\n"
-" -V, --version afișează informațiile de versiune și ieși\n"
+" -f, --file=sudoers specifică locaÈ›ia fiÈ™ierului „sudoersâ€\n"
+" -h, --help afișează mesajul de ajutor și iese\n"
+" -q, --quiet mesaje de eroare de sintaxă mai puțin detaliate\n"
+" -s, --strict verificare strictă de sintaxă\n"
+" -V, --version afișează informațiile de versiune și iese\n"
-#: toke.l:1032
+#: toke.l:189
+msgid "empty string"
+msgstr "șir gol"
+
+#: toke.l:201 toke.l:571
+msgid "empty group"
+msgstr "grup gol"
+
+#: toke.l:211 toke.l:569
+msgid "empty netgroup"
+msgstr "netgroup gol"
+
+#: toke.l:289
+msgid "unterminated regular expression"
+msgstr "expresie regulată nedeterminată"
+
+#: toke.l:363 toke.l:375 toke.l:387 toke.l:403 toke.l:422 toke.l:462
+msgid "invalid line continuation"
+msgstr "continuarea liniei nevalidă"
+
+#: toke.l:608 toke.l:620
+msgid "invalid IPv6 address"
+msgstr "adresă IPv6 invalidă"
+
+#: toke.l:868
+msgid "unexpected line break in string"
+msgstr "întrerupere de linie neașteptată în șir"
+
+#: toke.l:1218
msgid "too many levels of includes"
-msgstr "prea multe niveluri de include-uri"
+msgstr "prea multe niveluri de includeri"
+
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Avertisment: %s:%d:%d ciclu în %s „%sâ€"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "Avertisment: %s:%d:%d %s \"%s\" menționat, dar nu definit"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "eroare de analizare în %s lângă linia %d\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "eroare de analizare în %s\n"
+
+#~ msgid "%s: unknown defaults entry \"%s\""
+#~ msgstr "%s: intrare defaults necunoscută „%sâ€"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d nicio valoare specificată pentru „%sâ€"
+
+#~ msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+#~ msgstr "%s:%d:%d: operator nevalid „%c=\" pentru „%sâ€"
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: opțiunea „%s†nu primește o valoare"
+
+#~ msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+#~ msgstr "%s:%d:%d: tip de Defaults nevalid 0x%x pentru opÈ›iunea „%sâ€"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: valoarea „%s†nu este validă pentru opÈ›iunea „%sâ€"
+
+#~ msgid "%s:%d:%d: path name for \"%s\" too long"
+#~ msgstr "%s:%d:%d: numele căii pentru „%s†este prea lung"
+
+#~ msgid "%s: path name for \"%s\" too long"
+#~ msgstr "%s: numele căii pentru „%s†este prea lung"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: valorile pentru „%s†trebuie să înceapă cu un „/â€, „~â€, sau „*â€"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: valorile pentru „%s†trebuie să înceapă cu un „/â€"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "eroare de analizare în %s lângă linia %d"
+
+#~ msgid "parse error in %s"
+#~ msgstr "eroare de analizare în %s"
+
+#~ msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#~ msgstr "SELinux RBAC nu este acceptat când modul de interceptare este activat"
+
+#~ msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#~ msgstr "SELinux RBAC nu este acceptat când fanionul log_subcmds este activat"
+
+#~ 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â€"
+
+#~ msgid "unable to get TLS server method: %s"
+#~ msgstr "nu se poate obține metoda de server TLS: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " -f, --file path to configuration file\n"
+#~ " -h --help display help message and exit\n"
+#~ " -n, --no-fork do not fork, run in the foreground\n"
+#~ " -R, --random-drop percent chance connections will drop\n"
+#~ " -V, --version display version information and exit\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Opțini:\n"
+#~ " -f, --file calea către fișierul de configurare\n"
+#~ " -h --help afișează mesajul de ajutor și ieși\n"
+#~ " -n, --no-fork nu da fork, rulează în prim plan\n"
+#~ " -R, --random-drop șansa în procente pentru căderea conexiunii\n"
+#~ " -V, --version afișează informațiile de versiune și ieși\n"
+
+#~ msgid "%s:%d unknown key: %s"
+#~ msgstr "%s:%d cheie necunoscută: %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Options:\n"
+#~ " --help display help message and exit\n"
+#~ " -A, --accept only send an accept event (no I/O)\n"
+#~ " -h, --host host to send logs to\n"
+#~ " -i, --iolog_id remote ID of I/O log to be resumed\n"
+#~ " -p, --port port to use when connecting to host\n"
+#~ " -r, --restart restart previous I/O log transfer\n"
+#~ " -R, --reject reject the command with the given reason\n"
+#~ " -b, --ca-bundle certificate bundle file to verify server's cert against\n"
+#~ " -c, --cert certificate file for TLS handshake\n"
+#~ " -k, --key private key file\n"
+#~ " -n, --no-verify do not verify server certificate\n"
+#~ " -t, --test test audit server by sending selected I/O log n times in parallel\n"
+#~ " -V, --version display version information and exit\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Opțiuni:\n"
+#~ " --help afișează mesajul de ajutor și ieși\n"
+#~ " -A, --accept trimite doar un eveniment de acceptare (fără I/O)\n"
+#~ " -h, --host gazda la care să se trimită înregistrări\n"
+#~ " -i, --iolog_id ID-ul de la distanță al istoricului I/O de rezumat \n"
+#~ " -p, --port portul de utilizat când se conectează la gazdă\n"
+#~ " -r, --restart repornește transferul de istoric I/O anterior\n"
+#~ " -R, --reject respinge comanda cu motivul dat\n"
+#~ " -b, --ca-bundle fișier de pachet de certificat împotriva căruia se verifică certificarea serverului\n"
+#~ " -c, --cert fișierul certificat pentru conexiunea TLS\n"
+#~ " -k, --key fișier cheie privată\n"
+#~ " -n, --no-verify nu verifica certificatul serverului\n"
+#~ " -V, --version afișează informațiile de versiune și ieși\n"
+
+#~ msgid "%s: write buffer already in use"
+#~ msgstr "%s: preîncărcare de scriere deja în uz"
+
+#~ msgid "Preload the dummy exec functions contained in the sudo_noexec library"
+#~ msgstr "Preîncarcă funcțiile de execuție dummy conținute în biblioteca sudo_nonexec"
+
+#~ msgid "sudo_ldap_conf_add_ports: port too large"
+#~ msgstr "sudo_ldap_conf_add_ports: portul prea mare"
+
+#~ msgid "%s is not in the sudoers file. This incident will be reported.\n"
+#~ msgstr "%s nu este în fișierul sudoers. Acest incident va fi raportat.\n"
+
+#~ msgid "%s is not allowed to run sudo on %s. This incident will be reported.\n"
+#~ msgstr "%s nu are permisiunea de a rula sudo pe %s. Acest incident va fi raportat.\n"
#~ msgid "SSL_connect failed: ssl_error=%d, stack=%s\n"
#~ msgstr "SSL_connect a eșuat: ssl_error=%d, stiva=%s\n"
diff --git a/plugins/sudoers/po/sudoers.pot b/plugins/sudoers/po/sudoers.pot
index 2378ab330..ad07ede53 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.10\n"
+"Project-Id-Version: sudo 1.9.11\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: confstr.sh:1 gram.y:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr ""
@@ -41,16 +41,16 @@ msgstr ""
msgid "Sorry, try again."
msgstr ""
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338 gram.y:362
-#: gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424 gram.y:498 gram.y:508
-#: gram.y:520 gram.y:564 gram.y:573 gram.y:582 gram.y:591 gram.y:718 gram.y:726
-#: gram.y:737 gram.y:749 gram.y:768 gram.y:923 gram.y:928 gram.y:936 gram.y:950
-#: gram.y:956 gram.y:1078 gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113
-#: gram.y:1142 gram.y:1151 gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748
-#: gram.y:1798 lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341 gram.y:365
+#: gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427 gram.y:501 gram.y:511
+#: gram.y:523 gram.y:571 gram.y:580 gram.y:589 gram.y:598 gram.y:730 gram.y:738
+#: gram.y:749 gram.y:761 gram.y:780 gram.y:943 gram.y:948 gram.y:956 gram.y:970
+#: gram.y:976 gram.y:1098 gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133
+#: gram.y:1162 gram.y:1171 gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769
+#: gram.y:1816 lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -66,39 +66,39 @@ msgstr ""
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -107,23 +107,21 @@ msgstr ""
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -131,120 +129,120 @@ msgstr ""
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr ""
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr ""
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr ""
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr ""
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr ""
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr ""
-#: gram.y:788
+#: gram.y:801
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr ""
-#: gram.y:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr ""
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr ""
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr ""
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr ""
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr ""
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr ""
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr ""
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -264,37 +262,37 @@ msgstr ""
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51 plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
#: plugins/sudoers/cvtsudoers_merge.c:445
@@ -304,23 +302,21 @@ msgstr ""
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -328,69 +324,70 @@ msgstr ""
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr ""
@@ -399,16 +396,18 @@ msgstr ""
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213 toke.l:987
+#: toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr ""
@@ -423,31 +422,31 @@ msgstr ""
msgid "unable to execute %s: %m"
msgstr ""
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr ""
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr ""
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr ""
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr ""
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr ""
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -563,13 +562,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr ""
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr ""
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr ""
@@ -584,8 +583,8 @@ msgstr ""
msgid "invalid timing file line: %s"
msgstr ""
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr ""
@@ -644,56 +643,56 @@ msgstr ""
msgid "error flushing iofd %d: %s"
msgstr ""
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr ""
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr ""
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr ""
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr ""
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr ""
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr ""
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr ""
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr ""
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr ""
@@ -702,32 +701,32 @@ msgstr ""
msgid "unable to connect to relay"
msgstr ""
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr ""
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -772,6 +771,13 @@ msgstr ""
msgid "protocol error"
msgstr ""
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr ""
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -787,110 +793,110 @@ msgstr ""
msgid "timed out writing to client %s"
msgstr ""
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr ""
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr ""
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr ""
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr ""
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr ""
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr ""
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr ""
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr ""
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr ""
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr ""
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr ""
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr ""
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr ""
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr ""
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr ""
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr ""
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr ""
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr ""
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr ""
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr ""
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -964,7 +970,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr ""
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr ""
@@ -977,13 +983,13 @@ msgstr ""
msgid "unable to initialize relay TLS context"
msgstr ""
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr ""
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr ""
@@ -996,8 +1002,8 @@ msgstr ""
msgid "unable to open journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr ""
@@ -1015,11 +1021,11 @@ msgstr ""
msgid "error reading journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr ""
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr ""
@@ -1107,7 +1113,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr ""
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr ""
@@ -1128,34 +1134,34 @@ msgstr ""
msgid "relay host name does not match certificate"
msgstr ""
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr ""
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr ""
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr ""
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr ""
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr ""
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr ""
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr ""
@@ -1211,7 +1217,7 @@ msgstr ""
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr ""
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr ""
@@ -1225,30 +1231,30 @@ msgstr ""
msgid "unable to read %s/%s: %s"
msgstr ""
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr ""
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr ""
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr ""
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr ""
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr ""
@@ -1257,11 +1263,15 @@ msgstr ""
msgid "timeout reading from server"
msgstr ""
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr ""
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr ""
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr ""
@@ -1293,12 +1303,12 @@ msgstr ""
msgid "commit point received from server [%lld, %ld]"
msgstr ""
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr ""
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr ""
@@ -1307,50 +1317,51 @@ msgstr ""
msgid "TLS connection failed: %s"
msgstr ""
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr ""
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr ""
-#: logsrvd/tls_client.c:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr ""
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr ""
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr ""
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr ""
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr ""
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr ""
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr ""
@@ -1404,47 +1415,47 @@ msgid ""
"%s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr ""
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr ""
@@ -1487,7 +1498,7 @@ msgstr ""
msgid "PAM account management error: %s"
msgstr ""
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr ""
@@ -1528,31 +1539,31 @@ msgstr ""
msgid "unable to initialize SIA session"
msgstr ""
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr ""
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid ""
"Invalid authentication methods compiled into sudo! You may not mix "
"standalone and non-standalone authentication."
msgstr ""
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr ""
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid ""
"There are no authentication methods compiled into sudo! If you want to turn "
"off authentication, use the --disable-authentication configure option."
msgstr ""
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr ""
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr ""
@@ -1564,17 +1575,17 @@ msgstr ""
msgid "unable to commit audit record"
msgstr ""
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr ""
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr ""
-#: plugins/sudoers/check.c:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1586,31 +1597,26 @@ msgid ""
"\n"
msgstr ""
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr ""
-#: plugins/sudoers/check_aliases.c:92
-#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr ""
-
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+msgid "%s: %s\n"
msgstr ""
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
+msgid "cycle in %s \"%s\""
msgstr ""
-#: plugins/sudoers/check_aliases.c:98
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+msgid "%s \"%s\" referenced but not defined"
msgstr ""
#: plugins/sudoers/cvtsudoers.c:209
@@ -1628,7 +1634,7 @@ msgstr ""
msgid "order padding: %s: %s"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr ""
@@ -1648,10 +1654,10 @@ msgstr ""
msgid "%s: input and output files must be different"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr ""
@@ -1680,35 +1686,25 @@ msgstr ""
msgid "invalid filter: %s"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr ""
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr ""
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
"\n"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1731,31 +1727,31 @@ msgid ""
msgstr ""
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr ""
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr ""
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr ""
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr ""
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid ""
"the SUDOERS_BASE environment variable is not set and the -b option was not "
"specified."
@@ -1802,793 +1798,764 @@ msgstr ""
msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries"
msgstr ""
-#: plugins/sudoers/cvtsudoers_merge.c:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, c-format
msgid "%s:%d:%d: merging userspec into %s:%d:%d"
msgstr ""
-#: plugins/sudoers/cvtsudoers_merge.c:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, c-format
msgid "%s:%d:%d: removing userspec overridden by subsequent entries"
msgstr ""
-#: plugins/sudoers/def_data.c:50
+#: plugins/sudoers/def_data.c:56
#, c-format
msgid "Syslog facility if syslog is being used for logging: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:54
+#: plugins/sudoers/def_data.c:60
#, c-format
msgid "Syslog priority to use when user authenticates successfully: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:58
+#: plugins/sudoers/def_data.c:64
#, c-format
msgid "Syslog priority to use when user authenticates unsuccessfully: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr ""
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr ""
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr ""
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr ""
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
msgid "Send mail if the user is not in sudoers"
msgstr ""
-#: plugins/sudoers/def_data.c:82
+#: plugins/sudoers/def_data.c:88
msgid "Send mail if the user is not in sudoers for this host"
msgstr ""
-#: plugins/sudoers/def_data.c:86
+#: plugins/sudoers/def_data.c:92
msgid "Send mail if the user is not allowed to run a command"
msgstr ""
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:96
msgid "Send mail if the user tries to run a command"
msgstr ""
-#: plugins/sudoers/def_data.c:94
+#: plugins/sudoers/def_data.c:100
msgid "Use a separate timestamp for each user/tty combo"
msgstr ""
-#: plugins/sudoers/def_data.c:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr ""
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr ""
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr ""
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr ""
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr ""
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
msgid "If sudo is invoked with no arguments, start a shell"
msgstr ""
-#: plugins/sudoers/def_data.c:126
+#: plugins/sudoers/def_data.c:132
msgid "Set $HOME to the target user when starting a shell with -s"
msgstr ""
-#: plugins/sudoers/def_data.c:130
+#: plugins/sudoers/def_data.c:136
msgid "Always set $HOME to the target user's home directory"
msgstr ""
-#: plugins/sudoers/def_data.c:134
+#: plugins/sudoers/def_data.c:140
msgid "Allow some information gathering to give useful error messages"
msgstr ""
-#: plugins/sudoers/def_data.c:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr ""
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr ""
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr ""
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr ""
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr ""
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr ""
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr ""
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr ""
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr ""
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr ""
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr ""
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr ""
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr ""
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr ""
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr ""
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr ""
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:248
#, c-format
msgid "Users in this group are exempt from password and PATH requirements: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr ""
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr ""
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr ""
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr ""
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid ""
"If set, users may override the value of \"closefrom\" with the -C option"
msgstr ""
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr ""
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr ""
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr ""
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr ""
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr ""
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr ""
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr ""
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid ""
"Use faster globbing that is less accurate but does not access the filesystem"
msgstr ""
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid ""
"The umask specified in sudoers will override the user's, even if it is more "
"permissive"
msgstr ""
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr ""
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
msgid "Log the output of the command being run"
msgstr ""
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr ""
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr ""
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:372
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:376
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:380
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr ""
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:384
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr ""
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr ""
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr ""
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr ""
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr ""
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr ""
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
msgid ""
"Check parent directories for writability when editing files with sudoedit"
msgstr ""
-#: plugins/sudoers/def_data.c:430
+#: plugins/sudoers/def_data.c:436
msgid "Follow symbolic links when editing files with sudoedit"
msgstr ""
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr ""
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr ""
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr ""
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr ""
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr ""
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr ""
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid ""
"Log entries larger than this value will be split into multiple syslog "
"messages: %u"
msgstr ""
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr ""
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid ""
"Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr ""
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr ""
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr ""
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr ""
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
msgid "Include the process ID when logging via syslog"
msgstr ""
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr ""
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr ""
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
msgid "Log when a command is allowed by sudoers"
msgstr ""
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:524
msgid "Log when a command is denied by sudoers"
msgstr ""
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:528
msgid "Sudo log server(s) to connect to with optional port"
msgstr ""
-#: plugins/sudoers/def_data.c:526
+#: plugins/sudoers/def_data.c:532
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr ""
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:536
msgid ""
"Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr ""
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:540
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
msgid "Verify that the log server's certificate is valid"
msgstr ""
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:556
msgid "Allow the use of unknown runas user and/or group ID"
msgstr ""
-#: plugins/sudoers/def_data.c:554
+#: plugins/sudoers/def_data.c:560
msgid "Only permit running commands as a user with a valid shell"
msgstr ""
-#: plugins/sudoers/def_data.c:558
+#: plugins/sudoers/def_data.c:564
msgid "Set the pam remote user to the user running sudo"
msgstr ""
-#: plugins/sudoers/def_data.c:562
+#: plugins/sudoers/def_data.c:568
msgid "Set the pam remote host to the local host name"
msgstr ""
-#: plugins/sudoers/def_data.c:566
+#: plugins/sudoers/def_data.c:572
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:570
+#: plugins/sudoers/def_data.c:576
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr ""
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr ""
-#: plugins/sudoers/def_data.c:590
+#: plugins/sudoers/def_data.c:596
msgid "Log sub-commands run by the original command"
msgstr ""
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr ""
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr ""
-#: plugins/sudoers/def_data.c:602
+#: plugins/sudoers/def_data.c:608
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr ""
-#: plugins/sudoers/def_data.c:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid ""
"The maximum size to which the process's address space may grow (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid ""
"The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid ""
"The maximum number of processes that the user may run simultaneously: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid ""
"The maximum size to which the process's resident set size may grow (in "
"bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
msgid "Attempt authentication even when in non-interactive mode"
msgstr ""
-#: plugins/sudoers/def_data.c:654
+#: plugins/sudoers/def_data.c:660
msgid "Store plaintext passwords in I/O log input"
msgstr ""
-#: plugins/sudoers/def_data.c:658
+#: plugins/sudoers/def_data.c:664
msgid "List of regular expressions to use when matching a password prompt"
msgstr ""
-#: plugins/sudoers/defaults.c:193
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s: unknown defaults entry \"%s\""
+msgid "The mechanism used by the intercept and log_subcmds options: %s"
msgstr ""
-#: plugins/sudoers/defaults.c:242
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
+msgid "AppArmor profile to use in the new security context: %s"
msgstr ""
-#: plugins/sudoers/defaults.c:245
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s: no value specified for \"%s\""
+msgid "unknown defaults entry \"%s\""
msgstr ""
-#: plugins/sudoers/defaults.c:258
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+msgid "no value specified for \"%s\""
msgstr ""
-#: plugins/sudoers/defaults.c:261
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
+msgid "invalid operator \"%c=\" for \"%s\""
msgstr ""
-#: plugins/sudoers/defaults.c:297
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
+msgid "option \"%s\" does not take a value"
msgstr ""
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s: option \"%s\" does not take a value"
+msgid "invalid Defaults type 0x%x for option \"%s\""
msgstr ""
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+msgid "value \"%s\" is invalid for option \"%s\""
msgstr ""
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr ""
-
-#: plugins/sudoers/defaults.c:341
-#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr ""
-
-#: plugins/sudoers/defaults.c:344
-#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr ""
-
-#: plugins/sudoers/defaults.c:1161
-#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr ""
-
-#: plugins/sudoers/defaults.c:1164
-#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr ""
-
-#: plugins/sudoers/defaults.c:1175
-#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr ""
-
-#: plugins/sudoers/defaults.c:1179
-#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
+msgid "path name for \"%s\" too long"
msgstr ""
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
msgstr ""
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
+msgid "values for \"%s\" must start with a '/'"
msgstr ""
#: plugins/sudoers/env.c:412
@@ -2605,16 +2572,6 @@ msgid ""
"sorry, you are not allowed to set the following environment variables: %s"
msgstr ""
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr ""
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr ""
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2664,37 +2621,37 @@ msgstr ""
msgid "Local IP address and netmask pairs:\n"
msgstr ""
-#: plugins/sudoers/iolog.c:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr ""
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr ""
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr ""
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr ""
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr ""
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr ""
@@ -2713,18 +2670,18 @@ msgstr ""
msgid "you must set TLS_CERT in %s to use SSL"
msgstr ""
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr ""
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid ""
"start_tls specified but LDAP libs do not support ldap_start_tls_s() or "
"ldap_start_tls_s_np()"
msgstr ""
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr ""
@@ -2764,8 +2721,8 @@ msgstr ""
msgid "unable to send audit message"
msgstr ""
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr ""
@@ -2774,185 +2731,191 @@ msgstr ""
msgid "Creation of new SSL_CTX object failed: %s"
msgstr ""
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:225
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr ""
-#: plugins/sudoers/log_client.c:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr ""
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr ""
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr ""
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr ""
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr ""
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr ""
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr ""
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr ""
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr ""
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr ""
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr ""
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr ""
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr ""
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr ""
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr ""
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:326
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr ""
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr ""
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr ""
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr ""
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr ""
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
"Use \"sudo ./%s\" if this is the \"%s\" you wish to run."
msgstr ""
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:395
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
msgstr[0] ""
msgstr[1] ""
-#: plugins/sudoers/logging.c:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr ""
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr ""
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr ""
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
#, c-format
-msgid "unable to write log file: %s"
+msgid "%s:%d:%d: %s"
msgstr ""
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/logging.c:1068
#, c-format
-msgid "digest for %s (%s) is not in %s form"
+msgid "unable to write log file: %s"
msgstr ""
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
msgstr ""
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#: plugins/sudoers/match_digest.c:131
+#, c-format
+msgid "digest for %s (%s) is not in %s form"
msgstr ""
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
"LDAP Role: %s\n"
msgstr ""
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
msgstr ""
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr ""
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr ""
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr ""
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr ""
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr ""
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr ""
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr ""
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr ""
@@ -2972,91 +2935,86 @@ msgstr ""
msgid "invalid %.*s set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr ""
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr ""
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
msgid "host name not set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr ""
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr ""
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr ""
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr ""
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr ""
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
"Sudoers path: %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr ""
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr ""
@@ -3195,149 +3153,148 @@ msgstr ""
msgid "unable to find symbol \"%s\" in %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr ""
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr ""
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr ""
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr ""
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr ""
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr ""
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr ""
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr ""
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr ""
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr ""
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
msgid "the -s option may be used to run a privileged shell."
msgstr ""
-#: plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:657
msgid "the -D option may be used to run a command in a specific directory."
msgstr ""
-#: plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr ""
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
msgid "sorry, you are not allowed set a command timeout"
msgstr ""
-#: plugins/sudoers/sudoers.c:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr ""
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr ""
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr ""
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr ""
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr ""
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr ""
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr ""
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr ""
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr ""
@@ -3524,99 +3481,94 @@ msgstr ""
msgid "sudoedit should not be specified with a path"
msgstr ""
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr ""
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr ""
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr ""
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr ""
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr ""
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr ""
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr ""
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr ""
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr ""
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr ""
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr ""
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr ""
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr ""
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3624,48 +3576,48 @@ msgid ""
" (Q)uit and save changes to sudoers file (DANGER!)\n"
msgstr ""
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr ""
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr ""
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr ""
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr ""
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr ""
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr ""
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr ""
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
"\n"
msgstr ""
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3701,10 +3653,10 @@ msgstr ""
msgid "invalid IPv6 address"
msgstr ""
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr ""
-#: toke.l:1210
+#: toke.l:1218
msgid "too many levels of includes"
msgstr ""
diff --git a/plugins/sudoers/po/uk.mo b/plugins/sudoers/po/uk.mo
index 5d19eef0c..61db98214 100644
--- a/plugins/sudoers/po/uk.mo
+++ b/plugins/sudoers/po/uk.mo
Binary files differ
diff --git a/plugins/sudoers/po/uk.po b/plugins/sudoers/po/uk.po
index b6f5bd16d..3612f8803 100644
--- a/plugins/sudoers/po/uk.po
+++ b/plugins/sudoers/po/uk.po
@@ -4,10 +4,10 @@
# Yuri Chornoivan <yurchor@ukr.net>, 2011-2021, 2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.10b1\n"
+"Project-Id-Version: sudoers 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-13 13:34+0200\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 12:13+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
"Language: uk\n"
@@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 20.12.0\n"
-#: confstr.sh:1 gram.y:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "ÑинтакÑична помилка"
@@ -42,17 +42,17 @@ msgstr "*** Дані щодо ЗÐХИСТУ %h ***"
msgid "Sorry, try again."
msgstr "Вибачте, повторіть Ñпробу."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -68,39 +68,39 @@ msgstr "Вибачте, повторіть Ñпробу."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -109,23 +109,21 @@ msgstr "Вибачте, повторіть Ñпробу."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -133,120 +131,120 @@ msgstr "Вибачте, повторіть Ñпробу."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ потрібний об’єм пам’ÑÑ‚Ñ–"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ñ— Ñуми Ñлід вказати шлÑÑ…"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«CWD» мають починатиÑÑ Ð· «/», «~» або «*»"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "ШлÑÑ… «CWD» Ñ” надто довгим"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«CHROOT» мають починатиÑÑ Ð· «/», «~» або «*»"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "ШлÑÑ… «CHROOT» Ñ” надто довгим"
-#: gram.y:788
+#: gram.y:801
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "ÑинтакÑична помилка, Ñк назву замінника викориÑтано зарезервоване Ñлово %s"
-#: gram.y:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ notbefore"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ notafter"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ” надто великим"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу очікуваннÑ"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "надто довга команда"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Замінник «%s» вже визначено"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -266,37 +264,37 @@ msgstr "Замінник «%s» вже визначено"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -307,23 +305,21 @@ msgstr "Замінник «%s» вже визначено"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -331,69 +327,70 @@ msgstr "Замінник «%s» вже визначено"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -402,16 +399,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ %s"
@@ -426,31 +425,31 @@ msgstr "не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stdin: %m"
msgid "unable to execute %s: %m"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ %s: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "не вдалоÑÑ Ñтворити відгалуженнÑ"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "не вдалоÑÑ Ñтворити відгалуженнÑ: %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ канал: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (команда продовжуєтьÑÑ) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -566,13 +565,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr "%s Ñ–Ñнує, але не Ñ” каталогом (0%o)"
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "не вдалоÑÑ Ñтворити каталог %s"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ режим доÑтупу до %s на Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 0%o"
@@ -587,8 +586,8 @@ msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° ча
msgid "invalid timing file line: %s"
msgstr "некоректний Ñ€Ñдок у файлі timing: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "не вдалоÑÑ Ñтворити UUID"
@@ -647,56 +646,56 @@ msgstr "помилка під Ñ‡Ð°Ñ Ñпроби закрити деÑкрипÑ
msgid "error flushing iofd %d: %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби витерти деÑкриптор файла введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ %d: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "некоректний журнал введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ %s: маємо поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° %s без Ñамого запиÑу"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ точку Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ [%lld, %ld]"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s/%s"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "не вдалоÑÑ Ñкопіювати %s/%s до %s/%s: %s"
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸ %s на %s"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ точку Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ [%lld, %ld]"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "не виÑтачає файла журналу введеннÑ-виведеннÑ, %s/%s"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: неможливо виконати Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ð¿ÐµÑ€ÐµÐ´ на %zu"
@@ -705,32 +704,32 @@ msgstr "%s/%s: неможливо виконати Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ð¿
msgid "unable to connect to relay"
msgstr "не вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ–Ð· ретранÑлÑтором"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "надто велике Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñервера: %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -775,6 +774,13 @@ msgstr "%s: неочікуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ IoBuffer"
msgid "protocol error"
msgstr "помилка протоколу"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ %s, розмір %zu"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -790,110 +796,110 @@ msgstr "нерозпізнаний тип ClientMessage"
msgid "timed out writing to client %s"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу до клієнта %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "пропущено буфер запиÑу Ð´Ð»Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð° %s"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· клієнта %s"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "EOF від %s без належного Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ TLS"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð° Ñ” надто довгим: %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð° Ñ” надто великим"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "некоректне ClientMessage"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ віддалену IP-адреÑу"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ дані кориÑтувача до об'єкта SSL: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "не вдалоÑÑ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ñ‚Ð¸ Ñокет Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° дані"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "неочікуваний Ñигнал %d"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "Ñервер журналу sudo"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr "Параметри:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "шлÑÑ… до файла налаштувань"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "показати довідкове Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ– завершити роботу"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "не відгалужувати, не переходити у фоновий режим під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "ймовірніÑÑ‚ÑŒ Ñ€Ð¾Ð·Ñ–Ñ€Ð²Ð°Ð½Ð½Ñ Ð·'єднаннÑ"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "показати дані щодо верÑÑ–Ñ— Ñ– завершити роботу"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Потрібна верÑÑ–Ñ Protobuf-C 1.3 або новіша"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¾ÑÑ‚Ñ– ÑкиданнÑ: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s, верÑÑ–Ñ %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "невідомий кориÑтувач %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -967,7 +973,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] заборонений ключ: %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл журналу %s"
@@ -980,13 +986,13 @@ msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ контекÑÑ‚ Ñер
msgid "unable to initialize relay TLS context"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ контекÑÑ‚ ретранÑлÑтора TLS"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "не вдалоÑÑ Ñтворити файл журналу"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ñ‚Ð¸ %s"
@@ -999,8 +1005,8 @@ msgstr "не вдалоÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ñ‚Ð¸ файл журналу"
msgid "unable to open journal file"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл журналу"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл журналу"
@@ -1018,11 +1024,11 @@ msgstr "неочікуваний Ñимвол ÐºÑ–Ð½Ñ†Ñ Ñ„Ð°Ð¹Ð»Ð° під чаÑ
msgid "error reading journal file"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° журналу"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "некоректний файл журналу, неможливо перезапуÑтити"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "не вдалоÑÑ Ð²Ñтановити позицію [%lld, %ld] у файлі журналу %s"
@@ -1110,7 +1116,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ServerHello — пропущено server_id"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "некоректне ServerHello"
@@ -1131,34 +1137,34 @@ msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð·
msgid "relay host name does not match certificate"
msgstr "назва вузла ретранÑлÑтора не відповідає Ñертифікату"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ з ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "Ñервер-ретранÑлÑтор розірвав з'єднаннÑ"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñервера Ñ” надто великим"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу до ретранÑлÑтора %s (%s)"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби запиÑати до ретранÑлÑтора"
@@ -1214,7 +1220,7 @@ msgstr "припинити Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… піÑÐ»Ñ Ð´Ð¾ÑÑ
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "перевірити Ñервер аудиту надÑиланнÑм вибраного журналу введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ n разів у паралельному режимі"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ пошук %s:%s: %s"
@@ -1228,30 +1234,30 @@ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ IP-адреÑу Ñервера"
msgid "unable to read %s/%s: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "неочікувана Ð¿Ð¾Ð´Ñ–Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ â€” %d"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: неочікуваний Ñтан — %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "отримано Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку від Ñервера: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "отримано Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ Ñервера: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: неочікуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ type_case — %d"
@@ -1260,11 +1266,15 @@ msgstr "%s: неочікуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ type_case — %d"
msgid "timeout reading from server"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· Ñервера"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "назва вузла не відповідає Ñертифікату"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "передчаÑне Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñервера Ñ” надто великим: %u"
@@ -1296,12 +1306,12 @@ msgstr "на Ñервер надіÑлано дані щодо чаÑу, ÑкиÐ
msgid "commit point received from server [%lld, %ld]"
msgstr "отримано точку внеÑку від Ñервера [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "ÑталоÑÑ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð²'Ñзку TLS"
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "не вдалоÑÑ Ð²Ñтановити подію"
@@ -1310,50 +1320,51 @@ msgstr "не вдалоÑÑ Ð²Ñтановити подію"
msgid "TLS connection failed: %s"
msgstr "Ðе вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ TLS: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити об'єкт SSL у пам'ÑÑ‚Ñ–: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ Ñокет до об'єкта SSL: %s"
-#: logsrvd/tls_client.c:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ контекÑÑ‚ TLS"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "не вдалоÑÑ Ð²Ñтановити ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ TLS 1.2 у %s: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "не вдалоÑÑ Ð²Ñтановити ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ TLS 1.3 у %s: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "не вдалоÑÑ Ð²Ñтановити параметри Діфі-Гелмана: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "не вдалоÑÑ Ñтворити контекÑÑ‚ TLS: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "не вдалоÑÑ Ð²Ñтановити мінімальну верÑÑ–ÑŽ протоколу у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ TLS 1.2: %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо пори доби"
@@ -1409,47 +1420,47 @@ msgstr ""
"помилка Ñервера розпізнаваннÑ:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ реєÑтраційний Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° Ñ€Ñдок («%s»): %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ «%s»: %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кеш реєÑтраційних даних: %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити параметри: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ реєÑтраційні дані: %s"
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ кеш реєÑтраційних даних: %s"
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: не вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ реєÑтраційні дані у кеші: %s"
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ реєÑтраційний Ð·Ð°Ð¿Ð¸Ñ Ð²ÑƒÐ·Ð»Ð°: %s"
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: Ñпроба перевірки TGT зазнала невдачі! Ймовірно, Ð²Ð°Ñ Ð°Ñ‚Ð°ÐºÐ¾Ð²Ð°Ð½Ð¾: %s"
@@ -1490,7 +1501,7 @@ msgstr "Строк дії облікового запиÑу збіг або у Ñ
msgid "PAM account management error: %s"
msgstr "Помилка ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¸Ð¼Ð¸ запиÑами PAM: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” у базі даних %s"
@@ -1531,27 +1542,27 @@ msgstr "некоректна довжина коду Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ SecurID
msgid "unable to initialize SIA session"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ ÑÐµÐ°Ð½Ñ SIA"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "некоректні ÑпоÑоби розпізнаваннÑ"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "sudo зібрано з підтримкою некоректних ÑпоÑобів розпізнаваннÑ! Ðе можна змішувати влаÑні Ñ– зовнішні ÑпоÑоби розпізнаваннÑ."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "немає ÑпоÑобів розпізнаваннÑ"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "sudo зібрано без можливоÑтей з взаємодії з інÑтрументами розпізнаваннÑ! Якщо ви хочете вимкнути розпізнаваннÑ, ÑкориÑтайтеÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ --disable-authentication."
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ методи розпізнаваннÑ."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "СпоÑоби розпізнаваннÑ:"
@@ -1563,17 +1574,17 @@ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ умови аудита"
msgid "unable to commit audit record"
msgstr "не вдалоÑÑ Ð½Ð°Ð´Ñ–Ñлати Ð·Ð°Ð¿Ð¸Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð°"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° наÑтанов %s"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "ігноруємо файл наÑтанов %s: він не Ñ” звичайним файлом"
-#: plugins/sudoers/check.c:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1593,32 +1604,27 @@ msgstr ""
" #3) КориÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ð¼Ð¸ правами розширює Ñферу відповідальноÑÑ‚Ñ–.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ uid %u"
-#: plugins/sudoers/check_aliases.c:92
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Помилка: %s:%d:%d: цикл у %s «%s»"
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "ПопередженнÑ: %s:%d:%d: цикл у %s «%s»"
+msgid "cycle in %s \"%s\""
+msgstr "цикл у %s «%s»"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Помилка: виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s:%d:%d: %s «%s», Ñке не визначено"
-
-#: plugins/sudoers/check_aliases.c:98
-#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "ПопередженнÑ: виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s:%d:%d: %s «%s», Ñке не визначено"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s «%s», Ñке не визначено"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1635,7 +1641,7 @@ msgstr "початковий порÑдок: %s: %s"
msgid "order padding: %s: %s"
msgstr "Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€Ñдку: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "Граматична перевірка %s, верÑÑ–Ñ %d\n"
@@ -1655,10 +1661,10 @@ msgstr "непідтримуваний формат виведеннÑ, %s"
msgid "%s: input and output files must be different"
msgstr "%s: файли вхідних і вихідних даних мають бути різними файлами"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sudoers"
@@ -1687,28 +1693,18 @@ msgstr "некоректний тип придушеннÑ: %s"
msgid "invalid filter: %s"
msgstr "некоректний фільтр: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ файл %s, невідома помилка"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "помилка обробки у %s поблизу Ñ€Ñдка %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "помилка обробки у %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ %s"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1717,7 +1713,7 @@ msgstr ""
"%s — Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–Ð² файлів sudoers\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1758,31 +1754,31 @@ msgstr ""
" -V, --version вивеÑти дані щодо верÑÑ–Ñ— Ñ– завершити роботу"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ гринвіцький чаÑ"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð°Ñового штампа"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: невідомий Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… параметрів, «%s»"
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "забагато запиÑів sudoers, макÑимальна кількіÑÑ‚ÑŒ — %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "не вÑтановлено Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ñередовища SUDOERS_BASE Ñ– не вказано параметра -b."
@@ -1827,780 +1823,751 @@ msgstr "%s:%d:%d: не вдалоÑÑ Ð·Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ Defaults «%s» ÑпециÑ
msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries"
msgstr "%s:%d:%d: Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Defaults «%s» перевизначено наÑтупними запиÑами"
-#: plugins/sudoers/cvtsudoers_merge.c:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, c-format
msgid "%s:%d:%d: merging userspec into %s:%d:%d"
msgstr "%s:%d:%d: об'єднуємо Ñпецифікації кориÑтувачів у %s:%d:%d"
-#: plugins/sudoers/cvtsudoers_merge.c:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, c-format
msgid "%s:%d:%d: removing userspec overridden by subsequent entries"
msgstr "%s:%d:%d: Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ userspec перевизначено наÑтупними запиÑами"
-#: plugins/sudoers/def_data.c:50
+#: plugins/sudoers/def_data.c:56
#, c-format
msgid "Syslog facility if syslog is being used for logging: %s"
msgstr "ІнÑтрумент Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ, Ñкщо викориÑтано syslog: %s"
-#: plugins/sudoers/def_data.c:54
+#: plugins/sudoers/def_data.c:60
#, c-format
msgid "Syslog priority to use when user authenticates successfully: %s"
msgstr "ПріоритетніÑÑ‚ÑŒ, Ñка викориÑтовуватиметьÑÑ Ñƒ syslog Ð´Ð»Ñ ÑƒÑпішних розпізнавань: %s"
-#: plugins/sudoers/def_data.c:58
+#: plugins/sudoers/def_data.c:64
#, c-format
msgid "Syslog priority to use when user authenticates unsuccessfully: %s"
msgstr "ПріоритетніÑÑ‚ÑŒ, Ñка викориÑтовуватиметьÑÑ Ñƒ syslog Ð´Ð»Ñ Ð½ÐµÑƒÑпішних розпізнавань: %s"
-#: plugins/sudoers/def_data.c:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "Розташовувати запит щодо OTP у окремому Ñ€Ñдку"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "Ігнорувати «.» у $PATH"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "Завжди надÑилати лиÑта, коли викликано sudo"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "ÐадÑилати лиÑта, Ñкщо кориÑтувачу не вдалоÑÑ Ð¿Ñ€Ð¾Ð¹Ñ‚Ð¸ розпізнаваннÑ"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
msgid "Send mail if the user is not in sudoers"
msgstr "ÐадÑилати лиÑта, Ñкщо кориÑтувача немає Ñеред sudoers"
-#: plugins/sudoers/def_data.c:82
+#: plugins/sudoers/def_data.c:88
msgid "Send mail if the user is not in sudoers for this host"
msgstr "ÐадÑилати лиÑта, Ñкщо кориÑтувача немає у ÑпиÑку sudoers цього вузла"
-#: plugins/sudoers/def_data.c:86
+#: plugins/sudoers/def_data.c:92
msgid "Send mail if the user is not allowed to run a command"
msgstr "ÐадÑилати лиÑта, Ñкщо кориÑтувачеві заборонено виконувати команду"
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:96
msgid "Send mail if the user tries to run a command"
msgstr "ÐадÑилати лиÑта, Ñкщо кориÑтувач намагаєтьÑÑ Ð²Ñ–Ð´Ð´Ð°Ñ‚Ð¸ команду"
-#: plugins/sudoers/def_data.c:94
+#: plugins/sudoers/def_data.c:100
msgid "Use a separate timestamp for each user/tty combo"
msgstr "Окремий чаÑовий штамп Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— комбінації кориÑтувач/tty"
-#: plugins/sudoers/def_data.c:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr "Показувати наÑтанови кориÑтувачеві під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ запуÑку sudo"
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "Файл з наÑтановами щодо sudo: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Типово, вимагати розпізнаваннÑ"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "Root може виконувати sudo"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr "ЗапиÑувати назву вузла до файла журналу (не syslog)"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "ЗапиÑувати рік до файла журналу (не syslog)"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
msgid "If sudo is invoked with no arguments, start a shell"
msgstr "Якщо sudo викликано без параметрів, запуÑкати командну оболонку"
-#: plugins/sudoers/def_data.c:126
+#: plugins/sudoers/def_data.c:132
msgid "Set $HOME to the target user when starting a shell with -s"
msgstr "Ð’Ñтановлювати $HOME відповідно до вказаного кориÑтувача Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку оболонки з -s"
-#: plugins/sudoers/def_data.c:130
+#: plugins/sudoers/def_data.c:136
msgid "Always set $HOME to the target user's home directory"
msgstr "Завжди вÑтановлювати значеннÑм $HOME домашній каталог вказаного кориÑтувача"
-#: plugins/sudoers/def_data.c:134
+#: plugins/sudoers/def_data.c:140
msgid "Allow some information gathering to give useful error messages"
msgstr "Дозволити Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… з метою Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ñ€Ð¾Ð·ÑƒÐ¼Ñ–Ð»Ð¸Ñ… повідомлень про помилки"
-#: plugins/sudoers/def_data.c:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr "У файлі sudoers Ñлід вказати повні назви вузлів"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr "ЗнущатиÑÑ Ð· кориÑтувача, Ñкщо введено помилковий пароль"
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr "ДозволÑти кориÑтувачеві виконувати sudo, лише Ñкщо з ним пов’Ñзано tty"
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "Visudo зважатимwill honor the EDITOR environment variable"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "ÐадÑилати запит на пароль root, а не кориÑтувача"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "ÐадÑилати запит щодо Ð¿Ð°Ñ€Ð¾Ð»Ñ runas_default, але Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñамого кориÑтувача"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "ÐадÑилати запит щодо Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ð³Ð¾ кориÑтувача, але Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñамого кориÑтувача"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "ЗаÑтоÑовувати типові параметри у клаÑÑ– вказаного кориÑтувача, Ñкщо такий ÐºÐ»Ð°Ñ Ñ”"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Ð’Ñтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ… Ñередовища LOGNAME Ñ– USER"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "Ð’Ñтановлювати Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ð³Ð¾ кориÑтувача ефективний uid, а не Ñправжній uid"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "Ðе ініціалізувати вектор групи відповідно до вказаного кориÑтувача"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "ПозиціÑ, на Ñкій Ñлід переноÑити Ñ€Ñдки файла журналу (0 — без перенеÑеннÑ): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "Ð§Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° чаÑовий штамп розпізнаваннÑ: %.1f хвилина"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "Ð§Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ: %.1f хвилина"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "КількіÑÑ‚ÑŒ Ñпроб Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "Потрібне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ umask або 0777 Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувачевого: 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "ШлÑÑ… до файла журналу: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "ШлÑÑ… до програми ел. пошти: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "Параметри програми ел. пошти: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "ÐдреÑа, на Ñку надÑилатимутьÑÑ Ð»Ð¸Ñти: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "ÐдреÑа, з Ñкої надÑилатимутьÑÑ Ð»Ð¸Ñти: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "Тема лиÑтів: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилковий пароль: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "ШлÑÑ… до каталогу Ñтану Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð°Ñтанов: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "ШлÑÑ… до каталогу чаÑових штампів розпізнаваннÑ: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
msgstr "ВлаÑник каталогу чаÑових штампів розпізнаваннÑ: %s"
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:248
#, c-format
msgid "Users in this group are exempt from password and PATH requirements: %s"
msgstr "КориÑтувачів цієї групи звільнено від потреби у введенні Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñ– PATH: %s"
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "Типовий запит паролÑ: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "Якщо вÑтановлено, запит щодо паролю замінюватиме запит ÑиÑтеми."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr "Типовий кориÑтувач Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку команд: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð·Ð°Ð¼Ñ–Ð½Ð¸ $PATH кориÑтувача: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr "ШлÑÑ… до редактора, Ñкий викориÑтовуватиме visudo: %s"
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr "Умови запиту Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ Ð¿Ñевдокоманди «list»: %s"
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr "Умови запиту Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ Ð¿Ñевдокоманди «verify»: %s"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr "Попередньо завантажити бібліотеку sudo_noexec, Ñка замінює функції виконаннÑ"
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr "Чи Ñлід ігнорувати локальний файл sudoers, Ñкщо Ñ” доÑтуп до каталогу LDAP"
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr "ДеÑкриптори файлів >= %d буде закрито перед виконаннÑм команди"
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
msgstr "Якщо вÑтановлено, кориÑтувачі можуть перевизначати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ closefrom за допомогою параметра -C"
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Дозволити кориÑтувачам вÑтановлювати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¸Ñ… змінних Ñередовища"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr "Відновити типовий набір змінних Ñередовища"
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "Змінні Ñередовища, безпечніÑÑ‚ÑŒ Ñких Ñлід перевірÑти:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Змінні Ñередовища, Ñкі Ñлід вилучити:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Змінні Ñередовища, Ñкі Ñлід зберегти:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "Роль SELinux, Ñку Ñлід викориÑтати у новому контекÑÑ‚Ñ– захиÑту: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "Тип SELinux, Ñкий Ñлід викориÑтати у новому контекÑÑ‚Ñ– захиÑту: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "ШлÑÑ… до Ñпецифічного Ð´Ð»Ñ sudo файла Ñередовища: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "ШлÑÑ… до Ñпецифічного Ð´Ð»Ñ sudo файла Ñередовища з обмеженим доÑтупом: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "Локаль, Ñку Ñлід викориÑтати під Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ sudoers: %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "Дозволити sudo надÑилати запит щодо паролÑ, навіть Ñкщо цей пароль буде видимим"
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "Супроводжувати Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувачем Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð¾Ð¼ замінників Ñимволів паролÑ"
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "Швидше вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ÑÑ‚Ñ–, менш точне, але без доÑтупу до файлової ÑиÑтеми"
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ umask, вказане у sudoers, перевизначатиме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, навіть Ñкщо це Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ð²Ð°Ñ” ширший доÑтуп"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "ЗапиÑувати дані, вказані кориÑтувачем під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
msgid "Log the output of the command being run"
msgstr "ЗапиÑувати дані, виведені командою під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ"
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr "СтиÑкати журнали за допомогою zlib"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "Завжди запуÑкати команди у пÑевдо-tty"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Додаток Ð´Ð»Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ не-Unix груп: %s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:372
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Каталог, у Ñкому Ñлід зберігати журнали введеннÑ/виведеннÑ: %s"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:376
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Файл, у Ñкому Ñлід зберігати журнал введеннÑ/Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…: %s"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:380
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Додати Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла utmp/utmpx під Ñ‡Ð°Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ pty"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:384
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Ð’Ñтановити кориÑтувача у utmp у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, від імені Ñкого виконуєтьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Ðабір дозвільних прав доÑтупу: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Ðабір обмежувальних прав доÑтупу: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "Виконувати команди у pty у фоновому режимі"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "Ðазва Ñлужби PAM, Ñкою Ñлід ÑкориÑтатиÑÑ: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Ðазва Ñлужби PAM, Ñкою Ñлід ÑкориÑтатиÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¾Ð»Ð¾Ð½Ð¾Ðº входу до ÑиÑтеми: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Ðазва Ñлужби PAM, Ñкою Ñлід ÑкориÑтатиÑÑ, Ñкщо sudo запущено з параметром -A: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Спробувати вÑтановити реєÑтраційні дані PAM Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, від імені Ñкого виконуватимутьÑÑ Ð´Ñ–Ñ—"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "Створити ÑÐµÐ°Ð½Ñ PAM Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "Виконати ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñ–ÑÑ‚ÑŽ облікового запиÑу PAM"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "МакÑимальний номер у поÑлідовноÑÑ‚Ñ– журналу введеннÑ-виведеннÑ: %s"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "Увімкнути підтримку мережевих груп у sudoers"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "ПеревірÑти можливіÑÑ‚ÑŒ запиÑу до батьківÑького каталогу під Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð»Ñ–Ð² за допомогою sudoedit"
-#: plugins/sudoers/def_data.c:430
+#: plugins/sudoers/def_data.c:436
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Переходити за Ñимволічними поÑиланнÑми під Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² за допомогою sudoedit"
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr "ÐадÑилати запит до додатка груп щодо невідомих груп ÑиÑтеми"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Ð’Ñтановлювати відповідніÑÑ‚ÑŒ мережевим групам за уÑім кортежем даних: кориÑтувачем, вузлом Ñ– доменом"
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Дозволити Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, навіть Ñкщо sudo не може здійÑнювати Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ журналу аудиту"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Дозволити Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, навіть Ñкщо sudo не може здійÑнювати Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ журналу введеннÑ-виведеннÑ"
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Дозволити Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, навіть Ñкщо sudo не може здійÑнювати Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла журналу"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Визначати групи у sudoers Ñ– вÑтановлювати відповідніÑÑ‚ÑŒ не назві, а ідентифікатору групи"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "ЗапиÑи журналу, Ñкі виÑвлÑÑ‚ÑŒÑÑ Ð´Ð¾Ð²ÑˆÐ¸Ð¼Ð¸ за це значеннÑ, буде поділено на декілька повідомлень журналу ÑиÑтеми: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "КориÑтувач, Ñкий буде влаÑником уÑÑ–Ñ… файлів журналу введеннÑ-виведеннÑ: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Група, Ñка буде влаÑником уÑÑ–Ñ… файлів журналу введеннÑ-виведеннÑ: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Режим доÑтупу до файлів, Ñким Ñлід ÑкориÑтатиÑÑ Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² журналу введеннÑ-виведеннÑ: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Виконати команди за деÑкриптором файла заміÑÑ‚ÑŒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð° шлÑхом: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ігнорувати невідомі запиÑи Defaults у sudoers заміÑÑ‚ÑŒ показу попередженнÑ"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Ð§Ð°Ñ Ñƒ Ñекундах, Ñкий має минути, щоб команду буде перервано: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "Ðадати змогу кориÑтувачеві вÑтановлювати Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ командному Ñ€Ñдку"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Скидати дані журналу введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð½Ð° диÑк негайно, без буферизації"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
msgid "Include the process ID when logging via syslog"
msgstr "Включати ідентифікатор процеÑу до журналів syslog"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Тип запиÑу чаÑової позначки розпізнаваннÑ: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку розпізнаваннÑ: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr "Ігнорувати регіÑÑ‚Ñ€ Ñимволів при пошуку імен кориÑтувачів"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr "Ігнорувати регіÑÑ‚Ñ€ Ñимволів при пошуку назв груп"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
msgid "Log when a command is allowed by sudoers"
msgstr "ЗапиÑувати до журналу дані, коли Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ дозволене sudoers"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:524
msgid "Log when a command is denied by sudoers"
msgstr "ЗапиÑувати до журналу дані, коли Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ заборонене sudoers"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:528
msgid "Sudo log server(s) to connect to with optional port"
msgstr "Сервер або Ñервери журналу sudo, з Ñкими Ñлід вÑтановити з'єднаннÑ, з необов'Ñзковим зазначеннÑм порту"
-#: plugins/sudoers/def_data.c:526
+#: plugins/sudoers/def_data.c:532
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Ð§Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° дії Ñервера журналу sudo у Ñекундах: %u"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:536
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Увімкнути параметр Ñокета SO_KEEPALIVE на Ñокеті, Ñкий з'єднано із Ñервером журналу"
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:540
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "ШлÑÑ… до файла пакета CA Ñервера аудиту: %s"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "ШлÑÑ… до файла Ñертифікатів sudoers: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "ШлÑÑ… до файла закритого ключа sudoers: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
msgid "Verify that the log server's certificate is valid"
msgstr "Перевірити, чи Ñ” Ñертифікат Ñервера Ð¶ÑƒÑ€Ð½Ð°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¸Ð½Ð½Ð¸Ð¼"
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:556
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Дозволити викориÑÑ‚Ð°Ð½Ð½Ñ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ñ… значень імені кориÑтувача Ñ–/або ідентифікатора групи Ð´Ð»Ñ runas"
-#: plugins/sudoers/def_data.c:554
+#: plugins/sudoers/def_data.c:560
msgid "Only permit running commands as a user with a valid shell"
msgstr "ДозволÑти Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ лише від імені кориÑтувачів із коректним запиÑом командної оболонки"
-#: plugins/sudoers/def_data.c:558
+#: plugins/sudoers/def_data.c:564
msgid "Set the pam remote user to the user running sudo"
msgstr "Ð’Ñтановити Ð´Ð»Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾Ð³Ð¾ кориÑтувача PAM те Ñаме ім'Ñ, що Ñ– Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, від імені Ñкого запущено sudo"
-#: plugins/sudoers/def_data.c:562
+#: plugins/sudoers/def_data.c:568
msgid "Set the pam remote host to the local host name"
msgstr "Ð’Ñтановити Ð´Ð»Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾Ð³Ð¾ вузла PAM назву локального вузла"
-#: plugins/sudoers/def_data.c:566
+#: plugins/sudoers/def_data.c:572
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Робочий каталог, до Ñкого Ñлід перейти перед виконаннÑм команди: %s"
-#: plugins/sudoers/def_data.c:570
+#: plugins/sudoers/def_data.c:576
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Кореневий каталог, до Ñкого Ñлід перейти перед виконаннÑм команди: %s"
-#: plugins/sudoers/def_data.c:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Формат журналу: %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "Увімкнути підтримку RBAC SELinux"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "ШлÑÑ… до файла, Ñкий було Ñтворено під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ запуÑку sudo: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "Перехоплювати подальші команди Ñ– заÑтоÑовувати до них Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ sudoers"
-#: plugins/sudoers/def_data.c:590
+#: plugins/sudoers/def_data.c:596
msgid "Log sub-commands run by the original command"
msgstr "ЗапиÑувати до журналу підкоманди, Ñкі запущено початковою командою"
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "ЗапиÑувати до журналу Ñтан виходу команд"
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Ð”Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð°Ñтупних команд у перехопленому ÑеанÑÑ– Ñлід пройти розпізнаваннÑ"
-#: plugins/sudoers/def_data.c:602
+#: plugins/sudoers/def_data.c:608
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Дозволити перехопленій команді запуÑкати програми зі вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ setuid або setgid"
-#: plugins/sudoers/def_data.c:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "МакÑимальний розмір, до Ñкого може зроÑтати адреÑний проÑÑ‚Ñ–Ñ€ процеÑу (у байтах): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Ðайбільший розмір файла дампа Ñдра, Ñкий може бути Ñтворено (у байтах): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "МакÑимальна кількіÑÑ‚ÑŒ чаÑу процеÑора, Ñкий може викориÑтовувати Ð¿Ñ€Ð¾Ñ†ÐµÑ (у Ñекундах): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "МакÑимальний розмір Ñегмента даних Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу (у байтах): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Ðайбільший розмір файла, Ñкий може Ñтворювати Ð¿Ñ€Ð¾Ñ†ÐµÑ (у байтах): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "МакÑимальна кількіÑÑ‚ÑŒ блокувань, Ñкі може вÑтановлювати процеÑ: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "МакÑимальний розмір, Ñкий Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¼Ð¾Ð¶Ðµ блокувати у пам'ÑÑ‚Ñ– (у байтах): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "МакÑимальна кількіÑÑ‚ÑŒ файлів, Ñкі може відкривати процеÑ: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "МакÑимальна кількіÑÑ‚ÑŒ процеÑів, Ñкі кориÑтувач може запуÑкати одночаÑно: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "МакÑимальний розмір, до Ñкого може зроÑтати розмір резидентного набору (у байтах): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "МакÑимальний розмір, до Ñкого може зроÑтати ÑÑ‚Ð¾Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу (у байтах): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
msgid "Attempt authentication even when in non-interactive mode"
msgstr "ÐамагатиÑÑ Ð¿Ñ€Ð¾Ð¹Ñ‚Ð¸ розпізнаваннÑ, навіть Ñкщо працюємо не в інтерактивному режимі"
-#: plugins/sudoers/def_data.c:654
+#: plugins/sudoers/def_data.c:660
msgid "Store plaintext passwords in I/O log input"
msgstr "Зберігати звичайний текÑÑ‚ паролів у вхідних даних журналу введеннÑ-виведеннÑ"
-#: plugins/sudoers/def_data.c:658
+#: plugins/sudoers/def_data.c:664
msgid "List of regular expressions to use when matching a password prompt"
msgstr "СпиÑок формальних виразів Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ÑÑ‚Ñ– при запиті паролÑ"
-#: plugins/sudoers/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: невідомий Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… параметрів, «%s»"
-
-#: plugins/sudoers/defaults.c:242
-#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: не вказано Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s»"
-
-#: plugins/sudoers/defaults.c:245
-#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: не вказано Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s»"
-
-#: plugins/sudoers/defaults.c:258
-#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: некоректний оператор «%c=» Ð´Ð»Ñ Â«%s»"
-
-#: plugins/sudoers/defaults.c:261
-#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: некоректний оператор «%c=» Ð´Ð»Ñ Â«%s»"
-
-#: plugins/sudoers/defaults.c:297
-#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: параметру «%s» не потрібно передавати значеннÑ"
-
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: параметру «%s» не потрібно передавати значеннÑ"
+msgid "The mechanism used by the intercept and log_subcmds options: %s"
+msgstr "Механізм, Ñкий викориÑтано Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² intercept Ñ– log_subcmds: %s"
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: некоректний тип Defaults, 0x%x, Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
+msgid "AppArmor profile to use in the new security context: %s"
+msgstr "Профіль AppArmor, Ñкий Ñлід викориÑтати у новому контекÑÑ‚Ñ– захиÑту: %s"
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: некоректний тип Defaults, 0x%x, Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
+msgid "unknown defaults entry \"%s\""
+msgstr "невідомий Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… параметрів «%s»"
-#: plugins/sudoers/defaults.c:341
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» Ñ” некоректним Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
+msgid "no value specified for \"%s\""
+msgstr "не вказано Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s»"
-#: plugins/sudoers/defaults.c:344
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» Ñ” некоректним Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "некоректний оператор «%c=» Ð´Ð»Ñ Â«%s»"
-#: plugins/sudoers/defaults.c:1161
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: назва шлÑху «%s» Ñ” надто довгою"
+msgid "option \"%s\" does not take a value"
+msgstr "параметру «%s» не потрібно передавати значеннÑ"
-#: plugins/sudoers/defaults.c:1164
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: назва шлÑху Ð´Ð»Ñ Â«%s» Ñ” надто довгою"
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "некоректний тип Defaults, 0x%x, Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
-#: plugins/sudoers/defaults.c:1175
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/», «~» або «*»"
+msgid "value \"%s\" is invalid for option \"%s\""
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» Ñ” некоректним Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
-#: plugins/sudoers/defaults.c:1179
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/», «~» або «*»"
+msgid "path name for \"%s\" too long"
+msgstr "назва шлÑху Ð´Ð»Ñ Â«%s» Ñ” надто довгою"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/»"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/», «~» або «*»"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/»"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/»"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2615,16 +2582,6 @@ msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ´ÑƒÐ²Ð°Ñ‚Ð¸ Ñередовище"
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "вибачте, вам не дозволено вÑтановлювати такі змінні Ñередовища: %s"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "помилка обробки у %s поблизу Ñ€Ñдка %d"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "помилка обробки у %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2674,37 +2631,37 @@ msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ маÑку мережі «%s»"
msgid "Local IP address and netmask pairs:\n"
msgstr "Пари локальних IP-Ð°Ð´Ñ€ÐµÑ Ñ– маÑок мережі:\n"
-#: plugins/sudoers/iolog.c:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ файл поÑлідовноÑÑ‚Ñ–"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "не вдалоÑÑ Ð·Ð´Ñ–Ð¹Ñнити Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла журналу введеннÑ-виведеннÑ: %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "не вдалоÑÑ Ñтворити %s/%s"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, файл журналу введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ–Ñ— %d не відкрито"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ‡Ð°Ñ Ð½Ð° годиннику"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, некоректний Ñигнал %d"
@@ -2723,16 +2680,16 @@ msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ базу даних ÑÐ
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "щоб ÑкориÑтатиÑÑ SSL, вам Ñлід вÑтановити Ð´Ð»Ñ TLS_CERT Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ LDAP: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls вказано, але у бібліотеках LDAP не передбачено підтримки ldap_start_tls_s() або ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "некоректний атрибут sudoOrder: %s"
@@ -2772,8 +2729,8 @@ msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ ÑиÑтему аудита"
msgid "unable to send audit message"
msgstr "не вдалоÑÑ Ð½Ð°Ð´Ñ–Ñлати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð°"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "помилка у циклі обробки подій"
@@ -2782,101 +2739,101 @@ msgstr "помилка у циклі обробки подій"
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Ðе вдалоÑÑ Ñтворити об'єкт SSL_CTX: %s"
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:225
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ комплект Ñлужби Ñертифікації %s"
-#: plugins/sudoers/log_client.c:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñертифікат %s"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ закритий ключ %s"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити об'єкт SSL у пам'ÑÑ‚Ñ–: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "Ðе вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ TLS із %s:%s: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "Спроба ініціалізувати TLS завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "Спроба узгодити зв'Ñзок TLS завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, некоректний Ñтан виходу %d"
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ ServerMessage"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "втрачено зв’Ñзок з Ñервером журналу"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "не вказано буфер запиÑу"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "не вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ–Ð· Ñервером журналу"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "кориÑтувача немає у ÑпиÑку sudoers"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "кориÑтувача не уповноважено на дії на вузлі"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ заборонено"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s немає у файлі sudoers.\n"
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:326
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s не має права виконувати sudo на %s.\n"
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Вибачте, кориÑтувач %s не має права виконувати sudo на %s.\n"
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Вибачте, кориÑтувач %s не має права виконувати «%s%s%s» від імені %s%s%s на %s.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Про цю подію подано звіт адмініÑтратору.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: команду не знайдено"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2885,7 +2842,7 @@ msgstr ""
"пропущено «%s» знайдений у «.»\n"
"СкориÑтайтеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ «sudo ./%s», Ñкщо вам потрібно виконати Ñаме «%s»."
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:395
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
@@ -2894,33 +2851,39 @@ msgstr[1] "%u невдалих Ñпроби Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ"
msgstr[2] "%u невдалих Ñпроб Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ"
msgstr[3] "одна невдала Ñпроба Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ"
-#: plugins/sudoers/logging.c:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби розпізнаваннÑ"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "Ñлід вказати пароль"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "проблема із обробкою sudoers"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла журналу: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "контрольна Ñума Ð´Ð»Ñ %s (%s) має помилкову довжину %zu, мало бути %zu"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "контрольну Ñуму Ð´Ð»Ñ %s (%s) подано не у формі %s"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "Якщо увімкнено режим перехопленнÑ, підтримки RBAC SELinux не передбачено"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "Якщо увімкнено прапорець log_subcmds, підтримки RBAC SELinux не передбачено"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2929,7 +2892,7 @@ msgstr ""
"\n"
"Роль LDAP: %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2937,38 +2900,38 @@ msgstr ""
"\n"
"Ð—Ð°Ð¿Ð¸Ñ sudoers:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " КориÑтувачі Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " Групи Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Параметри: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Команди:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "ВідповідніÑÑ‚ÑŒ запиÑів Defaults Ð´Ð»Ñ %s на %s:\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку від імені Ñ– команд Ð´Ð»Ñ %s:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "КориÑтувач %s має право виконувати на %s такі команди:\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "КориÑтувач %s не має права виконувати sudo на %s.\n"
@@ -2988,64 +2951,59 @@ msgstr "некоректний атрибут LDIF: %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "оболонкою sudo вÑтановлено некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° %.*s"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "назва шлÑху Ð´Ð»Ñ Â«%s» Ñ” надто довгою"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ ÑпиÑок мережевих адреÑ"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr "ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача не вÑтановлено за допомогою оболонки sudo"
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
msgstr "ідентифікатор кориÑтувача не вÑтановлено за допомогою оболонки sudo"
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr "ідентифікатор групи не вÑтановлено за допомогою оболонки sudo"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
msgid "host name not set by sudo front-end"
msgstr "назву вузла не вÑтановлено за допомогою оболонки sudo"
-#: plugins/sudoers/policy.c:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "некоректний робочий каталог: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "некоректний каталог chroot: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ %s"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: некоректні прапорці режиму від оболонки sudo: 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Додаток правил sudoers верÑÑ–Ñ— %s\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Граматична перевірка файла sudoers верÑÑ–Ñ— %d\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3054,27 +3012,27 @@ msgstr ""
"\n"
"ШлÑÑ… до sudoers: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "ШлÑÑ… до nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ШлÑÑ… до ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ШлÑÑ… до ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "неможливо зареєÑтрувати процедуру Ð¿ÐµÑ€ÐµÑ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ %d (верÑÑ–Ñ %d.%d)"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "неможливо ÑкаÑувати реєÑтрацію процедури Ð¿ÐµÑ€ÐµÑ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ %d (верÑÑ–Ñ %d.%d)"
@@ -3213,149 +3171,148 @@ msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ джерело SSS. ЧÐ
msgid "unable to find symbol \"%s\" in %s"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñимвол «%s» у %s"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "проблема з типовими запиÑами"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "на вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "не знайдено коректних джерел даних sudoers, Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "кориÑтувачеві заборонено змінювати кореневий каталог на %s"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "вам не дозволено викориÑтовувати параметр -R з %s"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "кориÑтувачеві заборонено змінювати каталог на %s"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "вам не дозволено викориÑтовувати параметр -D з %s"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "не вказано команду"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers вказує, що sudo не можна кориÑтуватиÑÑ Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ від root"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "кориÑтувачеві заборонено перевизначати Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ closefrom"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "вам не дозволено викориÑтовувати параметр -C"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "влаÑник чаÑового штампа (%s): не знайдено кориÑтувача з таким іменем"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "немає tty"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "вибачте, Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ sudo вашому кориÑтувачеві потрібен tty"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "некоректний Ð·Ð°Ð¿Ð¸Ñ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ¸ Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача %s: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "команда у поточному каталозі"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "«cd» Ñ” вбудованою командою оболонки, Ñ—Ñ— не може бути запущено безпоÑередньо."
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
msgid "the -s option may be used to run a privileged shell."
msgstr "параметр -s може бути викориÑтано Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку привілейованої оболонки."
-#: plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:657
msgid "the -D option may be used to run a command in a specific directory."
msgstr "параметр -D може бути викориÑтано Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку команди у вказаному каталозі."
-#: plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr "кориÑтувачеві заборонено вÑтановлювати Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
msgid "sorry, you are not allowed set a command timeout"
msgstr "вибачте, вам не дозволено вÑтановлювати Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: plugins/sudoers/sudoers.c:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "кориÑтувачеві заборонено зберігати Ñередовище"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr "вибачте, вам не дозволено зберігати Ñередовище"
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr "Ðемає потреби у запуÑку sudoedit за допомогою sudo"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ %s"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "%s не є звичайним файлом"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s належить uid %u, має належати %u"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð´Ð¾ «%s» можливий Ð´Ð»Ñ Ð´Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ кориÑтувача"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s належить gid %u, має належати %u"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "викориÑтовувати «-c %s» може лише root"
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "невідомий ÐºÐ»Ð°Ñ Ð²Ñ…Ð¾Ð´Ñƒ %s"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ адреÑу вузла %s"
@@ -3561,99 +3518,94 @@ msgstr "шлÑÑ… до даних щодо Ñтану Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð°ÑÑ‚
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit не Ñлід вказувати разом із шлÑхом"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "параметр -x буде вилучено у наÑтупному випуÑку"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "будь лаÑка, ÑкориÑтайтеÑÑ Ð·Ð°Ð¼Ñ–ÑÑ‚ÑŒ нього програмою cvtsudoers"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "натиÑніть Enter Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ %s: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "дані ÑеанÑу Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð»Ð¸ÑˆÐ¸Ð»Ð¸ÑÑ Ñƒ %s"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "вказаного редактора (%s) не Ñ–Ñнує"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "не знайдено жодного редактора (шлÑÑ… до редактора = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "помилка запиÑу"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ stat файл тимчаÑових даних (%s), %s не змінено"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "файл тимчаÑових даних має нульовий об’єм (%s), %s не змінено"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "помилка редактора (%s), %s не змінено"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "%s не змінено"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "не вдалоÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ відкрити файл тимчаÑових даних (%s), %s не змінено."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ файл тимчаÑових даних (%s), невідома помилка"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ %s у ÑпиÑку!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "не вдалоÑÑ Ð²Ñтановити (uid, gid) %s у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (%u, %u)"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s Ñ– %s не перебувають у одній файловій ÑиÑтемі, викориÑтовуємо mv Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "помилка команди: «%s %s %s», %s не змінено"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "помилка Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ %s, %s не змінено"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Рзараз що? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3665,41 +3617,41 @@ msgstr ""
" (x) — вийти без внеÑÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½ до файла sudoers\n"
" (Q) — вийти зі збереженнÑм файла sudoers (ÐЕБЕЗПЕЧÐО!)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ %s"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: помилковий влаÑник (uid, gid), має бути (%u, %u)\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: помилкові права доÑтупу, режим доÑтупу має бути 0%o\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: вдала обробка\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "%s зайнÑто, повторіть Ñпробу пізніше"
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Редагувати попри уÑе? [y/N]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "ПопередженнÑ: %s:%d:%d: не викориÑтано %s «%s»"
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3708,7 +3660,7 @@ msgstr ""
"%s — безпечне Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° sudoers\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3752,10 +3704,67 @@ msgstr "некоректне Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Ñ€Ñдка"
msgid "invalid IPv6 address"
msgstr "некоректна адреÑа IPv6"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "неочікуваний розрив Ñ€Ñдків у Ñ€Ñдку"
-#: toke.l:1210
+#: toke.l:1218
msgid "too many levels of includes"
msgstr "занадто виÑокий рівень вкладеноÑÑ‚Ñ–"
+
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "ПопередженнÑ: %s:%d:%d: цикл у %s «%s»"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "ПопередженнÑ: виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ %s:%d:%d: %s «%s», Ñке не визначено"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "помилка обробки у %s поблизу Ñ€Ñдка %d\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "помилка обробки у %s\n"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d: не вказано Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s»"
+
+#~ msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+#~ msgstr "%s:%d:%d: некоректний оператор «%c=» Ð´Ð»Ñ Â«%s»"
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: параметру «%s» не потрібно передавати значеннÑ"
+
+#~ msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+#~ msgstr "%s:%d:%d: некоректний тип Defaults, 0x%x, Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» Ñ” некоректним Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
+
+#~ msgid "%s:%d:%d: path name for \"%s\" too long"
+#~ msgstr "%s:%d:%d: назва шлÑху «%s» Ñ” надто довгою"
+
+#~ msgid "%s: path name for \"%s\" too long"
+#~ msgstr "%s: назва шлÑху Ð´Ð»Ñ Â«%s» Ñ” надто довгою"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/», «~» або «*»"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/»"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "помилка обробки у %s поблизу Ñ€Ñдка %d"
+
+#~ msgid "parse error in %s"
+#~ msgstr "помилка обробки у %s"
+
+#~ msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#~ msgstr "Якщо увімкнено режим перехопленнÑ, підтримки RBAC SELinux не передбачено"
+
+#~ msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#~ msgstr "Якщо увімкнено прапорець log_subcmds, підтримки RBAC SELinux не передбачено"
+
+#~ msgid "problem with defaults entries"
+#~ msgstr "проблема з типовими запиÑами"
+
+#~ msgid "internal error, unable to find %s in list!"
+#~ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ %s у ÑпиÑку!"
diff --git a/plugins/sudoers/policy.c b/plugins/sudoers/policy.c
index c2aee5130..080889eb6 100644
--- a/plugins/sudoers/policy.c
+++ b/plugins/sudoers/policy.c
@@ -186,8 +186,9 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
}
/* Parse command line settings. */
- sudo_mode = 0;
+ sudo_user.flags = 0;
user_closefrom = -1;
+ sudo_mode = 0;
for (cur = info->settings; *cur != NULL; cur++) {
if (MATCHES(*cur, "closefrom=")) {
errno = 0;
@@ -297,6 +298,18 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
goto oom;
continue;
}
+ if (MATCHES(*cur, "intercept_ptrace=")) {
+ if (parse_bool(*cur, sizeof("intercept_ptrace") - 1, &sudo_user.flags,
+ HAVE_INTERCEPT_PTRACE) == -1)
+ goto bad;
+ continue;
+ }
+ if (MATCHES(*cur, "intercept_setid=")) {
+ if (parse_bool(*cur, sizeof("intercept_setid") - 1, &sudo_user.flags,
+ CAN_INTERCEPT_SETID) == -1)
+ goto bad;
+ continue;
+ }
#ifdef HAVE_SELINUX
if (MATCHES(*cur, "selinux_role=")) {
CHECK(*cur, "selinux_role=");
@@ -315,6 +328,16 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
continue;
}
#endif /* HAVE_SELINUX */
+#ifdef HAVE_APPARMOR
+ if (MATCHES(*cur, "apparmor_profile=")) {
+ CHECK(*cur, "apparmor_profile=");
+ free(user_apparmor_profile);
+ user_apparmor_profile = strdup(*cur + sizeof("apparmor_profile=") - 1);
+ if (user_apparmor_profile == NULL)
+ goto oom;
+ continue;
+ }
+#endif /* HAVE_APPARMOR */
#ifdef HAVE_BSD_AUTH_H
if (MATCHES(*cur, "bsdauth_type=")) {
CHECK(*cur, "bsdauth_type=");
@@ -551,6 +574,19 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
goto bad;
}
+ /*
+ * Set intercept defaults based on flags set above.
+ * We pass -1 as the operator to indicate it is set by the front end.
+ */
+ if (ISSET(sudo_user.flags, HAVE_INTERCEPT_PTRACE)) {
+ if (!append_default("intercept_type", "trace", -1, NULL, defaults))
+ goto oom;
+ }
+ if (ISSET(sudo_user.flags, CAN_INTERCEPT_SETID)) {
+ if (!append_default("intercept_allow_setid", NULL, -1, NULL, defaults))
+ goto oom;
+ }
+
#ifdef NO_ROOT_MAILER
eventlog_set_mailuid(user_uid);
#endif
@@ -599,7 +635,7 @@ sudoers_policy_store_result(bool accepted, char *argv[], char *envp[],
}
/* Increase the length of command_info as needed, it is *not* checked. */
- command_info = calloc(70, sizeof(char *));
+ command_info = calloc(71, sizeof(char *));
if (command_info == NULL)
goto oom;
@@ -771,6 +807,10 @@ sudoers_policy_store_result(bool accepted, char *argv[], char *envp[],
if ((command_info[info_len++] = strdup("intercept=true")) == NULL)
goto oom;
}
+ if (def_intercept_type == trace) {
+ if ((command_info[info_len++] = strdup("use_ptrace=true")) == NULL)
+ goto oom;
+ }
if (def_noexec) {
if ((command_info[info_len++] = strdup("noexec=true")) == NULL)
goto oom;
@@ -927,6 +967,12 @@ sudoers_policy_store_result(bool accepted, char *argv[], char *envp[],
goto oom;
}
#endif /* HAVE_SELINUX */
+#ifdef HAVE_APPARMOR
+ if (user_apparmor_profile != NULL) {
+ if ((command_info[info_len++] = sudo_new_key_val("apparmor_profile", user_apparmor_profile)) == NULL)
+ goto oom;
+ }
+#endif /* HAVE_APPARMOR */
#ifdef HAVE_PRIV_SET
if (runas_privs != NULL) {
if ((command_info[info_len++] = sudo_new_key_val("runas_privs", runas_privs)) == NULL)
@@ -1000,7 +1046,7 @@ sudoers_policy_open(unsigned int version, sudo_conv_t conversation,
info.settings = settings;
info.user_info = user_info;
info.plugin_args = args;
- ret = sudoers_init(&info, envp);
+ ret = sudoers_init(&info, log_parse_error, envp);
/* The audit functions set audit_msg on failure. */
if (ret != 1 && audit_msg != NULL) {
diff --git a/plugins/sudoers/regress/fuzz/fuzz_policy.c b/plugins/sudoers/regress/fuzz/fuzz_policy.c
index 047b81597..9b0c8ea3e 100644
--- a/plugins/sudoers/regress/fuzz/fuzz_policy.c
+++ b/plugins/sudoers/regress/fuzz/fuzz_policy.c
@@ -660,6 +660,7 @@ sudo_file_getdefs(struct sudo_nss *nss)
static struct sudo_nss sudo_nss_file = {
{ NULL, NULL },
+ "sudoers",
sudo_file_open,
sudo_file_close,
sudo_file_parse,
@@ -742,6 +743,21 @@ log_exit_status(int exit_status)
}
/* STUB */
+bool
+mail_parse_errors(void)
+{
+ return true;
+}
+
+/* STUB */
+bool
+log_parse_error(const char *file, int line, int column, const char *fmt,
+ va_list args)
+{
+ return true;
+}
+
+/* STUB */
int
audit_failure(char *const argv[], char const *const fmt, ...)
{
@@ -812,35 +828,40 @@ iolog_nextid(char *iolog_dir, char sessid[7])
/* STUB */
bool
-cb_maxseq(const union sudo_defs_val *sd_un, int op)
+cb_maxseq(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
return true;
}
/* STUB */
bool
-cb_iolog_user(const union sudo_defs_val *sd_un, int op)
+cb_iolog_user(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
return true;
}
/* STUB */
bool
-cb_iolog_group(const union sudo_defs_val *sd_un, int op)
+cb_iolog_group(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
return true;
}
/* STUB */
bool
-cb_iolog_mode(const union sudo_defs_val *sd_un, int op)
+cb_iolog_mode(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
return true;
}
/* STUB */
bool
-cb_group_plugin(const union sudo_defs_val *sd_un, int op)
+cb_group_plugin(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
return true;
}
diff --git a/plugins/sudoers/regress/fuzz/fuzz_policy.dict b/plugins/sudoers/regress/fuzz/fuzz_policy.dict
index 48678c853..c031eb9ac 100644
--- a/plugins/sudoers/regress/fuzz/fuzz_policy.dict
+++ b/plugins/sudoers/regress/fuzz/fuzz_policy.dict
@@ -30,6 +30,7 @@
"runas_limitprivs"
"selinux_role"
"selinux_type"
+"apparmor_profile"
"bsdauth_type"
"network_addrs"
"max_groups"
diff --git a/plugins/sudoers/regress/fuzz/fuzz_sudoers.c b/plugins/sudoers/regress/fuzz/fuzz_sudoers.c
index 336b0c08f..8a7caeaae 100644
--- a/plugins/sudoers/regress/fuzz/fuzz_sudoers.c
+++ b/plugins/sudoers/regress/fuzz/fuzz_sudoers.c
@@ -110,6 +110,13 @@ set_cmnd_path(const char *runchroot)
/* STUB */
bool
+mail_parse_errors(void)
+{
+ return true;
+}
+
+/* STUB */
+bool
log_warningx(int flags, const char *fmt, ...)
{
return true;
diff --git a/plugins/sudoers/regress/fuzz/fuzz_sudoers.dict b/plugins/sudoers/regress/fuzz/fuzz_sudoers.dict
index ea90c49ee..93ef8e7a5 100644
--- a/plugins/sudoers/regress/fuzz/fuzz_sudoers.dict
+++ b/plugins/sudoers/regress/fuzz/fuzz_sudoers.dict
@@ -55,6 +55,7 @@
"NOTAFTER"
"ROLE"
"TYPE"
+"APPARMOR_PROFILE"
"PRIVS"
"LIMITPRIVS"
@@ -127,6 +128,7 @@
"env_keep"
"role"
"type"
+"apparmor_profile"
"env_file"
"restricted_env_file"
"sudoers_locale"
diff --git a/plugins/sudoers/regress/parser/check_addr.c b/plugins/sudoers/regress/parser/check_addr.c
index cf50226ac..5fb6f53d8 100644
--- a/plugins/sudoers/regress/parser/check_addr.c
+++ b/plugins/sudoers/regress/parser/check_addr.c
@@ -125,7 +125,7 @@ main(int argc, char *argv[])
errors += check_addr(line + sizeof("address:") - 1);
ntests++;
} else {
- sudo_warnx("unexpected data line: %s\n", line);
+ sudo_warnx("unexpected data line: %s", line);
continue;
}
}
diff --git a/plugins/sudoers/regress/starttime/check_starttime.c b/plugins/sudoers/regress/starttime/check_starttime.c
index aa5af8641..60adc1adc 100644
--- a/plugins/sudoers/regress/starttime/check_starttime.c
+++ b/plugins/sudoers/regress/starttime/check_starttime.c
@@ -80,7 +80,9 @@ main(int argc, char *argv[])
{
int ntests = 0, errors = 0;
struct timespec now, then, delta;
+ time_t timeoff = 0;
pid_t pids[2];
+ char *faketime;
int i;
initprogname(argc > 0 ? argv[0] : "check_starttime");
@@ -91,6 +93,11 @@ main(int argc, char *argv[])
pids[0] = getpid();
pids[1] = getppid();
+ /* Debian CI pipeline runs tests using faketime. */
+ faketime = getenv("FAKETIME");
+ if (faketime != NULL)
+ timeoff = sudo_strtonum(faketime, TIME_T_MIN, TIME_T_MAX, NULL);
+
for (i = 0; i < 2; i++) {
ntests++;
if (get_starttime(pids[i], &then) == -1) {
@@ -104,6 +111,7 @@ main(int argc, char *argv[])
/* Verify our own process start time, allowing for some drift. */
ntests++;
sudo_timespecsub(&then, &now, &delta);
+ delta.tv_sec += timeoff;
if (delta.tv_sec > 30 || delta.tv_sec < -30) {
printf("%s: test %d: unexpected start time for pid %d: %s",
getprogname(), ntests, (int)pids[i], ctime(&then.tv_sec));
diff --git a/plugins/sudoers/regress/sudoers/test18.out.ok b/plugins/sudoers/regress/sudoers/test18.out.ok
index eefdc3a2c..03f9ef6f4 100644
--- a/plugins/sudoers/regress/sudoers/test18.out.ok
+++ b/plugins/sudoers/regress/sudoers/test18.out.ok
@@ -1,4 +1,3 @@
-Problem with defaults entries
Defaults command_timeout=2d8h10m59ss
Defaults:root command_timeout=15f
diff --git a/plugins/sudoers/regress/sudoers/test18.toke.ok b/plugins/sudoers/regress/sudoers/test18.toke.ok
index 78e9ba6fa..7c800a8ee 100644
--- a/plugins/sudoers/regress/sudoers/test18.toke.ok
+++ b/plugins/sudoers/regress/sudoers/test18.toke.ok
@@ -6,5 +6,5 @@ WORD(6) ALL = CMND_TIMEOUT = WORD(6) <*> COMMAND
WORD(6) ALL = CMND_TIMEOUT = WORD(6) <*> COMMAND
WORD(6) ALL = CMND_TIMEOUT = WORD(6) <*> COMMAND
WORD(6) ALL = CMND_TIMEOUT = WORD(6) <*> COMMAND
-testsudoers: sudoers:2:26: value "2d8h10m59ss" is invalid for option "command_timeout"
-testsudoers: sudoers:3:31: value "15f" is invalid for option "command_timeout"
+sudoers:2:26: value "2d8h10m59ss" is invalid for option "command_timeout"
+sudoers:3:31: value "15f" is invalid for option "command_timeout"
diff --git a/plugins/sudoers/regress/visudo/test2.err.ok b/plugins/sudoers/regress/visudo/test2.err.ok
index e6a275df1..d4b356f9d 100644
--- a/plugins/sudoers/regress/visudo/test2.err.ok
+++ b/plugins/sudoers/regress/visudo/test2.err.ok
@@ -1 +1 @@
-Error: stdin:1:12: cycle in User_Alias "FOO"
+stdin:1:12: cycle in User_Alias "FOO"
diff --git a/plugins/sudoers/sssd.c b/plugins/sudoers/sssd.c
index 37b4c1d38..d4c70b92a 100644
--- a/plugins/sudoers/sssd.c
+++ b/plugins/sudoers/sssd.c
@@ -802,6 +802,7 @@ bad:
/* sudo_nss implementation */
struct sudo_nss sudo_nss_sss = {
{ NULL, NULL },
+ "sss",
sudo_sss_open,
sudo_sss_close,
sudo_sss_parse,
diff --git a/plugins/sudoers/sudo_nss.h b/plugins/sudoers/sudo_nss.h
index bb0c49a96..a7487cb68 100644
--- a/plugins/sudoers/sudo_nss.h
+++ b/plugins/sudoers/sudo_nss.h
@@ -27,6 +27,7 @@ struct defaults_list;
/* XXX - parse_tree, ret_if_found and ret_if_notfound should be private */
struct sudo_nss {
TAILQ_ENTRY(sudo_nss) entries;
+ const char *source;
int (*open)(struct sudo_nss *nss);
int (*close)(struct sudo_nss *nss);
struct sudoers_parse_tree *(*parse)(struct sudo_nss *nss);
diff --git a/plugins/sudoers/sudoers.c b/plugins/sudoers/sudoers.c
index dd0708abd..71e8ba256 100644
--- a/plugins/sudoers/sudoers.c
+++ b/plugins/sudoers/sudoers.c
@@ -149,10 +149,16 @@ restore_nproc(void)
#endif /* __linux__ */
}
+/*
+ * Re-initialize Defaults settings.
+ * We do not warn, log or send mail for errors when reinitializing,
+ * this would have already been done the first time through.
+ */
static bool
sudoers_reinit_defaults(void)
{
struct sudo_nss *nss, *nss_next;
+ sudoers_logger_t logger = sudoers_error_hook;
debug_decl(sudoers_reinit_defaults, SUDOERS_DEBUG_PLUGIN);
if (!init_defaults()) {
@@ -160,27 +166,30 @@ sudoers_reinit_defaults(void)
debug_return_bool(false);
}
+ /* It should not be possible for the initial defaults to fail to apply. */
if (!update_defaults(NULL, &initial_defaults,
- SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS, false)) {
- log_warningx(SLOG_SEND_MAIL|SLOG_NO_STDERR,
- N_("problem with defaults entries"));
+ SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS, false))
debug_return_bool(false);
- }
+
+ /* Disable error logging while re-processing defaults. */
+ sudoers_error_hook = NULL;
TAILQ_FOREACH_SAFE(nss, snl, entries, nss_next) {
- if (nss->getdefs(nss) == -1 || !update_defaults(nss->parse_tree, NULL,
- SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS, false)) {
- log_warningx(SLOG_SEND_MAIL|SLOG_NO_STDERR,
- N_("problem with defaults entries"));
- /* not a fatal error */
+ /* Missing/invalid defaults is not a fatal error. */
+ if (nss->getdefs(nss) != -1) {
+ (void)update_defaults(nss->parse_tree, NULL,
+ SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS, true);
}
}
- debug_return_int(true);
+ /* Restore error logging. */
+ sudoers_error_hook = logger;
+
+ debug_return_bool(true);
}
int
-sudoers_init(void *info, char * const envp[])
+sudoers_init(void *info, sudoers_logger_t logger, char * const envp[])
{
struct sudo_nss *nss, *nss_next;
int oldlocale, sources = 0;
@@ -193,6 +202,9 @@ sudoers_init(void *info, char * const envp[])
bindtextdomain("sudoers", LOCALEDIR);
+ /* Hook up logging function for parse errors. */
+ sudoers_error_hook = logger;
+
/* Register fatal/fatalx callback. */
sudo_fatal_callback_register(sudoers_cleanup);
@@ -221,32 +233,32 @@ sudoers_init(void *info, char * const envp[])
if (!set_perms(PERM_ROOT))
debug_return_int(-1);
+ /* Use the C locale unless another is specified in sudoers. */
+ sudoers_setlocale(SUDOERS_LOCALE_SUDOERS, &oldlocale);
+ sudo_warn_set_locale_func(sudoers_warn_setlocale);
+
/* Update defaults set by front-end. */
if (!update_defaults(NULL, &initial_defaults,
- SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS, false)) {
- log_warningx(SLOG_SEND_MAIL|SLOG_NO_STDERR,
- N_("problem with defaults entries"));
- debug_return_int(-1);
+ SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS, false)) {
+ goto cleanup;
}
- /*
- * Open and parse sudoers, set global defaults.
- * Uses the C locale unless another is specified in sudoers.
- */
- sudoers_setlocale(SUDOERS_LOCALE_SUDOERS, &oldlocale);
- sudo_warn_set_locale_func(sudoers_warn_setlocale);
+ /* Open and parse sudoers, set global defaults. */
init_parser(sudoers_file, false, false);
TAILQ_FOREACH_SAFE(nss, snl, entries, nss_next) {
if (nss->open(nss) == -1 || (nss->parse_tree = nss->parse(nss)) == NULL) {
TAILQ_REMOVE(snl, nss, entries);
continue;
}
-
sources++;
- if (nss->getdefs(nss) == -1 || !update_defaults(nss->parse_tree, NULL,
- SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS, false)) {
+
+ /* Missing/invalid defaults is not a fatal error. */
+ if (nss->getdefs(nss) == -1) {
log_warningx(SLOG_SEND_MAIL|SLOG_NO_STDERR,
- N_("problem with defaults entries"));
+ N_("unable to get defaults from %s"), nss->source);
+ } else {
+ (void)update_defaults(nss->parse_tree, NULL,
+ SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS, false);
}
}
if (sources == 0) {
@@ -259,6 +271,8 @@ sudoers_init(void *info, char * const envp[])
ret = true;
cleanup:
+ mail_parse_errors();
+
if (!restore_perms())
ret = -1;
@@ -804,6 +818,8 @@ bad:
ret = false;
done:
+ mail_parse_errors();
+
if (def_group_plugin)
group_plugin_unload();
init_parser(NULL, false, false);
@@ -1044,10 +1060,8 @@ set_cmnd(void)
}
TAILQ_FOREACH(nss, snl, entries) {
- if (!update_defaults(nss->parse_tree, NULL, SETDEF_CMND, false)) {
- log_warningx(SLOG_SEND_MAIL|SLOG_NO_STDERR,
- N_("problem with defaults entries"));
- }
+ /* Missing/invalid defaults is not a fatal error. */
+ (void)update_defaults(nss->parse_tree, NULL, SETDEF_CMND, false);
}
debug_return_int(ret);
@@ -1254,7 +1268,8 @@ resolve_host(const char *host, char **longp, char **shortp)
* Sets user_host, user_shost, user_runhost and user_srunhost.
*/
static bool
-cb_fqdn(const union sudo_defs_val *sd_un, int op)
+cb_fqdn(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
bool remote;
int rc;
@@ -1392,7 +1407,8 @@ set_runasgr(const char *group, bool quiet)
* Callback for runas_default sudoers setting.
*/
static bool
-cb_runas_default(const union sudo_defs_val *sd_un, int op)
+cb_runas_default(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_runas_default, SUDOERS_DEBUG_PLUGIN);
@@ -1406,7 +1422,8 @@ cb_runas_default(const union sudo_defs_val *sd_un, int op)
* Callback for tty_tickets sudoers setting.
*/
static bool
-cb_tty_tickets(const union sudo_defs_val *sd_un, int op)
+cb_tty_tickets(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_tty_tickets, SUDOERS_DEBUG_PLUGIN);
@@ -1422,7 +1439,8 @@ cb_tty_tickets(const union sudo_defs_val *sd_un, int op)
* Callback for umask sudoers setting.
*/
static bool
-cb_umask(const union sudo_defs_val *sd_un, int op)
+cb_umask(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_umask, SUDOERS_DEBUG_PLUGIN);
@@ -1436,7 +1454,8 @@ cb_umask(const union sudo_defs_val *sd_un, int op)
* Callback for runchroot sudoers setting.
*/
static bool
-cb_runchroot(const union sudo_defs_val *sd_un, int op)
+cb_runchroot(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_runchroot, SUDOERS_DEBUG_PLUGIN);
@@ -1453,7 +1472,8 @@ cb_runchroot(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_logfile(const union sudo_defs_val *sd_un, int op)
+cb_logfile(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
int logtype = def_syslog ? EVLOG_SYSLOG : EVLOG_NONE;
debug_decl(cb_logfile, SUDOERS_DEBUG_PLUGIN);
@@ -1467,7 +1487,8 @@ cb_logfile(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_log_format(const union sudo_defs_val *sd_un, int op)
+cb_log_format(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_log_format, SUDOERS_DEBUG_PLUGIN);
@@ -1477,7 +1498,8 @@ cb_log_format(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_syslog(const union sudo_defs_val *sd_un, int op)
+cb_syslog(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
int logtype = def_logfile ? EVLOG_FILE : EVLOG_NONE;
debug_decl(cb_syslog, SUDOERS_DEBUG_PLUGIN);
@@ -1490,7 +1512,8 @@ cb_syslog(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_syslog_goodpri(const union sudo_defs_val *sd_un, int op)
+cb_syslog_goodpri(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_syslog_goodpri, SUDOERS_DEBUG_PLUGIN);
@@ -1500,7 +1523,8 @@ cb_syslog_goodpri(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_syslog_badpri(const union sudo_defs_val *sd_un, int op)
+cb_syslog_badpri(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_syslog_badpri, SUDOERS_DEBUG_PLUGIN);
@@ -1511,7 +1535,8 @@ cb_syslog_badpri(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_syslog_maxlen(const union sudo_defs_val *sd_un, int op)
+cb_syslog_maxlen(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_syslog_maxlen, SUDOERS_DEBUG_PLUGIN);
@@ -1521,7 +1546,8 @@ cb_syslog_maxlen(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_loglinelen(const union sudo_defs_val *sd_un, int op)
+cb_loglinelen(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_loglinelen, SUDOERS_DEBUG_PLUGIN);
@@ -1531,7 +1557,8 @@ cb_loglinelen(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_log_year(const union sudo_defs_val *sd_un, int op)
+cb_log_year(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_syslog_maxlen, SUDOERS_DEBUG_PLUGIN);
@@ -1541,7 +1568,8 @@ cb_log_year(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_log_host(const union sudo_defs_val *sd_un, int op)
+cb_log_host(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_syslog_maxlen, SUDOERS_DEBUG_PLUGIN);
@@ -1551,7 +1579,8 @@ cb_log_host(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_mailerpath(const union sudo_defs_val *sd_un, int op)
+cb_mailerpath(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_mailerpath, SUDOERS_DEBUG_PLUGIN);
@@ -1561,7 +1590,8 @@ cb_mailerpath(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_mailerflags(const union sudo_defs_val *sd_un, int op)
+cb_mailerflags(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_mailerflags, SUDOERS_DEBUG_PLUGIN);
@@ -1571,7 +1601,8 @@ cb_mailerflags(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_mailfrom(const union sudo_defs_val *sd_un, int op)
+cb_mailfrom(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_mailfrom, SUDOERS_DEBUG_PLUGIN);
@@ -1581,7 +1612,8 @@ cb_mailfrom(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_mailto(const union sudo_defs_val *sd_un, int op)
+cb_mailto(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_mailto, SUDOERS_DEBUG_PLUGIN);
@@ -1591,7 +1623,8 @@ cb_mailto(const union sudo_defs_val *sd_un, int op)
}
static bool
-cb_mailsub(const union sudo_defs_val *sd_un, int op)
+cb_mailsub(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
debug_decl(cb_mailsub, SUDOERS_DEBUG_PLUGIN);
@@ -1600,6 +1633,39 @@ cb_mailsub(const union sudo_defs_val *sd_un, int op)
debug_return_bool(true);
}
+static bool
+cb_intercept_type(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
+{
+ debug_decl(cb_intercept_type, SUDOERS_DEBUG_PLUGIN);
+
+ if (op != -1) {
+ /* Set explicitly in sudoers. */
+ if (sd_un->tuple == dso) {
+ /* Reset intercept_allow_setid default value. */
+ if (!ISSET(sudo_user.flags, USER_INTERCEPT_SETID))
+ def_intercept_allow_setid = false;
+ }
+ }
+
+ debug_return_bool(true);
+}
+
+static bool
+cb_intercept_allow_setid(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
+{
+ debug_decl(cb_intercept_allow_setid, SUDOERS_DEBUG_PLUGIN);
+
+ /* Operator will be -1 if set by front-end. */
+ if (op != -1) {
+ /* Set explicitly in sudoers. */
+ SET(sudo_user.flags, USER_INTERCEPT_SETID);
+ }
+
+ debug_return_bool(true);
+}
+
/*
* Set parse Defaults callbacks.
* We do this here instead in def_data.in so we don't have to
@@ -1659,6 +1725,8 @@ set_callbacks(void)
sudo_defs_table[I_MAILTO].callback = cb_mailto;
sudo_defs_table[I_MAILSUB].callback = cb_mailsub;
sudo_defs_table[I_PASSPROMPT_REGEX].callback = cb_passprompt_regex;
+ sudo_defs_table[I_INTERCEPT_TYPE].callback = cb_intercept_type;
+ sudo_defs_table[I_INTERCEPT_ALLOW_SETID].callback = cb_intercept_allow_setid;
debug_return;
}
@@ -1757,6 +1825,9 @@ sudo_user_free(void)
free(user_role);
free(user_type);
#endif
+#ifdef HAVE_APPARMOR
+ free(user_apparmor_profile);
+#endif
#ifdef HAVE_PRIV_SET
free(runas_privs);
free(runas_limitprivs);
diff --git a/plugins/sudoers/sudoers.h b/plugins/sudoers/sudoers.h
index f1592bab9..c506c57c4 100644
--- a/plugins/sudoers/sudoers.h
+++ b/plugins/sudoers/sudoers.h
@@ -111,6 +111,9 @@ struct sudo_user {
char *role;
char *type;
#endif
+#ifdef HAVE_APPARMOR
+ char *apparmor_profile;
+#endif
#ifdef HAVE_PRIV_SET
char *privs;
char *limitprivs;
@@ -145,6 +148,9 @@ struct sudo_user {
*/
#define RUNAS_USER_SPECIFIED 0x01
#define RUNAS_GROUP_SPECIFIED 0x02
+#define CAN_INTERCEPT_SETID 0x04
+#define HAVE_INTERCEPT_PTRACE 0x08
+#define USER_INTERCEPT_SETID 0x10
/*
* Return values for sudoers_lookup(), also used as arguments for log_auth()
@@ -245,6 +251,7 @@ struct sudo_user {
#define runas_gr (sudo_user._runas_gr)
#define user_role (sudo_user.role)
#define user_type (sudo_user.type)
+#define user_apparmor_profile (sudo_user.apparmor_profile)
#define user_closefrom (sudo_user.closefrom)
#define runas_privs (sudo_user.privs)
#define runas_limitprivs (sudo_user.limitprivs)
@@ -310,8 +317,6 @@ int pam_prep_user(struct passwd *);
/* gram.y */
int sudoersparse(void);
extern char *login_style;
-extern char *errorfile;
-extern int errorlineno;
extern bool parse_error;
extern bool sudoers_warnings;
extern bool sudoers_recovery;
@@ -374,10 +379,10 @@ char *get_timestr(time_t, int);
bool get_boottime(struct timespec *);
/* iolog.c */
-bool cb_maxseq(const union sudo_defs_val *sd_un, int op);
-bool cb_iolog_user(const union sudo_defs_val *sd_un, int op);
-bool cb_iolog_group(const union sudo_defs_val *sd_un, int op);
-bool cb_iolog_mode(const union sudo_defs_val *sd_un, int op);
+bool cb_maxseq(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
+bool cb_iolog_user(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
+bool cb_iolog_group(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
+bool cb_iolog_mode(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
/* iolog_path_escapes.c */
struct iolog_path_escape;
@@ -411,7 +416,7 @@ bool matches_env_pattern(const char *pattern, const char *var, bool *full_match)
/* sudoers.c */
FILE *open_sudoers(const char *, bool, bool *);
int set_cmnd_path(const char *runchroot);
-int sudoers_init(void *info, char * const envp[]);
+int sudoers_init(void *info, sudoers_logger_t logger, char * const envp[]);
int sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[], bool verbose, void *closure);
void sudoers_cleanup(void);
void sudo_user_free(void);
@@ -440,7 +445,7 @@ int group_plugin_load(char *plugin_info);
void group_plugin_unload(void);
int group_plugin_query(const char *user, const char *group,
const struct passwd *pwd);
-bool cb_group_plugin(const union sudo_defs_val *sd_un, int op);
+bool cb_group_plugin(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
extern const char *path_plugin_dir;
/* editor.c */
diff --git a/plugins/sudoers/sudoers.in b/plugins/sudoers/sudoers.in
index 4a8def464..a0d293409 100644
--- a/plugins/sudoers/sudoers.in
+++ b/plugins/sudoers/sudoers.in
@@ -64,10 +64,13 @@
##
## Uncomment to enable logging of a command's output, except for
## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
+## Sudo will create up to 2,176,782,336 I/O logs before recycing them.
+## Set maxseq to a smaller number if you don't have unlimited disk space.
# Defaults log_output
# Defaults!/usr/bin/sudoreplay !log_output
# Defaults!/usr/local/bin/sudoreplay !log_output
# Defaults!REBOOT !log_output
+# Defaults maxseq = 1000
##
## Runas alias specification
diff --git a/plugins/sudoers/testsudoers.c b/plugins/sudoers/testsudoers.c
index 1aa8aafbd..d83bdb0c7 100644
--- a/plugins/sudoers/testsudoers.c
+++ b/plugins/sudoers/testsudoers.c
@@ -64,7 +64,7 @@ static void dump_sudoers(struct sudo_lbuf *lbuf);
static void usage(void) __attribute__((__noreturn__));
static void set_runaspw(const char *);
static void set_runasgr(const char *);
-static bool cb_runas_default(const union sudo_defs_val *, int);
+static bool cb_runas_default(const char *file, int line, int column, const union sudo_defs_val *, int);
static int testsudoers_error(const char *msg);
static int testsudoers_output(const char *buf);
@@ -292,18 +292,18 @@ main(int argc, char *argv[])
}
break;
case format_sudoers:
- if (sudoersparse() != 0 || parse_error)
+ if (sudoersparse() != 0)
parse_error = true;
break;
default:
sudo_fatalx("error: unhandled input %d", input_format);
}
+ if (!update_defaults(&parsed_policy, NULL, SETDEF_ALL, false))
+ parse_error = true;
+
if (!parse_error)
(void) puts("Parses OK");
- if (!update_defaults(&parsed_policy, NULL, SETDEF_ALL, false))
- (void) puts("Problem with defaults entries");
-
if (dflag) {
(void) putchar('\n');
dump_sudoers(&lbuf);
@@ -415,7 +415,8 @@ set_runasgr(const char *group)
* Callback for runas_default sudoers setting.
*/
static bool
-cb_runas_default(const union sudo_defs_val *sd_un, int op)
+cb_runas_default(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
{
/* Only reset runaspw if user didn't specify one. */
if (!runas_user && !runas_group)
diff --git a/plugins/sudoers/toke.c b/plugins/sudoers/toke.c
index 27c78b261..44365bc60 100644
--- a/plugins/sudoers/toke.c
+++ b/plugins/sudoers/toke.c
@@ -9,7 +9,7 @@
#define YY_INT_ALIGNED short int
-/* $OpenBSD: flex.skl,v 1.17 2020/08/06 17:23:29 deraadt Exp $ */
+/* $OpenBSD: flex.skl,v 1.18 2021/11/30 15:50:06 millert Exp $ */
/* A lexical scanner generated by flex */
@@ -393,8 +393,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 88
-#define YY_END_OF_BUFFER 89
+#define YY_NUM_RULES 89
+#define YY_END_OF_BUFFER 90
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -402,143 +402,145 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1226] =
+static yyconst flex_int16_t yy_accept[1242] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89, 74, 84, 83, 87, 82, 73, 86, 46, 77,
- 78, 46, 79, 74, 74, 74, 74, 81, 80, 87,
- 74, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 87, 74, 74, 74, 84,
- 86, 63, 63, 63, 63, 63, 2, 87, 1, 74,
- 63, 63, 63, 74, 74, 17, 16, 16, 17, 16,
- 16, 87, 21, 21, 19, 19, 21, 19, 20, 87,
- 86, 87, 3, 9, 8, 9, 4, 9, 5, 87,
-
- 13, 13, 13, 11, 12, 87, 23, 23, 22, 22,
- 22, 23, 22, 22, 22, 22, 23, 23, 23, 23,
- 23, 23, 23, 87, 22, 23, 23, 75, 75, 76,
- 75, 70, 70, 70, 70, 70, 70, 70, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 87,
- 70, 70, 70, 74, 0, 84, 83, 82, 86, 86,
- 0, 0, 74, 48, 0, 46, 0, 47, 0, 71,
- 71, 0, 74, 74, 0, 74, 74, 74, 74, 0,
- 51, 74, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
-
- 0, 85, 74, 74, 74, 0, 72, 0, 74, 74,
- 84, 0, 0, 0, 0, 0, 86, 74, 74, 74,
- 74, 74, 2, 1, 0, 1, 64, 64, 0, 63,
- 74, 0, 64, 0, 74, 17, 17, 15, 0, 14,
- 15, 21, 21, 21, 18, 18, 0, 3, 9, 0,
- 6, 7, 9, 9, 13, 0, 13, 13, 0, 10,
- 0, 48, 0, 0, 47, 23, 23, 0, 23, 0,
- 0, 22, 22, 22, 22, 22, 22, 23, 23, 63,
- 23, 23, 23, 23, 23, 23, 23, 23, 72, 0,
- 23, 23, 75, 75, 75, 70, 0, 48, 0, 47,
-
- 0, 70, 70, 0, 70, 70, 70, 70, 70, 70,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 70, 70, 70, 70, 0, 70, 70, 86, 86,
- 86, 0, 48, 74, 74, 74, 74, 74, 0, 0,
- 51, 51, 74, 63, 53, 63, 57, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 72, 74, 74,
- 74, 0, 0, 0, 0, 0, 86, 74, 74, 74,
- 74, 74, 74, 0, 64, 0, 64, 74, 74, 10,
- 0, 0, 0, 22, 22, 22, 23, 23, 23, 23,
+ 90, 75, 85, 84, 88, 83, 74, 87, 46, 78,
+ 79, 46, 80, 75, 75, 75, 75, 82, 81, 88,
+ 75, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 88, 75, 75, 75, 85,
+ 87, 64, 64, 64, 64, 64, 2, 88, 1, 75,
+ 64, 64, 64, 64, 75, 75, 17, 16, 16, 17,
+ 16, 16, 88, 21, 21, 19, 19, 21, 19, 20,
+ 88, 87, 88, 3, 9, 8, 9, 4, 9, 5,
+
+ 88, 13, 13, 13, 11, 12, 88, 23, 23, 22,
+ 22, 22, 23, 22, 22, 22, 22, 23, 23, 23,
+ 23, 23, 23, 23, 88, 22, 23, 23, 76, 76,
+ 77, 76, 71, 71, 71, 71, 71, 71, 71, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 88, 71, 71, 71, 75, 0, 85, 84, 83, 87,
+ 87, 0, 0, 75, 48, 0, 46, 0, 47, 0,
+ 72, 72, 0, 75, 75, 0, 75, 75, 75, 75,
+ 0, 51, 75, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+
+ 64, 64, 0, 86, 75, 75, 75, 0, 73, 0,
+ 75, 75, 85, 0, 0, 0, 0, 0, 87, 75,
+ 75, 75, 75, 75, 2, 1, 0, 1, 65, 65,
+ 0, 64, 75, 0, 65, 0, 75, 17, 17, 15,
+ 0, 14, 15, 21, 21, 21, 18, 18, 0, 3,
+ 9, 0, 6, 7, 9, 9, 13, 0, 13, 13,
+ 0, 10, 0, 48, 0, 0, 47, 23, 23, 0,
+ 23, 0, 0, 22, 22, 22, 22, 22, 22, 23,
+ 23, 64, 23, 23, 23, 23, 23, 23, 23, 23,
+ 73, 0, 23, 23, 76, 76, 76, 71, 0, 48,
+
+ 0, 47, 0, 71, 71, 0, 71, 71, 71, 71,
+ 71, 71, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 71, 71, 71, 71, 0, 71, 71,
+ 87, 87, 87, 0, 48, 75, 75, 75, 75, 75,
+ 0, 0, 51, 51, 75, 64, 53, 64, 64, 57,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 73, 75, 75, 75, 0, 0, 0, 0, 0, 87,
+ 75, 75, 75, 75, 75, 75, 0, 65, 0, 65,
+ 75, 75, 10, 0, 0, 0, 22, 22, 22, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 72, 23, 23, 0, 70, 70, 70, 70, 70,
- 63, 53, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 70, 70, 70, 70,
- 86, 86, 86, 74, 74, 74, 74, 74, 74, 0,
- 52, 52, 52, 0, 0, 51, 51, 51, 51, 51,
- 51, 51, 74, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 59, 63, 63, 60, 74, 74, 74, 74,
- 0, 0, 0, 0, 0, 0, 86, 74, 74, 74,
-
- 64, 74, 0, 0, 0, 0, 0, 22, 22, 23,
- 23, 23, 63, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 70, 70, 70,
- 70, 70, 70, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 70, 70,
- 70, 70, 74, 74, 74, 0, 0, 52, 52, 52,
- 0, 51, 51, 0, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 74, 63, 0, 33, 63,
- 63, 63, 63, 63, 0, 42, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 61, 63, 63, 74,
-
- 74, 74, 74, 74, 0, 0, 0, 86, 74, 74,
- 74, 0, 0, 0, 22, 22, 23, 23, 63, 63,
+ 23, 23, 23, 23, 73, 23, 23, 0, 71, 71,
+ 71, 71, 71, 64, 53, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 71,
+ 71, 71, 71, 87, 87, 87, 75, 75, 75, 75,
+ 75, 75, 0, 52, 52, 52, 0, 0, 51, 51,
+ 51, 51, 51, 51, 51, 75, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 59, 64, 64, 60,
+ 75, 75, 75, 75, 0, 0, 0, 0, 0, 0,
+
+ 87, 75, 75, 75, 65, 75, 0, 0, 0, 0,
+ 0, 22, 22, 23, 23, 23, 64, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 70, 70, 70, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 70, 70, 70, 70, 70, 74, 74, 74, 74, 74,
- 0, 52, 0, 51, 51, 51, 0, 0, 0, 51,
+ 23, 71, 71, 71, 71, 71, 71, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 71, 71, 71, 71, 75, 75, 75, 0,
+ 0, 52, 52, 52, 0, 51, 51, 0, 51, 51,
+ 51, 51, 51, 51, 51, 51, 51, 51, 51, 75,
+ 64, 64, 0, 33, 64, 64, 64, 64, 64, 0,
+ 42, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+
+ 64, 62, 64, 64, 75, 75, 75, 75, 75, 0,
+ 0, 0, 87, 75, 75, 75, 0, 0, 0, 22,
+ 22, 23, 23, 64, 64, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 71,
+ 71, 71, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 71, 71, 71, 71, 71,
+ 75, 75, 75, 75, 75, 0, 52, 0, 51, 51,
+ 51, 0, 0, 0, 51, 51, 51, 51, 51, 51,
+ 51, 51, 51, 51, 51, 51, 51, 75, 64, 58,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+
+ 64, 64, 64, 64, 64, 64, 64, 66, 67, 68,
+ 69, 75, 0, 0, 87, 75, 75, 75, 0, 0,
+ 0, 0, 0, 23, 23, 64, 64, 23, 23, 23,
+ 64, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 71, 71, 71, 71, 71, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 66,
+ 67, 68, 69, 71, 49, 49, 49, 0, 0, 51,
+ 51, 51, 51, 51, 51, 51, 0, 0, 0, 0,
+ 0, 51, 51, 51, 51, 51, 51, 51, 51, 51,
+ 51, 51, 51, 51, 51, 75, 64, 0, 44, 64,
+
+ 64, 64, 64, 0, 32, 64, 64, 64, 64, 0,
+ 43, 64, 64, 64, 64, 0, 31, 0, 36, 54,
+ 75, 0, 0, 87, 75, 75, 75, 49, 49, 49,
+ 23, 64, 64, 23, 23, 64, 64, 23, 23, 23,
+ 49, 49, 49, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 71, 75, 49, 49, 49, 49, 0, 51,
+ 0, 51, 51, 51, 51, 51, 51, 51, 51, 51,
+ 51, 51, 0, 0, 0, 51, 51, 51, 51, 51,
+ 51, 51, 51, 51, 51, 51, 51, 51, 24, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+
+ 56, 64, 70, 0, 0, 87, 75, 28, 65, 0,
+ 49, 49, 49, 49, 23, 64, 64, 23, 23, 64,
+ 64, 23, 23, 23, 71, 49, 49, 49, 49, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 70, 50,
+ 50, 50, 50, 51, 0, 0, 0, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 74, 58, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
-
- 63, 65, 66, 67, 68, 74, 0, 0, 86, 74,
- 74, 74, 0, 0, 0, 0, 0, 23, 23, 63,
- 63, 23, 23, 23, 63, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 70, 70, 70, 70, 70,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 65, 66, 67, 68, 70, 49, 49,
- 49, 0, 0, 51, 51, 51, 51, 51, 51, 51,
0, 0, 0, 0, 0, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 74,
- 0, 44, 63, 63, 63, 63, 0, 32, 63, 63,
-
- 63, 63, 0, 43, 63, 63, 63, 63, 0, 31,
- 0, 36, 54, 74, 0, 0, 86, 74, 74, 74,
- 49, 49, 49, 23, 63, 63, 23, 23, 63, 63,
- 23, 23, 23, 49, 49, 49, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 70, 74, 49, 49, 49,
- 49, 0, 51, 0, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 0, 0, 0, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 24, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 56, 63, 69, 0, 0, 86, 74, 28,
+ 51, 51, 51, 75, 64, 64, 64, 64, 64, 0,
+ 45, 64, 64, 64, 0, 30, 0, 37, 55, 0,
+ 28, 26, 87, 29, 0, 75, 50, 50, 50, 50,
- 64, 0, 49, 49, 49, 49, 23, 63, 63, 23,
- 23, 63, 63, 23, 23, 23, 70, 49, 49, 49,
- 49, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 69, 50, 50, 50, 50, 51, 0, 0, 0, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 0, 0, 0, 0, 0, 51, 51, 51,
- 51, 51, 51, 51, 51, 74, 63, 63, 63, 63,
- 0, 45, 63, 63, 63, 0, 30, 0, 37, 55,
- 0, 28, 26, 86, 29, 0, 74, 50, 50, 50,
- 50, 23, 63, 63, 23, 63, 63, 50, 50, 50,
-
- 50, 63, 63, 63, 63, 63, 63, 74, 74, 50,
- 50, 50, 50, 0, 0, 0, 0, 0, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 74, 0,
- 34, 62, 0, 40, 63, 63, 63, 63, 29, 26,
- 26, 26, 26, 86, 28, 0, 0, 0, 0, 0,
- 28, 0, 0, 0, 50, 50, 50, 50, 63, 23,
- 63, 63, 70, 70, 50, 50, 50, 50, 63, 63,
- 63, 63, 74, 74, 74, 0, 0, 0, 51, 51,
+ 23, 64, 64, 23, 64, 64, 50, 50, 50, 50,
+ 64, 64, 64, 64, 64, 64, 75, 75, 50, 50,
+ 50, 50, 0, 0, 0, 0, 0, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
+ 51, 51, 51, 51, 51, 51, 51, 75, 64, 0,
+ 34, 63, 0, 40, 64, 64, 64, 64, 29, 26,
+ 26, 26, 26, 87, 28, 0, 0, 0, 0, 0,
+ 28, 0, 0, 0, 50, 50, 50, 50, 64, 23,
+ 64, 64, 71, 71, 50, 50, 50, 50, 64, 64,
+ 64, 64, 75, 75, 75, 0, 0, 0, 51, 51,
- 51, 51, 51, 51, 51, 51, 25, 0, 38, 63,
- 63, 63, 26, 86, 0, 28, 0, 0, 0, 23,
- 63, 63, 70, 70, 70, 63, 63, 63, 74, 74,
- 74, 74, 74, 0, 0, 0, 0, 0, 51, 51,
- 51, 51, 51, 51, 51, 51, 0, 35, 0, 41,
- 63, 27, 0, 0, 0, 0, 0, 63, 70, 70,
- 70, 70, 70, 63, 74, 74, 74, 51, 51, 51,
- 51, 51, 51, 0, 39, 27, 27, 27, 27, 0,
- 0, 0, 70, 70, 70, 74, 74, 74, 74, 74,
- 51, 51, 51, 51, 51, 27, 0, 0, 0, 0,
-
- 0, 70, 70, 70, 70, 70, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 0
+ 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
+ 51, 51, 51, 51, 51, 51, 25, 64, 0, 38,
+ 64, 64, 64, 26, 87, 0, 28, 0, 0, 0,
+ 23, 64, 64, 71, 71, 71, 64, 64, 64, 75,
+ 75, 75, 75, 75, 0, 0, 0, 0, 0, 51,
+ 51, 51, 51, 51, 51, 51, 51, 64, 0, 35,
+ 0, 41, 64, 27, 0, 0, 0, 0, 0, 64,
+ 71, 71, 71, 71, 71, 64, 75, 75, 75, 51,
+ 51, 51, 51, 51, 51, 64, 0, 39, 27, 27,
+ 27, 27, 0, 0, 0, 71, 71, 71, 75, 75,
+
+ 75, 75, 75, 51, 51, 51, 51, 51, 64, 27,
+ 0, 0, 0, 0, 0, 71, 71, 71, 71, 71,
+ 49, 49, 49, 64, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 61, 49, 49, 49, 49, 49, 49,
+ 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -585,308 +587,312 @@ static yyconst flex_int32_t yy_meta[77] =
21, 21, 21, 21, 21, 21
} ;
-static yyconst flex_int16_t yy_base[1350] =
+static yyconst flex_int16_t yy_base[1366] =
{ 0,
- 0, 75, 126, 199, 83, 91, 99, 176, 272, 347,
- 422, 478, 131, 147, 535, 0, 187, 219, 611, 0,
- 6107, 6049, 76, 9534, 6102, 6087, 9534, 685, 101, 9534,
- 9534, 6025, 9534, 199, 697, 238, 143, 6021, 9534, 9534,
- 23, 762, 6006, 76, 71, 97, 819, 5980, 76, 5991,
- 5976, 112, 5964, 5972, 87, 883, 914, 262, 152, 266,
- 969, 176, 39, 5937, 100, 5889, 197, 299, 167, 298,
- 5915, 5900, 5910, 1036, 237, 0, 9534, 5940, 5918, 9534,
- 0, 1092, 0, 196, 9534, 5921, 5916, 9534, 9534, 234,
- 1148, 249, 0, 5864, 9534, 94, 9534, 140, 9534, 290,
-
- 5860, 306, 153, 9534, 356, 240, 1177, 1236, 1281, 345,
- 355, 1340, 1391, 5869, 198, 194, 1448, 5853, 5830, 5842,
- 5828, 5824, 5811, 177, 363, 0, 233, 5772, 294, 9534,
- 391, 5771, 417, 5768, 433, 1496, 434, 378, 1561, 5780,
- 388, 270, 1618, 5765, 5756, 5768, 5754, 5743, 5727, 1682,
- 1713, 478, 415, 5700, 737, 462, 9534, 5736, 211, 9534,
- 5727, 490, 500, 5670, 672, 440, 926, 5669, 971, 861,
- 5667, 1769, 880, 1784, 5674, 5685, 939, 984, 927, 5672,
- 414, 379, 1849, 1906, 5644, 5624, 5635, 5626, 5562, 5539,
- 5542, 5546, 5541, 976, 5532, 5538, 5529, 5521, 5526, 5522,
-
- 528, 9534, 431, 1026, 1970, 385, 5502, 862, 300, 410,
- 1028, 5481, 5486, 5475, 5457, 5458, 857, 684, 387, 418,
- 659, 412, 859, 746, 1033, 768, 1077, 5474, 2026, 1076,
- 2057, 681, 5438, 1031, 414, 0, 5487, 1068, 5490, 9534,
- 9534, 0, 769, 5485, 9534, 1073, 1115, 0, 5413, 1094,
- 9534, 9534, 5382, 1125, 5381, 5406, 1105, 721, 1152, 864,
- 5410, 868, 1103, 1191, 5354, 2114, 0, 1250, 2173, 1184,
- 1204, 2215, 5381, 1250, 1263, 1196, 2266, 2323, 5354, 0,
- 5359, 5284, 5275, 5273, 5262, 1342, 5253, 5251, 9534, 694,
- 5235, 5224, 5229, 1203, 916, 5228, 1536, 5227, 1725, 5183,
-
- 1756, 1483, 5182, 2387, 1643, 2402, 5220, 1477, 1681, 1373,
- 2467, 2524, 5173, 5162, 5148, 5140, 5150, 5124, 1786, 5102,
- 5073, 432, 1671, 2588, 5066, 1154, 680, 854, 266, 847,
- 873, 1769, 1926, 2628, 2668, 2708, 2746, 5104, 5091, 2792,
- 910, 2839, 879, 2904, 2961, 5051, 0, 5048, 5037, 5042,
- 5029, 5011, 5023, 5001, 4995, 4995, 4993, 4995, 4983, 4965,
- 264, 4941, 4911, 4925, 4913, 4910, 4886, 3025, 3081, 994,
- 394, 16, 4858, 4848, 4840, 4823, 907, 896, 918, 4814,
- 913, 837, 123, 1979, 9534, 990, 3137, 3193, 978, 1080,
- 1993, 2023, 2054, 3231, 4855, 3282, 3339, 4834, 4809, 4814,
-
- 4792, 4770, 4751, 4758, 4758, 4737, 4741, 4740, 4735, 4716,
- 4720, 1015, 1094, 4685, 2089, 3387, 3427, 3467, 3507, 4738,
- 3553, 0, 4674, 4665, 4670, 4636, 4650, 4638, 4635, 4624,
- 4608, 4614, 4597, 4577, 4564, 4563, 3617, 3673, 1123, 1075,
- 9534, 1180, 1236, 1936, 925, 3713, 3753, 2079, 699, 4570,
- 4569, 2128, 1318, 4568, 4560, 1062, 1182, 3793, 2139, 1726,
- 3840, 2174, 1110, 3905, 992, 1544, 1057, 1212, 1162, 1341,
- 1827, 821, 955, 1477, 1342, 1222, 1215, 1645, 1122, 1075,
- 65, 1359, 4534, 1267, 1159, 4533, 1636, 736, 1145, 1424,
- 4503, 4497, 4490, 4457, 4468, 4454, 1524, 1351, 1697, 1350,
-
- 1241, 1490, 2187, 4480, 2199, 2237, 2088, 3962, 4013, 4088,
- 2006, 2140, 1447, 1850, 2024, 2361, 1973, 2367, 2368, 2449,
- 2562, 2444, 2563, 1514, 4458, 4461, 4398, 2550, 1520, 4136,
- 4176, 2357, 1507, 4413, 2268, 4395, 4392, 1650, 2442, 4396,
- 4371, 4344, 4354, 4349, 4340, 4326, 4315, 4322, 1758, 737,
- 1629, 1506, 4216, 4256, 4296, 4337, 4322, 2601, 4322, 4320,
- 4319, 4307, 1630, 2612, 1808, 2638, 1821, 4336, 0, 2650,
- 4384, 2678, 2688, 4431, 2720, 1516, 1688, 2443, 9534, 478,
- 1681, 1015, 1694, 1706, 2450, 9534, 1686, 1329, 1361, 1773,
- 1449, 1729, 1621, 1786, 1957, 1705, 4305, 1805, 1813, 1760,
-
- 1423, 1949, 1917, 1703, 4300, 4235, 4213, 2020, 1785, 1935,
- 1798, 2732, 2768, 2814, 4245, 4242, 2842, 2877, 4225, 4218,
- 2880, 2999, 2879, 3000, 3006, 3012, 2882, 3009, 3014, 4223,
- 4206, 4206, 4207, 4165, 4479, 4519, 4559, 4163, 4159, 4146,
- 4125, 4119, 4103, 4108, 4086, 4100, 4082, 4091, 4091, 4068,
- 1983, 1972, 2036, 2033, 1927, 2694, 2050, 4599, 4639, 3048,
- 4090, 4089, 4075, 4074, 4677, 1975, 3096, 3108, 3134, 2097,
- 2103, 2111, 3150, 2253, 4725, 0, 3056, 4773, 3160, 2869,
- 4820, 3190, 1934, 4063, 3097, 2054, 1832, 1521, 2087, 3190,
- 2093, 2036, 2146, 3191, 2007, 2188, 2056, 2096, 3232, 3233,
-
- 2216, 4035, 4034, 4014, 4013, 2216, 3977, 3962, 2406, 2297,
- 2172, 2298, 3220, 4012, 3253, 3361, 3208, 3284, 3389, 3981,
- 3886, 3390, 3391, 3392, 2092, 3427, 3428, 3429, 3430, 3437,
- 0, 0, 0, 0, 3850, 3480, 2358, 4868, 4908, 3456,
- 3440, 3879, 3859, 3848, 3467, 3848, 3824, 2359, 3508, 3818,
- 3805, 3509, 3510, 3793, 3768, 3767, 3752, 2345, 4947, 4986,
- 5025, 3758, 3742, 3714, 3527, 5065, 3537, 3441, 5111, 3575,
- 3614, 3714, 3632, 3644, 3587, 2423, 2424, 2537, 2584, 3670,
- 2587, 5159, 0, 3688, 5207, 3699, 3497, 5254, 3725, 2080,
- 3753, 9534, 5319, 2127, 2130, 3681, 3754, 9534, 2422, 2220,
-
- 2387, 2316, 3755, 9534, 2410, 2368, 1704, 1889, 3756, 9534,
- 3761, 9534, 3667, 2315, 3633, 3625, 2578, 2400, 2225, 2540,
- 3773, 3814, 3861, 5381, 3635, 3636, 2562, 2563, 3605, 3579,
- 2543, 2628, 3553, 5439, 5478, 5517, 5574, 2356, 3578, 2629,
- 2691, 2636, 2560, 2750, 2751, 2748, 3988, 1072, 5632, 5671,
- 4076, 3591, 3564, 4114, 2815, 4146, 2974, 5711, 0, 4158,
- 5724, 4186, 3783, 5770, 4198, 4228, 4240, 4268, 2868, 2876,
- 3030, 3033, 4278, 3035, 5818, 0, 4308, 5866, 4319, 3824,
- 4358, 2946, 5931, 2711, 3475, 2272, 4386, 2956, 2596, 3472,
- 4387, 4433, 3448, 2996, 3415, 3408, 3350, 3763, 2823, 3864,
-
- 3360, 4404, 3361, 4452, 4490, 4501, 5993, 3320, 3288, 4434,
- 3007, 3291, 3264, 4527, 4559, 0, 4546, 2744, 6051, 6090,
- 4572, 6147, 3247, 2627, 4600, 3047, 2798, 3213, 4602, 4603,
- 3179, 6206, 6246, 6286, 6326, 3197, 4616, 4651, 4663, 3192,
- 3010, 3066, 4697, 3074, 6366, 0, 4747, 6379, 4707, 3982,
- 6425, 4795, 4840, 3128, 4880, 4892, 4531, 3076, 3121, 3269,
- 2759, 2806, 6473, 0, 4807, 3215, 4947, 2800, 4948, 3064,
- 3906, 9534, 2962, 2819, 3013, 4100, 9534, 4101, 9534, 3057,
- 3027, 3757, 3908, 3097, 2936, 4481, 4870, 4961, 4998, 5010,
- 5037, 4950, 4229, 2860, 3059, 2795, 2731, 6485, 6525, 6565,
-
- 6605, 5066, 5067, 2673, 3156, 2884, 3375, 5085, 3091, 6645,
- 6685, 4937, 3180, 4918, 2669, 5133, 5181, 4758, 2613, 2527,
- 3388, 3407, 5227, 3410, 6725, 0, 5276, 6738, 5237, 5054,
- 6784, 5451, 5462, 5489, 5500, 3270, 2464, 3123, 2509, 4306,
- 9534, 2424, 4528, 9534, 5113, 2410, 2383, 3139, 9534, 2797,
- 4184, 9534, 3014, 3641, 5161, 5547, 5660, 5668, 5540, 5319,
- 5699, 5906, 5658, 2394, 5746, 5792, 5287, 2353, 4529, 2305,
- 2218, 2196, 5839, 3565, 6832, 6872, 5698, 3588, 5114, 2128,
- 2084, 3233, 6912, 6952, 6992, 6063, 6075, 6102, 2041, 1969,
- 3453, 3468, 6112, 3602, 7032, 0, 6218, 7045, 6229, 5191,
-
- 6258, 1970, 6269, 6297, 5690, 1748, 1642, 4605, 9534, 5528,
- 5820, 1504, 9534, 4644, 6307, 6336, 6348, 6401, 6447, 5821,
- 4869, 1397, 7093, 7133, 7173, 5910, 6514, 1372, 6501, 3645,
- 7213, 7253, 6513, 6551, 1296, 6577, 6589, 5758, 1208, 1154,
- 3658, 1005, 936, 6617, 0, 3992, 5546, 9534, 5575, 9534,
- 6645, 4990, 6632, 869, 6658, 6697, 6413, 5867, 6712, 3659,
- 7293, 7333, 6539, 6784, 7373, 7413, 7453, 6804, 6842, 6852,
- 709, 0, 460, 5868, 9534, 3161, 5904, 9534, 3367, 6884,
- 6896, 6924, 7493, 7533, 7573, 6934, 3660, 7613, 7653, 6670,
- 9534, 6972, 7002, 6317, 9534, 9534, 7012, 364, 7067, 7105,
-
- 6459, 7115, 3834, 7693, 7733, 6760, 7153, 7191, 7229, 7239,
- 7267, 7277, 7306, 7316, 7354, 172, 7392, 7146, 9534, 7430,
- 6771, 100, 7440, 7164, 9534, 7790, 7811, 7832, 7853, 7874,
- 7895, 7916, 7937, 7958, 7979, 8000, 3878, 8021, 8042, 8063,
- 8084, 8105, 8126, 3565, 8147, 8168, 8189, 8210, 8231, 8252,
- 8273, 8294, 8315, 8336, 8357, 8378, 8399, 8420, 8441, 8462,
- 8483, 8504, 8525, 8546, 4295, 4598, 8555, 8575, 8596, 8617,
- 8638, 8659, 8680, 8701, 8722, 3974, 8743, 8764, 8785, 8806,
- 8818, 8839, 4983, 8860, 8881, 8902, 8923, 8944, 8965, 8986,
- 9007, 9028, 9049, 5900, 9058, 9078, 9099, 9120, 9141, 5919,
-
- 6129, 6139, 9150, 9158, 9178, 9199, 5308, 6245, 6285, 6365,
- 9208, 9217, 6684, 6822, 6868, 9225, 9234, 6871, 6951, 9242,
- 9251, 9271, 6824, 9283, 9304, 6968, 9314, 9322, 9331, 9351,
- 6970, 9363, 9384, 6988, 9394, 9402, 9411, 9431, 9452, 9473,
- 6991, 9483, 4171, 7028, 9492, 7031, 5651, 9512, 4638
+ 0, 75, 126, 199, 83, 91, 99, 180, 272, 347,
+ 422, 478, 131, 147, 535, 0, 189, 219, 611, 0,
+ 6517, 6458, 76, 9534, 6501, 6471, 9534, 685, 101, 9534,
+ 9534, 6409, 9534, 199, 697, 238, 143, 6428, 9534, 9534,
+ 23, 762, 35, 103, 71, 132, 819, 6411, 76, 6422,
+ 6385, 112, 6373, 6374, 61, 883, 914, 262, 152, 266,
+ 969, 251, 166, 6339, 122, 6336, 197, 338, 123, 369,
+ 6350, 6335, 6334, 6344, 1036, 177, 0, 9534, 6364, 6335,
+ 9534, 0, 1092, 0, 214, 9534, 6338, 6331, 9534, 9534,
+ 236, 1148, 249, 0, 6280, 9534, 239, 9534, 240, 9534,
+
+ 306, 6245, 311, 262, 9534, 320, 172, 1177, 1236, 1281,
+ 363, 349, 1340, 1391, 6257, 86, 254, 1448, 6231, 6215,
+ 6227, 6200, 6212, 6207, 294, 422, 0, 173, 6187, 323,
+ 9534, 397, 6180, 348, 6168, 450, 1496, 444, 373, 1561,
+ 6135, 272, 388, 1618, 6117, 6113, 6125, 6109, 6121, 6114,
+ 1682, 1713, 490, 421, 6089, 737, 304, 9534, 6138, 168,
+ 9534, 6141, 500, 671, 6086, 848, 446, 926, 6085, 971,
+ 893, 6064, 1769, 984, 1784, 6077, 6088, 939, 994, 887,
+ 6075, 422, 243, 1849, 1906, 6050, 6034, 6002, 6013, 5988,
+ 5981, 5972, 5966, 5970, 5967, 1012, 5912, 5905, 5900, 5892,
+
+ 5894, 5885, 496, 9534, 376, 1022, 1970, 449, 5868, 1024,
+ 417, 433, 1033, 5854, 5859, 5849, 5841, 5839, 847, 684,
+ 683, 418, 434, 673, 935, 318, 1089, 454, 1064, 5850,
+ 2026, 1086, 2057, 694, 5842, 1078, 707, 0, 5891, 528,
+ 5894, 9534, 9534, 0, 498, 5862, 9534, 1135, 1134, 0,
+ 5801, 1184, 9534, 9534, 5792, 1140, 5772, 5820, 860, 682,
+ 1177, 750, 5822, 943, 1075, 1250, 5767, 2114, 0, 1377,
+ 2173, 1196, 1196, 2215, 5793, 1250, 1263, 1208, 2266, 2323,
+ 5759, 0, 5764, 5757, 5732, 5726, 5715, 1451, 5705, 5692,
+ 9534, 1021, 5670, 5664, 5669, 891, 721, 5667, 1536, 5655,
+
+ 1725, 5654, 1756, 1660, 5646, 2387, 1679, 2402, 5670, 1769,
+ 1804, 1374, 2467, 2524, 5629, 5634, 5619, 5555, 5550, 5541,
+ 1621, 5532, 5528, 737, 1746, 2588, 5516, 1194, 714, 841,
+ 431, 856, 944, 1926, 1936, 2628, 2668, 2708, 2746, 5552,
+ 5529, 2792, 910, 2839, 866, 2904, 2961, 5517, 5503, 0,
+ 5511, 5489, 5494, 5489, 5436, 5450, 5438, 5445, 5424, 5392,
+ 5404, 5380, 5375, 259, 5361, 5346, 5360, 5359, 5290, 5288,
+ 3025, 3081, 1184, 830, 24, 5240, 5230, 5232, 5238, 1042,
+ 896, 912, 5235, 718, 925, 821, 1979, 9534, 1043, 3137,
+ 3193, 983, 858, 1993, 2023, 2054, 3231, 5269, 3282, 3339,
+
+ 5250, 5241, 5246, 5181, 5195, 5183, 5165, 5154, 5145, 5157,
+ 5156, 5126, 5102, 5106, 1063, 1036, 5071, 2089, 3387, 3427,
+ 3467, 3507, 5079, 3553, 0, 5048, 5027, 5031, 5008, 4998,
+ 4976, 4970, 4935, 4932, 4930, 4929, 4911, 4897, 4883, 3617,
+ 3673, 1480, 1018, 9534, 1086, 1124, 2113, 160, 3713, 3753,
+ 1969, 708, 4889, 4884, 2128, 1239, 4880, 4869, 924, 951,
+ 3793, 2139, 1814, 3840, 2174, 1050, 3905, 1103, 889, 1183,
+ 1056, 1117, 1308, 1508, 1498, 1342, 1208, 1341, 1062, 1449,
+ 1114, 1464, 1109, 1343, 1394, 1215, 4857, 1234, 1137, 4849,
+ 1366, 1008, 1506, 1424, 4818, 4813, 4815, 4786, 4792, 4778,
+
+ 1671, 86, 1516, 1240, 1330, 1472, 2187, 4814, 2199, 2237,
+ 2079, 3962, 4013, 4088, 2006, 2060, 1522, 1716, 2367, 2368,
+ 1973, 2361, 2374, 2404, 2405, 2444, 2562, 1189, 4798, 4793,
+ 4742, 2549, 1536, 4136, 4176, 2603, 1450, 4775, 1850, 4757,
+ 4708, 1628, 2268, 4698, 4691, 4682, 4687, 4676, 4660, 4658,
+ 4654, 4647, 1636, 1682, 1629, 1483, 4216, 4256, 4296, 4625,
+ 4624, 2609, 4605, 4584, 4583, 4575, 969, 2641, 1824, 2651,
+ 2066, 4336, 0, 2592, 4384, 2678, 2688, 4431, 2720, 1494,
+ 1268, 1728, 2442, 9534, 1681, 1717, 1679, 1720, 1810, 2443,
+ 9534, 1724, 1698, 1468, 1966, 1729, 1647, 1686, 1954, 1967,
+
+ 1821, 4534, 1977, 2041, 1759, 1758, 1980, 1517, 1798, 4489,
+ 4446, 4424, 2103, 2053, 2054, 1966, 2732, 2768, 2814, 4460,
+ 4459, 2445, 2877, 4442, 4430, 2880, 2999, 2842, 3000, 3006,
+ 3012, 2879, 3009, 2882, 4448, 4445, 4440, 4441, 4399, 4479,
+ 4519, 4559, 4389, 4389, 4371, 4364, 4333, 4324, 4329, 4287,
+ 4300, 4265, 4274, 4274, 4257, 2037, 2029, 2089, 1916, 1997,
+ 2694, 2050, 4599, 4639, 3043, 4257, 4242, 4240, 4217, 4677,
+ 2097, 2869, 3051, 3081, 2159, 2253, 2336, 3094, 2360, 4725,
+ 0, 3106, 4773, 3134, 3150, 4820, 3158, 2112, 2082, 4202,
+ 2577, 1827, 2199, 2096, 2216, 3014, 2146, 2326, 2226, 3135,
+
+ 1944, 2188, 2334, 2252, 3186, 3187, 2351, 4173, 4135, 4111,
+ 4098, 2314, 4078, 4077, 2577, 2385, 2358, 2401, 3206, 4111,
+ 3218, 3253, 3190, 3284, 3387, 4073, 4055, 3388, 3389, 3390,
+ 2366, 3427, 3428, 3429, 3435, 3436, 0, 0, 0, 0,
+ 4003, 3480, 2125, 4868, 4908, 3456, 3467, 4008, 3997, 3979,
+ 3508, 3973, 3869, 2367, 3509, 3863, 3868, 3510, 3517, 3856,
+ 3854, 3838, 3835, 2498, 4947, 4986, 5025, 3861, 3843, 3821,
+ 3359, 5065, 3528, 3538, 5111, 3575, 3614, 3808, 3632, 3644,
+ 3587, 2537, 2572, 2974, 3030, 3670, 3066, 5159, 0, 3688,
+ 5207, 3699, 3723, 5254, 3731, 2419, 5319, 3759, 9534, 2275,
+
+ 2756, 1190, 2412, 3760, 9534, 2403, 667, 2319, 2592, 3761,
+ 9534, 2406, 2068, 3776, 3758, 3762, 9534, 3794, 9534, 3745,
+ 2524, 3725, 3675, 2759, 2624, 2585, 2776, 3814, 3861, 3983,
+ 5381, 3680, 3668, 2549, 2557, 3669, 3649, 2610, 2634, 3625,
+ 5439, 5478, 5517, 5574, 2752, 3598, 2955, 2691, 1603, 2797,
+ 2980, 2858, 2977, 4075, 2073, 5632, 5671, 4114, 3614, 3601,
+ 4152, 2769, 4162, 2989, 5711, 0, 4188, 5724, 4199, 3763,
+ 5770, 4228, 4240, 4268, 4280, 3021, 3028, 3116, 3269, 4306,
+ 3442, 5818, 0, 4318, 5866, 4356, 3781, 4406, 3029, 5931,
+ 2506, 3089, 2994, 3081, 4479, 2787, 3022, 3139, 4519, 4559,
+
+ 3563, 2812, 3529, 3525, 3492, 3844, 3147, 3864, 3508, 4366,
+ 3502, 4491, 4531, 3994, 5993, 3466, 3416, 3842, 1729, 3415,
+ 3395, 4560, 4561, 0, 4572, 2744, 6051, 6090, 4417, 6147,
+ 3371, 2428, 4600, 3113, 2962, 3347, 4601, 4602, 3314, 6206,
+ 6246, 6286, 6326, 3218, 4506, 4615, 4651, 3192, 3189, 3219,
+ 4661, 3254, 6366, 0, 4699, 6379, 4745, 4120, 6425, 4795,
+ 4755, 3114, 4842, 4880, 4455, 3147, 3270, 3602, 2759, 3178,
+ 6473, 0, 4550, 3364, 3535, 4918, 3347, 4921, 3411, 3906,
+ 9534, 3628, 3412, 3629, 4229, 9534, 4269, 9534, 2995, 2920,
+ 3765, 3421, 3215, 2813, 4936, 4976, 4932, 4974, 4998, 5037,
+
+ 4823, 4726, 2796, 3047, 2772, 2754, 6485, 6525, 6565, 6605,
+ 4911, 5026, 2728, 3392, 3211, 3435, 5085, 3134, 6645, 6685,
+ 5016, 3410, 5095, 2706, 5133, 5181, 5145, 2653, 2613, 3633,
+ 3684, 5227, 3699, 6725, 0, 5276, 6738, 5237, 4625, 6784,
+ 5451, 5462, 5489, 5500, 3880, 2590, 3321, 2863, 3750, 4728,
+ 9534, 2411, 4909, 9534, 5528, 3467, 3970, 3793, 9534, 1934,
+ 4164, 9534, 3367, 4342, 5547, 5660, 5668, 5699, 5540, 5319,
+ 5707, 5906, 5658, 2403, 5747, 5792, 5193, 2359, 4910, 2196,
+ 2137, 1988, 5839, 3588, 6832, 6872, 5852, 3751, 5820, 1948,
+ 1830, 3447, 6912, 6952, 6992, 6063, 6075, 6102, 1787, 1666,
+
+ 4075, 4089, 6112, 4177, 7032, 0, 6218, 7045, 6229, 4966,
+ 6258, 1645, 6269, 6297, 5288, 1558, 1440, 4170, 4916, 9534,
+ 5546, 5904, 4069, 9534, 4481, 6307, 6336, 6348, 6401, 6447,
+ 5910, 5066, 1398, 7093, 7133, 7173, 6514, 6525, 1288, 6512,
+ 3880, 7213, 7253, 6501, 6575, 1183, 6587, 6617, 6413, 1096,
+ 1034, 4640, 1014, 885, 6629, 0, 4323, 3525, 5068, 9534,
+ 5821, 9534, 6618, 4689, 6658, 833, 6670, 6697, 6459, 6147,
+ 6712, 4013, 7293, 7333, 6760, 6784, 7373, 7413, 7453, 6804,
+ 6842, 6852, 699, 0, 514, 3256, 6148, 9534, 3517, 4825,
+ 9534, 3623, 6884, 6896, 6924, 7493, 7533, 7573, 6934, 4073,
+
+ 7613, 7653, 6965, 9534, 6972, 7003, 5698, 9534, 2225, 9534,
+ 7013, 471, 7067, 7105, 6539, 7115, 4074, 7693, 7733, 7146,
+ 7153, 7191, 7229, 3226, 7239, 7267, 7277, 7306, 7316, 7354,
+ 404, 7392, 7164, 316, 9534, 7430, 5757, 179, 7440, 7346,
+ 9534, 7790, 7811, 7832, 7853, 7874, 7895, 7916, 7937, 7958,
+ 7979, 8000, 4595, 8021, 8042, 8063, 8084, 8105, 8126, 3974,
+ 8147, 8168, 8189, 8210, 8231, 8252, 8273, 8294, 8315, 8336,
+ 8357, 8378, 8399, 8420, 8441, 8462, 8483, 8504, 8525, 8546,
+ 4711, 4858, 8555, 8575, 8596, 8617, 8638, 8659, 8680, 8701,
+ 8722, 4195, 8743, 8764, 8785, 8806, 8818, 8839, 5061, 8860,
+
+ 8881, 8902, 8923, 8944, 8965, 8986, 9007, 9028, 9049, 5015,
+ 9058, 9078, 9099, 9120, 9141, 5557, 5566, 5900, 9150, 9158,
+ 9178, 9199, 5062, 6245, 6285, 6325, 9208, 9217, 6365, 6552,
+ 6559, 9225, 9234, 6773, 6777, 9242, 9251, 9271, 5308, 9283,
+ 9304, 6822, 9314, 9322, 9331, 9351, 6561, 9363, 9384, 6868,
+ 9394, 9402, 9411, 9431, 9452, 9473, 6871, 9483, 5651, 6951,
+ 9492, 6988, 5690, 9512, 3664
} ;
-static yyconst flex_int16_t yy_def[1350] =
+static yyconst flex_int16_t yy_def[1366] =
{ 0,
- 1225, 1, 1, 1, 1226, 1226, 1227, 1227, 1228, 1228,
- 1229, 1229, 1230, 1230, 1225, 15, 1231, 1231, 1225, 19,
- 1225, 1232, 1225, 1225, 1225, 1225, 1225, 1233, 1234, 1225,
- 1225, 1235, 1225, 1236, 1232, 35, 35, 1237, 1225, 1225,
- 1232, 1225, 42, 42, 42, 42, 42, 47, 47, 47,
- 47, 47, 47, 47, 47, 1232, 1238, 35, 1232, 1225,
- 1233, 42, 42, 47, 47, 47, 1225, 1225, 1225, 1239,
- 47, 47, 47, 1240, 1232, 1241, 1225, 1225, 1241, 1225,
- 1241, 1225, 1242, 1242, 1225, 1225, 1242, 1225, 1225, 1243,
- 1233, 1225, 1244, 1245, 1225, 1245, 1225, 1245, 1225, 1246,
-
- 1247, 1247, 1247, 1225, 1225, 1248, 1249, 1250, 1225, 109,
- 109, 109, 1225, 113, 113, 113, 113, 117, 117, 117,
- 117, 117, 117, 1251, 109, 112, 112, 1252, 1252, 1225,
- 1252, 1253, 1254, 1255, 1256, 1253, 136, 136, 1225, 139,
- 139, 139, 139, 143, 143, 143, 143, 143, 143, 1253,
- 1257, 136, 1253, 1258, 1258, 1225, 1225, 1225, 1259, 1225,
- 1225, 1260, 1225, 1261, 1225, 1248, 1261, 1262, 1262, 1263,
- 1264, 1258, 1258, 1258, 1265, 174, 174, 174, 174, 1266,
- 1267, 1258, 1225, 183, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-
- 1225, 1225, 1258, 1258, 1268, 1269, 1258, 1268, 1258, 1258,
- 1225, 1225, 1225, 1225, 1225, 1225, 1259, 1258, 174, 1258,
- 1258, 1258, 1225, 1225, 1225, 1225, 1270, 1271, 1258, 184,
- 1272, 1273, 1258, 1272, 1258, 1274, 1274, 1225, 1225, 1225,
- 1225, 1275, 1275, 1275, 1225, 1225, 1260, 1276, 1277, 1277,
- 1225, 1225, 1277, 1277, 1278, 1225, 1278, 1278, 1225, 1225,
- 1225, 1248, 1248, 1248, 1279, 1280, 1281, 1279, 1282, 1225,
- 1225, 1281, 272, 272, 272, 272, 1225, 277, 278, 1283,
- 278, 278, 278, 278, 278, 278, 278, 278, 1225, 1269,
- 1281, 1281, 1284, 1284, 1284, 1285, 1285, 1286, 1286, 1287,
-
- 1287, 1288, 1289, 1285, 1285, 1285, 306, 306, 306, 306,
- 1225, 311, 312, 312, 312, 312, 312, 312, 312, 312,
- 312, 1285, 1285, 1290, 1285, 1290, 1285, 1285, 1291, 1291,
- 1292, 1225, 1225, 1293, 1293, 1293, 1293, 337, 1294, 1225,
- 1295, 1225, 1293, 1225, 344, 345, 345, 345, 345, 345,
- 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
- 345, 345, 345, 345, 345, 345, 345, 1296, 1296, 1293,
- 1293, 1225, 1225, 1225, 1225, 1225, 1291, 1293, 1293, 337,
- 1293, 1293, 1293, 1225, 1225, 1297, 1298, 1298, 1293, 1225,
- 1225, 1225, 1225, 1281, 394, 1225, 396, 397, 397, 397,
-
- 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 1299, 1281, 1281, 1225, 1285, 1285, 1285, 306, 419,
- 311, 312, 312, 312, 312, 312, 312, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 1290, 1290, 1285, 1285,
- 1225, 1292, 1292, 1293, 1293, 1293, 1293, 1293, 1293, 1300,
- 1301, 1301, 452, 1302, 1301, 1303, 1304, 1225, 458, 458,
- 1225, 458, 1293, 1225, 464, 464, 464, 464, 464, 464,
- 464, 464, 464, 464, 464, 464, 464, 464, 464, 464,
- 464, 464, 464, 464, 464, 464, 1293, 1293, 1293, 1293,
- 1225, 1225, 1225, 1225, 1225, 1225, 1305, 1293, 1293, 1293,
-
- 1306, 1293, 1225, 1225, 1225, 1225, 1225, 1281, 1225, 509,
- 510, 510, 1307, 510, 510, 510, 510, 510, 510, 510,
- 510, 510, 510, 1281, 1281, 1281, 1281, 1285, 1285, 1285,
- 1285, 1285, 1285, 312, 312, 312, 312, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 312, 312, 1285, 1285,
- 1285, 1285, 1293, 1293, 1293, 1225, 1308, 1308, 558, 1308,
- 1309, 1310, 1311, 1225, 1312, 461, 1312, 1225, 568, 1312,
- 1225, 571, 571, 1225, 571, 1293, 464, 1225, 1225, 464,
- 464, 464, 464, 464, 1225, 1225, 464, 464, 464, 464,
- 464, 464, 464, 464, 464, 464, 464, 464, 464, 1293,
-
- 1293, 1293, 1293, 1293, 1225, 1225, 1225, 1305, 1293, 1293,
- 1293, 1225, 1225, 1225, 508, 509, 510, 510, 1307, 1307,
- 510, 510, 510, 510, 510, 510, 510, 510, 510, 1281,
- 1281, 1281, 1281, 1281, 1285, 1285, 1285, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
- 1285, 1285, 1285, 1285, 1285, 1293, 1293, 1293, 1293, 1293,
- 1313, 1313, 1314, 1315, 1225, 1225, 1225, 1225, 1225, 1316,
- 1316, 1317, 574, 1317, 1225, 675, 1317, 1225, 678, 678,
- 1225, 678, 1293, 464, 464, 464, 464, 464, 464, 464,
- 464, 464, 464, 464, 464, 464, 464, 464, 464, 464,
-
- 464, 1293, 1293, 1293, 1293, 1293, 1225, 1225, 1305, 1293,
- 1293, 1293, 1225, 1225, 1225, 1225, 1225, 510, 510, 1307,
- 1307, 510, 510, 510, 1307, 510, 510, 510, 510, 510,
- 1281, 1281, 1281, 1281, 1281, 1285, 1285, 1285, 1285, 1285,
- 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
- 312, 312, 312, 1285, 1285, 1285, 1285, 1285, 1293, 1293,
- 1293, 1225, 1318, 1319, 665, 1225, 766, 766, 1225, 766,
- 1225, 1225, 1225, 1225, 1225, 1225, 1320, 1320, 1321, 681,
- 1321, 1225, 782, 1321, 1225, 785, 785, 1225, 785, 1293,
- 1225, 1225, 1225, 793, 793, 793, 1225, 1225, 793, 793,
-
- 793, 793, 1225, 1225, 793, 793, 793, 793, 1225, 1225,
- 1225, 1225, 793, 1293, 1225, 1225, 1322, 1293, 1293, 1293,
- 1225, 1225, 1225, 1225, 1323, 1323, 824, 824, 1323, 1323,
- 824, 824, 1324, 1325, 1325, 1325, 1225, 837, 837, 837,
- 837, 837, 837, 837, 837, 1325, 1293, 1293, 1293, 1293,
- 1293, 1225, 1326, 1225, 1327, 769, 1327, 1327, 858, 1327,
- 1225, 861, 861, 1225, 861, 1225, 1225, 1225, 1225, 1328,
- 1328, 1329, 788, 1329, 1225, 875, 1329, 1225, 878, 878,
- 878, 1293, 1225, 883, 883, 883, 883, 883, 883, 883,
- 883, 883, 883, 883, 1293, 1225, 1225, 1330, 1293, 1293,
-
- 1293, 1225, 1225, 1225, 1225, 1225, 1225, 1331, 1331, 907,
- 907, 1331, 1331, 907, 907, 1332, 1333, 1333, 1333, 1333,
- 1333, 1225, 922, 922, 922, 922, 922, 922, 922, 922,
- 1333, 1293, 1293, 1293, 1293, 1225, 1225, 1225, 1225, 1334,
- 1334, 1335, 864, 1335, 1335, 945, 1335, 1225, 948, 948,
- 1225, 948, 1225, 1225, 1225, 1225, 1225, 1225, 1336, 1336,
- 1337, 1337, 1337, 963, 1337, 1293, 883, 883, 883, 883,
- 1225, 1225, 883, 883, 883, 1225, 1225, 1225, 1225, 883,
- 1225, 1225, 1338, 1330, 1293, 1339, 1340, 1225, 1225, 1225,
- 1225, 907, 1331, 1331, 907, 1331, 1331, 1333, 1333, 1333,
-
- 1333, 922, 922, 922, 922, 922, 922, 1293, 1293, 1293,
- 1293, 1293, 1293, 1225, 1225, 1225, 1225, 1225, 1225, 1341,
- 1341, 1342, 951, 1342, 1342, 1025, 1342, 1225, 1028, 1028,
- 1225, 1028, 1225, 1225, 1225, 1225, 1343, 1343, 1293, 1225,
- 1225, 883, 1225, 1225, 883, 883, 883, 883, 1225, 1338,
- 1338, 1225, 1338, 1330, 1339, 1339, 1339, 1339, 1225, 1339,
- 1340, 1340, 1225, 1225, 1225, 1225, 1225, 1225, 1331, 907,
- 1331, 1331, 1333, 1333, 1333, 1333, 1333, 1333, 922, 922,
- 922, 922, 1293, 1293, 1293, 1225, 1225, 1225, 1225, 1344,
- 1344, 1345, 1031, 1345, 1345, 1095, 1345, 1225, 1098, 1098,
-
- 1098, 1225, 1225, 1225, 1225, 1225, 1293, 1225, 1225, 883,
- 883, 883, 1225, 1330, 1225, 1225, 1225, 1225, 1225, 907,
- 1331, 1331, 1333, 1333, 1333, 922, 922, 922, 1293, 1293,
- 1293, 1293, 1293, 1225, 1225, 1225, 1225, 1225, 1225, 1346,
- 1346, 1347, 1347, 1347, 1144, 1144, 1225, 1225, 1225, 1225,
- 883, 1348, 1225, 1225, 1225, 1225, 1225, 1331, 1333, 1333,
- 1333, 1333, 1333, 922, 1293, 1293, 1293, 1225, 1225, 1225,
- 1225, 1349, 1349, 1225, 1225, 1348, 1348, 1225, 1348, 1225,
- 1225, 1225, 1333, 1333, 1333, 1293, 1293, 1293, 1293, 1293,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
-
- 1225, 1333, 1333, 1333, 1333, 1333, 1293, 1293, 1293, 1225,
- 1225, 1225, 1333, 1333, 1333, 1293, 1293, 1293, 1225, 1225,
- 1225, 1333, 1333, 1333, 0, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
-
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225
+ 1241, 1, 1, 1, 1242, 1242, 1243, 1243, 1244, 1244,
+ 1245, 1245, 1246, 1246, 1241, 15, 1247, 1247, 1241, 19,
+ 1241, 1248, 1241, 1241, 1241, 1241, 1241, 1249, 1250, 1241,
+ 1241, 1251, 1241, 1252, 1248, 35, 35, 1253, 1241, 1241,
+ 1248, 1241, 42, 42, 42, 42, 42, 47, 47, 47,
+ 47, 47, 47, 47, 47, 1248, 1254, 35, 1248, 1241,
+ 1249, 42, 42, 47, 47, 47, 1241, 1241, 1241, 1255,
+ 42, 47, 47, 47, 1256, 1248, 1257, 1241, 1241, 1257,
+ 1241, 1257, 1241, 1258, 1258, 1241, 1241, 1258, 1241, 1241,
+ 1259, 1249, 1241, 1260, 1261, 1241, 1261, 1241, 1261, 1241,
+
+ 1262, 1263, 1263, 1263, 1241, 1241, 1264, 1265, 1266, 1241,
+ 110, 110, 110, 1241, 114, 114, 114, 114, 118, 118,
+ 118, 118, 118, 118, 1267, 110, 113, 113, 1268, 1268,
+ 1241, 1268, 1269, 1270, 1271, 1272, 1269, 137, 137, 1241,
+ 140, 140, 140, 140, 144, 144, 144, 144, 144, 144,
+ 1269, 1273, 137, 1269, 1274, 1274, 1241, 1241, 1241, 1275,
+ 1241, 1241, 1276, 1241, 1277, 1241, 1264, 1277, 1278, 1278,
+ 1279, 1280, 1274, 1274, 1274, 1281, 175, 175, 175, 175,
+ 1282, 1283, 1274, 1241, 184, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+
+ 185, 185, 1241, 1241, 1274, 1274, 1284, 1285, 1274, 1284,
+ 1274, 1274, 1241, 1241, 1241, 1241, 1241, 1241, 1275, 1274,
+ 175, 1274, 1274, 1274, 1241, 1241, 1241, 1241, 1286, 1287,
+ 1274, 185, 1288, 1289, 1274, 1288, 1274, 1290, 1290, 1241,
+ 1241, 1241, 1241, 1291, 1291, 1291, 1241, 1241, 1276, 1292,
+ 1293, 1293, 1241, 1241, 1293, 1293, 1294, 1241, 1294, 1294,
+ 1241, 1241, 1241, 1264, 1264, 1264, 1295, 1296, 1297, 1295,
+ 1298, 1241, 1241, 1297, 274, 274, 274, 274, 1241, 279,
+ 280, 1299, 280, 280, 280, 280, 280, 280, 280, 280,
+ 1241, 1285, 1297, 1297, 1300, 1300, 1300, 1301, 1301, 1302,
+
+ 1302, 1303, 1303, 1304, 1305, 1301, 1301, 1301, 308, 308,
+ 308, 308, 1241, 313, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 1301, 1301, 1306, 1301, 1306, 1301, 1301,
+ 1307, 1307, 1308, 1241, 1241, 1309, 1309, 1309, 1309, 339,
+ 1310, 1241, 1311, 1241, 1309, 1241, 346, 347, 347, 347,
+ 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
+ 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
+ 1312, 1312, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1307,
+ 1309, 1309, 339, 1309, 1309, 1309, 1241, 1241, 1313, 1314,
+ 1314, 1309, 1241, 1241, 1241, 1241, 1297, 397, 1241, 399,
+
+ 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 400, 400, 1315, 1297, 1297, 1241, 1301, 1301,
+ 1301, 308, 422, 313, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 1306,
+ 1306, 1301, 1301, 1241, 1308, 1308, 1309, 1309, 1309, 1309,
+ 1309, 1309, 1316, 1317, 1317, 455, 1318, 1317, 1319, 1320,
+ 1241, 461, 461, 1241, 461, 1309, 1241, 467, 467, 467,
+ 467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+ 467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+ 1309, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241,
+
+ 1321, 1309, 1309, 1309, 1322, 1309, 1241, 1241, 1241, 1241,
+ 1241, 1297, 1241, 513, 514, 514, 1323, 514, 514, 514,
+ 514, 514, 514, 514, 514, 514, 514, 1297, 1297, 1297,
+ 1297, 1301, 1301, 1301, 1301, 1301, 1301, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 1301, 1301, 1301, 1301, 1309, 1309, 1309, 1241,
+ 1324, 1324, 562, 1324, 1325, 1326, 1327, 1241, 1328, 464,
+ 1328, 1241, 572, 1328, 1241, 575, 575, 1241, 575, 1309,
+ 467, 467, 1241, 1241, 467, 467, 467, 467, 467, 1241,
+ 1241, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+
+ 467, 467, 467, 467, 1309, 1309, 1309, 1309, 1309, 1241,
+ 1241, 1241, 1321, 1309, 1309, 1309, 1241, 1241, 1241, 512,
+ 513, 514, 514, 1323, 1323, 514, 514, 514, 514, 514,
+ 514, 514, 514, 514, 1297, 1297, 1297, 1297, 1297, 1301,
+ 1301, 1301, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 1301, 1301, 1301, 1301, 1301,
+ 1309, 1309, 1309, 1309, 1309, 1329, 1329, 1330, 1331, 1241,
+ 1241, 1241, 1241, 1241, 1332, 1332, 1333, 578, 1333, 1241,
+ 680, 1333, 1241, 683, 683, 1241, 683, 1309, 467, 467,
+ 467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+
+ 467, 467, 467, 467, 467, 467, 467, 1309, 1309, 1309,
+ 1309, 1309, 1241, 1241, 1321, 1309, 1309, 1309, 1241, 1241,
+ 1241, 1241, 1241, 514, 514, 1323, 1323, 514, 514, 514,
+ 1323, 514, 514, 514, 514, 514, 1297, 1297, 1297, 1297,
+ 1297, 1301, 1301, 1301, 1301, 1301, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 1301,
+ 1301, 1301, 1301, 1301, 1309, 1309, 1309, 1241, 1334, 1335,
+ 670, 1241, 772, 772, 1241, 772, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1336, 1336, 1337, 686, 1337, 1241, 788, 1337,
+ 1241, 791, 791, 1241, 791, 1309, 1241, 1241, 1241, 797,
+
+ 797, 797, 797, 1241, 1241, 797, 797, 797, 797, 1241,
+ 1241, 797, 797, 797, 797, 1241, 1241, 1241, 1241, 797,
+ 1309, 1241, 1241, 1338, 1309, 1309, 1309, 1241, 1241, 1241,
+ 1241, 1339, 1339, 831, 831, 1339, 1339, 831, 831, 1340,
+ 1341, 1341, 1341, 1241, 844, 844, 844, 844, 844, 844,
+ 844, 844, 1341, 1309, 1309, 1309, 1309, 1309, 1241, 1342,
+ 1241, 1343, 775, 1343, 1343, 865, 1343, 1241, 868, 868,
+ 1241, 868, 1241, 1241, 1241, 1241, 1344, 1344, 1345, 794,
+ 1345, 1241, 882, 1345, 1241, 885, 885, 885, 1309, 1241,
+ 890, 890, 890, 890, 890, 890, 890, 890, 890, 890,
+
+ 890, 890, 1309, 1241, 1241, 1346, 1309, 1309, 1309, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1347, 1347, 915, 915, 1347,
+ 1347, 915, 915, 1348, 1349, 1349, 1349, 1349, 1349, 1241,
+ 930, 930, 930, 930, 930, 930, 930, 930, 1349, 1309,
+ 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1350, 1350, 1351,
+ 871, 1351, 1351, 953, 1351, 1241, 956, 956, 1241, 956,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1352, 1352, 1353, 1353,
+ 1353, 971, 1353, 1309, 890, 890, 890, 890, 890, 1241,
+ 1241, 890, 890, 890, 1241, 1241, 1241, 1241, 890, 1241,
+ 1241, 1354, 1346, 1309, 1355, 1356, 1241, 1241, 1241, 1241,
+
+ 915, 1347, 1347, 915, 1347, 1347, 1349, 1349, 1349, 1349,
+ 930, 930, 930, 930, 930, 930, 1309, 1309, 1309, 1309,
+ 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241, 1357, 1357,
+ 1358, 959, 1358, 1358, 1034, 1358, 1241, 1037, 1037, 1241,
+ 1037, 1241, 1241, 1241, 1241, 1359, 1359, 1309, 890, 1241,
+ 1241, 890, 1241, 1241, 890, 890, 890, 890, 1241, 1354,
+ 1354, 1241, 1354, 1346, 1355, 1355, 1355, 1355, 1241, 1355,
+ 1356, 1356, 1241, 1241, 1241, 1241, 1241, 1241, 1347, 915,
+ 1347, 1347, 1349, 1349, 1349, 1349, 1349, 1349, 930, 930,
+ 930, 930, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1360,
+
+ 1360, 1361, 1040, 1361, 1361, 1105, 1361, 1241, 1108, 1108,
+ 1108, 1241, 1241, 1241, 1241, 1241, 1309, 890, 1241, 1241,
+ 890, 890, 890, 1241, 1346, 1241, 1241, 1241, 1241, 1241,
+ 915, 1347, 1347, 1349, 1349, 1349, 930, 930, 930, 1309,
+ 1309, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1362, 1362, 1363, 1363, 1363, 1155, 1155, 890, 1241, 1241,
+ 1241, 1241, 890, 1364, 1241, 1241, 1241, 1241, 1241, 1347,
+ 1349, 1349, 1349, 1349, 1349, 930, 1309, 1309, 1309, 1241,
+ 1241, 1241, 1241, 1365, 1365, 890, 1241, 1241, 1364, 1364,
+ 1241, 1364, 1241, 1241, 1241, 1349, 1349, 1349, 1309, 1309,
+
+ 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 890, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1349, 1349, 1349, 1349, 1349,
+ 1309, 1309, 1309, 890, 1241, 1241, 1241, 1349, 1349, 1349,
+ 1309, 1309, 1309, 890, 1241, 1241, 1241, 1349, 1349, 1349,
+ 0, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241
} ;
static yyconst flex_int16_t yy_nxt[9611] =
@@ -898,1056 +904,1056 @@ static yyconst flex_int16_t yy_nxt[9611] =
47, 48, 47, 49, 50, 51, 47, 52, 53, 54,
55, 47, 47, 47, 47, 47, 56, 57, 22, 58,
58, 58, 58, 58, 58, 22, 22, 22, 22, 22,
- 22, 22, 22, 59, 22, 22, 60, 156, 491, 155,
- 60, 156, 184, 61, 23, 77, 492, 78, 23, 79,
- 182, 80, 23, 77, 1225, 78, 23, 79, 80, 80,
-
- 84, 85, 219, 86, 84, 87, 80, 88, 89, 165,
- 62, 63, 80, 81, 184, 64, 186, 191, 596, 184,
- 80, 81, 192, 65, 251, 188, 66, 67, 199, 187,
- 166, 67, 102, 24, 68, 25, 102, 103, 104, 82,
- 184, 69, 200, 189, 70, 195, 197, 82, 102, 24,
- 250, 25, 102, 103, 104, 90, 297, 167, 22, 258,
- 196, 43, 178, 178, 178, 178, 178, 179, 226, 71,
- 252, 72, 226, 73, 47, 221, 47, 84, 85, 155,
- 86, 84, 87, 74, 88, 89, 289, 105, 23, 24,
- 40, 25, 23, 129, 130, 378, 250, 243, 223, 75,
-
- 67, 243, 223, 105, 67, 171, 171, 68, 155, 256,
- 171, 171, 224, 160, 69, 330, 186, 70, 209, 184,
- 23, 24, 40, 25, 23, 129, 130, 210, 155, 187,
- 171, 22, 90, 290, 43, 246, 202, 278, 239, 246,
- 282, 278, 71, 131, 72, 218, 73, 47, 165, 47,
- 201, 202, 281, 239, 201, 172, 74, 177, 177, 177,
- 177, 177, 177, 177, 177, 177, 177, 211, 160, 263,
- 330, 211, 75, 23, 24, 131, 25, 23, 26, 154,
- 91, 176, 176, 176, 176, 176, 176, 176, 176, 176,
- 176, 254, 202, 155, 239, 254, 264, 479, 480, 291,
-
- 295, 212, 213, 209, 228, 228, 214, 257, 292, 228,
- 228, 257, 235, 312, 215, 225, 315, 216, 163, 163,
- 163, 163, 163, 163, 163, 163, 163, 163, 92, 228,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 23, 24,
- 294, 25, 23, 26, 229, 91, 155, 259, 260, 370,
- 261, 259, 256, 255, 274, 274, 274, 274, 274, 274,
- 274, 274, 274, 274, 275, 275, 275, 275, 275, 276,
- 1225, 1197, 273, 273, 273, 273, 273, 273, 273, 273,
- 273, 273, 201, 202, 289, 239, 201, 309, 309, 309,
-
- 309, 309, 310, 92, 154, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 23, 24, 165, 25, 23, 26, 95,
- 91, 312, 340, 202, 202, 155, 96, 97, 98, 303,
- 303, 290, 314, 342, 303, 303, 263, 294, 165, 343,
- 155, 380, 99, 308, 308, 308, 308, 308, 308, 308,
- 308, 308, 308, 156, 303, 490, 155, 156, 155, 1225,
- 155, 297, 371, 299, 155, 383, 389, 854, 100, 23,
- 24, 327, 25, 23, 26, 95, 91, 155, 297, 304,
- 328, 381, 96, 97, 98, 296, 264, 307, 307, 307,
-
- 307, 307, 307, 307, 307, 307, 307, 1225, 99, 163,
- 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
- 163, 163, 163, 163, 163, 163, 163, 163, 163, 201,
- 202, 685, 239, 201, 100, 40, 23, 24, 40, 25,
- 23, 26, 40, 40, 40, 106, 30, 31, 40, 107,
- 33, 40, 40, 108, 109, 110, 111, 109, 109, 109,
- 109, 109, 109, 109, 38, 112, 40, 40, 113, 114,
- 114, 114, 115, 116, 117, 117, 118, 117, 119, 120,
- 121, 117, 122, 117, 123, 117, 117, 117, 117, 117,
- 117, 92, 124, 40, 125, 125, 125, 125, 125, 125,
-
- 126, 126, 126, 126, 126, 126, 126, 126, 127, 126,
- 126, 132, 23, 24, 132, 25, 23, 26, 40, 40,
- 132, 133, 30, 31, 132, 134, 33, 132, 132, 135,
- 136, 137, 138, 136, 136, 136, 136, 136, 136, 136,
- 38, 39, 40, 132, 139, 140, 140, 140, 141, 142,
- 143, 143, 144, 143, 145, 146, 147, 143, 148, 143,
- 149, 143, 143, 143, 143, 143, 143, 150, 151, 132,
- 152, 152, 152, 152, 152, 152, 132, 132, 132, 132,
- 132, 132, 132, 132, 153, 132, 132, 160, 332, 161,
- 385, 333, 333, 333, 333, 333, 333, 333, 333, 333,
-
- 333, 162, 206, 412, 163, 163, 163, 163, 163, 163,
- 163, 163, 163, 163, 173, 155, 174, 174, 174, 174,
- 174, 174, 174, 174, 174, 174, 175, 258, 175, 382,
- 176, 176, 176, 176, 176, 176, 297, 386, 1093, 439,
- 155, 154, 154, 154, 154, 154, 378, 226, 154, 154,
- 290, 226, 154, 155, 379, 155, 176, 176, 176, 176,
- 176, 176, 154, 602, 653, 154, 154, 154, 154, 226,
- 243, 154, 154, 226, 243, 154, 154, 256, 154, 154,
- 154, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 175, 155, 297, 154, 183, 183, 183, 183, 183,
-
- 183, 184, 184, 184, 184, 185, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 155, 154,
- 184, 176, 176, 176, 176, 176, 176, 154, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 1225, 441,
- 1225, 330, 184, 184, 184, 184, 184, 184, 587, 160,
- 223, 330, 184, 206, 223, 390, 154, 171, 171, 390,
- 205, 368, 171, 171, 224, 160, 1225, 443, 154, 154,
- 154, 154, 154, 154, 201, 202, 1153, 203, 204, 154,
- 154, 154, 171, 155, 154, 154, 500, 1225, 154, 334,
-
- 335, 336, 334, 334, 334, 334, 334, 334, 334, 160,
- 297, 330, 154, 154, 154, 206, 440, 172, 369, 206,
- 206, 206, 295, 207, 264, 206, 206, 377, 340, 206,
- 164, 164, 164, 164, 164, 155, 155, 164, 164, 457,
- 463, 164, 444, 206, 206, 206, 338, 338, 338, 338,
- 338, 338, 155, 1225, 498, 164, 164, 164, 338, 338,
- 338, 338, 338, 338, 338, 338, 338, 338, 497, 155,
- 208, 160, 294, 161, 155, 168, 168, 168, 168, 168,
- 378, 155, 168, 168, 1225, 162, 168, 378, 163, 163,
- 163, 163, 163, 163, 163, 163, 163, 163, 588, 501,
-
- 168, 168, 168, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 338, 354, 355, 487, 488, 356, 489, 357,
- 358, 1225, 854, 359, 289, 360, 361, 201, 202, 211,
- 239, 201, 232, 211, 155, 154, 217, 232, 577, 231,
- 387, 232, 232, 232, 1225, 233, 386, 232, 232, 502,
- 155, 232, 163, 163, 163, 163, 163, 163, 163, 163,
- 163, 163, 687, 212, 213, 232, 232, 232, 214, 201,
- 202, 290, 239, 201, 201, 202, 215, 239, 201, 216,
- 340, 390, 155, 228, 228, 390, 1225, 388, 228, 228,
- 847, 457, 234, 238, 202, 249, 239, 238, 240, 249,
-
- 241, 249, 249, 580, 1225, 240, 257, 241, 228, 249,
- 257, 165, 595, 354, 355, 524, 525, 356, 526, 357,
- 358, 241, 241, 359, 249, 360, 201, 202, 155, 239,
- 201, 297, 1225, 229, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 549, 550, 552, 551, 241, 240,
- 160, 1225, 161, 259, 260, 206, 261, 259, 296, 264,
- 594, 256, 324, 437, 247, 603, 155, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 265, 576, 297,
- 265, 250, 160, 1093, 443, 171, 265, 265, 1225, 171,
- 265, 1225, 171, 265, 265, 262, 262, 262, 262, 171,
-
- 340, 155, 262, 262, 293, 599, 262, 267, 293, 265,
- 438, 461, 582, 171, 171, 395, 395, 395, 395, 395,
- 395, 262, 262, 391, 392, 393, 391, 391, 391, 391,
- 391, 391, 391, 268, 265, 265, 171, 1023, 441, 171,
- 443, 1225, 171, 171, 1225, 171, 171, 171, 171, 171,
- 385, 1225, 171, 171, 265, 265, 265, 265, 265, 294,
- 581, 265, 265, 591, 592, 265, 267, 171, 171, 395,
- 395, 395, 395, 395, 395, 395, 395, 395, 395, 265,
- 265, 265, 395, 395, 395, 395, 395, 395, 395, 395,
- 395, 395, 270, 171, 171, 267, 1225, 386, 271, 267,
-
- 272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
- 175, 267, 598, 1134, 273, 273, 273, 273, 273, 273,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 560, 560, 560,
- 273, 273, 273, 273, 273, 273, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 1225, 1225, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 1225,
- 1225, 1225, 691, 267, 267, 267, 267, 267, 267, 403,
- 404, 590, 583, 405, 609, 406, 407, 584, 1225, 408,
- 1225, 409, 420, 420, 420, 420, 420, 420, 692, 267,
-
- 267, 267, 267, 267, 267, 267, 155, 155, 597, 267,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 175, 267, 1164, 378, 277, 277, 277, 277, 277, 277,
- 278, 278, 278, 278, 279, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 1158, 703, 280,
- 273, 273, 273, 273, 273, 273, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 1225, 1225, 155,
- 155, 278, 278, 278, 278, 278, 278, 604, 619, 303,
- 303, 278, 694, 620, 303, 303, 420, 420, 420, 420,
-
- 420, 420, 420, 420, 420, 420, 1225, 267, 267, 267,
- 267, 267, 267, 305, 303, 306, 306, 306, 306, 306,
- 306, 306, 306, 306, 306, 175, 160, 589, 330, 307,
- 307, 307, 307, 307, 307, 630, 175, 528, 631, 304,
- 296, 296, 296, 296, 296, 578, 155, 296, 296, 578,
- 1225, 296, 297, 611, 1151, 307, 307, 307, 307, 307,
- 307, 296, 297, 297, 296, 296, 296, 296, 795, 655,
- 296, 296, 155, 579, 296, 296, 297, 296, 296, 296,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 175, 683, 608, 296, 311, 311, 311, 311, 311, 311,
-
- 312, 312, 312, 312, 313, 312, 312, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 312, 297, 296, 312,
- 307, 307, 307, 307, 307, 307, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 296, 296, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 312, 1225, 340, 654,
- 1225, 312, 312, 312, 312, 312, 312, 600, 696, 457,
- 601, 312, 416, 417, 418, 416, 416, 416, 416, 416,
- 416, 416, 201, 202, 1225, 239, 201, 296, 296, 296,
- 296, 296, 296, 201, 202, 297, 322, 323, 296, 296,
- 296, 640, 155, 296, 296, 593, 641, 296, 155, 297,
-
- 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
- 1225, 296, 296, 296, 206, 1225, 686, 1225, 206, 206,
- 206, 690, 325, 1225, 206, 206, 175, 297, 206, 298,
- 298, 298, 298, 298, 1225, 1225, 298, 298, 684, 688,
- 298, 699, 206, 206, 206, 569, 569, 569, 569, 569,
- 570, 184, 893, 155, 298, 298, 298, 689, 1225, 155,
- 300, 300, 300, 300, 300, 706, 340, 300, 300, 326,
- 171, 300, 610, 154, 170, 154, 154, 170, 695, 651,
- 154, 154, 652, 702, 170, 300, 300, 300, 333, 333,
- 333, 333, 333, 333, 333, 333, 333, 333, 170, 170,
-
- 154, 173, 1225, 337, 337, 337, 337, 337, 337, 337,
- 337, 337, 337, 175, 297, 1225, 155, 337, 337, 337,
- 337, 337, 337, 428, 429, 564, 340, 430, 585, 431,
- 432, 693, 585, 433, 1225, 434, 697, 566, 1225, 340,
- 155, 155, 1225, 337, 337, 337, 337, 337, 337, 154,
- 566, 585, 154, 710, 155, 585, 586, 700, 154, 154,
- 712, 1225, 154, 154, 701, 154, 154, 154, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 175, 586,
- 794, 154, 344, 344, 344, 344, 344, 344, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-
- 184, 184, 184, 184, 184, 155, 154, 184, 337, 337,
- 337, 337, 337, 337, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 1225, 184, 894, 705, 184,
- 184, 184, 184, 184, 184, 333, 333, 333, 333, 333,
- 333, 333, 333, 333, 333, 553, 554, 555, 553, 553,
- 553, 553, 553, 553, 553, 154, 154, 154, 154, 154,
- 154, 206, 704, 155, 1225, 206, 206, 206, 1225, 207,
- 228, 206, 206, 297, 228, 206, 1225, 228, 340, 758,
- 155, 155, 155, 340, 228, 698, 790, 755, 1023, 206,
-
- 206, 206, 1225, 711, 457, 155, 754, 1225, 228, 228,
- 503, 1225, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 160, 623, 330, 1225, 208, 228, 297, 1225,
- 154, 227, 154, 154, 227, 1225, 1225, 154, 154, 297,
- 503, 227, 505, 505, 505, 505, 505, 505, 505, 505,
- 505, 505, 617, 1225, 757, 227, 227, 154, 232, 756,
- 805, 621, 232, 232, 232, 1225, 233, 656, 232, 232,
- 943, 503, 232, 506, 506, 506, 506, 506, 507, 504,
- 504, 504, 504, 1225, 800, 1225, 232, 232, 232, 297,
- 303, 793, 297, 807, 303, 709, 444, 303, 445, 445,
-
- 445, 445, 445, 445, 303, 503, 155, 504, 504, 504,
- 504, 504, 504, 234, 265, 340, 1225, 265, 303, 303,
- 564, 340, 1225, 265, 265, 1225, 566, 265, 564, 340,
- 265, 265, 566, 829, 1127, 155, 155, 796, 830, 799,
- 673, 1225, 808, 882, 267, 1225, 265, 558, 558, 559,
- 560, 560, 560, 560, 560, 560, 560, 454, 568, 568,
- 568, 568, 568, 568, 568, 568, 568, 568, 884, 1225,
- 268, 265, 265, 171, 184, 1225, 171, 184, 1126, 171,
- 171, 885, 171, 171, 171, 171, 171, 801, 618, 171,
- 171, 1225, 802, 567, 567, 567, 567, 567, 567, 567,
-
- 567, 567, 567, 267, 171, 171, 612, 613, 614, 612,
- 612, 612, 612, 612, 612, 612, 503, 1225, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 155, 270,
- 171, 171, 271, 806, 394, 394, 394, 394, 394, 394,
- 394, 394, 394, 394, 175, 1225, 819, 1122, 394, 394,
- 394, 394, 394, 394, 503, 888, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 813, 184, 1121, 578,
- 1225, 340, 155, 578, 394, 394, 394, 394, 394, 394,
- 267, 155, 673, 814, 267, 396, 396, 396, 396, 396,
- 396, 396, 396, 396, 396, 175, 267, 579, 900, 396,
-
- 396, 396, 396, 396, 396, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 184, 970, 280, 394, 394, 394, 394, 394,
- 394, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 1225, 155, 155, 1120, 278, 278, 278, 278,
- 278, 278, 1225, 184, 818, 820, 1225, 890, 1225, 1225,
- 1063, 155, 1225, 1225, 528, 736, 529, 529, 529, 529,
- 529, 529, 267, 267, 267, 267, 267, 267, 303, 895,
- 1225, 296, 302, 296, 296, 302, 1225, 1225, 296, 296,
-
- 842, 297, 302, 312, 622, 843, 624, 923, 160, 625,
- 330, 1063, 846, 297, 297, 184, 302, 302, 296, 305,
- 892, 419, 419, 419, 419, 419, 419, 419, 419, 419,
- 419, 175, 889, 1111, 184, 419, 419, 419, 419, 419,
- 419, 340, 340, 585, 578, 1225, 891, 585, 578, 1225,
- 1225, 585, 566, 673, 1225, 585, 155, 184, 297, 899,
- 1110, 419, 419, 419, 419, 419, 419, 296, 817, 184,
- 296, 586, 579, 1225, 184, 887, 296, 296, 1225, 586,
- 296, 296, 340, 296, 296, 296, 421, 421, 421, 421,
- 421, 421, 421, 421, 421, 421, 175, 628, 626, 296,
-
- 421, 421, 421, 421, 421, 421, 312, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
- 312, 312, 312, 297, 296, 312, 419, 419, 419, 419,
- 419, 419, 296, 296, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 312, 312, 312, 312, 312, 312, 312,
- 312, 312, 312, 1225, 564, 340, 943, 312, 312, 312,
- 312, 312, 312, 1225, 1225, 155, 673, 1225, 1225, 635,
- 636, 637, 635, 635, 635, 635, 635, 635, 635, 914,
- 160, 1107, 330, 296, 296, 296, 296, 296, 296, 206,
- 278, 1225, 1225, 206, 206, 206, 155, 325, 911, 206,
-
- 206, 564, 340, 206, 1225, 340, 297, 312, 629, 278,
- 278, 928, 627, 780, 901, 910, 780, 206, 206, 206,
- 662, 662, 662, 662, 662, 662, 662, 662, 662, 662,
- 454, 667, 668, 669, 667, 667, 667, 667, 667, 667,
- 667, 898, 856, 974, 326, 444, 184, 445, 445, 445,
- 445, 445, 445, 445, 445, 445, 445, 575, 575, 575,
- 575, 575, 575, 575, 575, 575, 575, 564, 340, 671,
- 671, 671, 671, 671, 671, 278, 312, 312, 1004, 566,
- 915, 927, 925, 312, 155, 444, 1014, 446, 446, 446,
- 446, 446, 446, 446, 446, 446, 446, 675, 675, 675,
-
- 675, 675, 675, 675, 675, 675, 675, 676, 676, 676,
- 676, 676, 677, 759, 760, 761, 759, 759, 759, 759,
- 759, 759, 759, 1079, 155, 444, 926, 447, 447, 447,
- 447, 447, 448, 445, 445, 445, 445, 1225, 312, 674,
- 674, 674, 674, 674, 674, 674, 674, 674, 674, 713,
- 155, 714, 714, 714, 714, 714, 714, 714, 714, 714,
- 714, 184, 917, 968, 155, 449, 449, 449, 449, 449,
- 449, 449, 449, 449, 449, 175, 564, 340, 1072, 449,
- 449, 449, 449, 449, 449, 713, 929, 715, 715, 715,
- 715, 715, 715, 715, 715, 715, 715, 312, 312, 1052,
-
- 297, 1053, 155, 930, 297, 449, 449, 449, 449, 449,
- 449, 451, 452, 453, 453, 453, 453, 453, 453, 453,
- 453, 454, 931, 1225, 340, 455, 455, 455, 455, 455,
- 455, 713, 854, 716, 716, 716, 716, 716, 717, 714,
- 714, 714, 714, 1225, 856, 1006, 1071, 1225, 312, 1042,
- 184, 455, 455, 455, 455, 455, 455, 340, 458, 459,
- 460, 458, 458, 458, 458, 458, 458, 458, 461, 184,
- 1047, 1225, 462, 462, 462, 462, 462, 462, 1225, 155,
- 1225, 1225, 1225, 1225, 1225, 1225, 340, 1225, 783, 783,
- 783, 783, 783, 784, 340, 718, 985, 673, 462, 462,
-
- 462, 462, 462, 462, 154, 780, 1225, 154, 1225, 1225,
- 1069, 1225, 719, 154, 154, 722, 724, 154, 154, 728,
- 154, 154, 154, 464, 464, 464, 464, 464, 464, 464,
- 464, 464, 464, 175, 312, 1081, 154, 464, 464, 464,
- 464, 464, 464, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 155, 154, 184, 449, 449, 449, 449, 449, 449, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 1225, 1225, 155, 973, 184, 184, 184, 184, 184, 184,
-
- 1225, 1225, 155, 856, 1225, 1225, 184, 1225, 966, 1046,
- 1225, 1225, 184, 1225, 1225, 1225, 1113, 1225, 1053, 1225,
- 154, 154, 154, 154, 154, 154, 206, 854, 1225, 1225,
- 206, 206, 206, 980, 207, 1225, 206, 206, 1225, 856,
- 206, 1225, 723, 1225, 995, 729, 184, 564, 340, 726,
- 564, 340, 1225, 340, 206, 206, 206, 278, 725, 780,
- 1048, 727, 873, 184, 873, 656, 730, 657, 657, 657,
- 657, 657, 657, 564, 340, 778, 778, 778, 778, 778,
- 778, 208, 206, 854, 1005, 673, 206, 206, 206, 206,
- 368, 1225, 206, 206, 340, 943, 206, 312, 791, 160,
-
- 1049, 330, 791, 943, 155, 780, 1070, 184, 1008, 278,
- 206, 206, 206, 771, 1045, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 771, 792, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 208, 232, 340,
- 564, 340, 232, 232, 232, 953, 233, 155, 232, 232,
- 873, 771, 232, 774, 774, 774, 774, 774, 775, 772,
- 772, 772, 772, 1178, 1054, 1179, 232, 232, 232, 682,
- 682, 682, 682, 682, 682, 682, 682, 682, 682, 782,
- 782, 782, 782, 782, 782, 782, 782, 782, 782, 184,
- 1112, 797, 803, 234, 232, 797, 803, 1008, 232, 232,
-
- 232, 232, 387, 1080, 232, 232, 312, 1225, 232, 781,
- 781, 781, 781, 781, 781, 781, 781, 781, 781, 798,
- 804, 856, 232, 232, 232, 713, 765, 714, 714, 714,
- 714, 714, 714, 809, 811, 297, 155, 809, 811, 821,
- 822, 823, 821, 821, 821, 821, 821, 821, 821, 234,
- 508, 508, 508, 508, 508, 508, 508, 508, 508, 508,
- 175, 810, 812, 1007, 508, 508, 508, 508, 508, 508,
- 713, 155, 714, 714, 714, 714, 714, 714, 714, 714,
- 714, 714, 1039, 312, 1128, 791, 564, 340, 340, 791,
- 508, 508, 508, 508, 508, 508, 267, 1003, 873, 873,
-
- 267, 509, 509, 509, 509, 509, 509, 509, 509, 509,
- 509, 175, 267, 792, 997, 509, 509, 509, 509, 509,
- 509, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 996, 994,
- 280, 508, 508, 508, 508, 508, 508, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 1225, 1196,
- 993, 1179, 278, 278, 278, 278, 278, 278, 713, 902,
- 714, 714, 714, 714, 714, 714, 714, 714, 714, 714,
- 1225, 797, 1225, 1225, 1225, 797, 1225, 1225, 267, 267,
-
- 267, 267, 267, 267, 528, 854, 529, 529, 529, 529,
- 529, 529, 529, 529, 529, 529, 155, 943, 1225, 798,
- 1225, 1225, 1082, 982, 854, 312, 824, 1225, 803, 1225,
- 1225, 809, 803, 1225, 1225, 809, 1023, 827, 811, 1023,
- 828, 791, 811, 297, 528, 791, 530, 530, 530, 530,
- 530, 530, 530, 530, 530, 530, 804, 1225, 1225, 810,
- 859, 859, 859, 859, 859, 860, 812, 981, 797, 792,
- 854, 155, 797, 736, 832, 737, 737, 737, 737, 737,
- 737, 831, 1023, 297, 528, 854, 531, 531, 531, 531,
- 531, 532, 529, 529, 529, 529, 798, 1093, 184, 834,
-
- 835, 836, 834, 834, 834, 834, 834, 834, 834, 803,
- 809, 811, 297, 803, 809, 811, 876, 876, 876, 876,
- 876, 877, 975, 297, 296, 969, 533, 533, 533, 533,
- 533, 533, 533, 533, 533, 533, 297, 804, 810, 812,
- 533, 533, 533, 533, 533, 533, 770, 770, 770, 770,
- 770, 770, 770, 770, 770, 770, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 533, 533, 533, 533,
- 533, 533, 534, 534, 534, 534, 534, 534, 534, 534,
- 534, 534, 1073, 248, 248, 248, 534, 534, 534, 534,
- 534, 534, 1225, 765, 857, 857, 857, 857, 857, 857,
-
- 857, 857, 857, 857, 771, 1073, 772, 772, 772, 772,
- 772, 772, 533, 533, 533, 533, 533, 533, 206, 1225,
- 562, 297, 206, 206, 206, 924, 325, 916, 206, 206,
- 913, 1093, 206, 866, 867, 868, 866, 866, 866, 866,
- 866, 866, 866, 160, 297, 330, 206, 206, 206, 771,
- 912, 772, 772, 772, 772, 772, 772, 772, 772, 772,
- 772, 771, 1129, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 326, 206, 854, 1159, 1186, 206, 206,
- 206, 206, 437, 909, 206, 206, 908, 1093, 206, 789,
- 789, 789, 789, 789, 789, 789, 789, 789, 789, 897,
-
- 896, 155, 206, 206, 206, 564, 340, 871, 871, 871,
- 871, 871, 871, 1114, 184, 297, 155, 780, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875, 886, 326,
- 444, 771, 445, 445, 445, 445, 445, 445, 445, 445,
- 445, 445, 1225, 765, 874, 874, 874, 874, 874, 874,
- 874, 874, 874, 874, 791, 797, 803, 809, 791, 797,
- 803, 809, 811, 986, 983, 160, 811, 330, 983, 155,
- 444, 562, 445, 445, 445, 445, 445, 445, 445, 445,
- 445, 445, 792, 798, 804, 810, 986, 454, 986, 986,
- 812, 902, 903, 903, 903, 903, 903, 903, 903, 903,
-
- 903, 903, 946, 946, 946, 946, 946, 947, 297, 155,
- 564, 340, 565, 565, 565, 565, 565, 565, 565, 565,
- 565, 565, 566, 297, 297, 984, 567, 567, 567, 567,
- 567, 567, 902, 904, 904, 904, 904, 904, 904, 904,
- 904, 904, 904, 964, 964, 964, 964, 964, 965, 297,
- 845, 1202, 567, 567, 567, 567, 567, 567, 340, 571,
- 572, 573, 571, 571, 571, 571, 571, 571, 571, 574,
- 986, 844, 841, 575, 575, 575, 575, 575, 575, 902,
- 905, 905, 905, 905, 905, 906, 903, 903, 903, 903,
- 297, 180, 180, 986, 840, 986, 987, 180, 839, 575,
-
- 575, 575, 575, 575, 575, 154, 838, 971, 154, 1051,
- 1052, 971, 1053, 1051, 154, 154, 837, 833, 154, 154,
- 155, 154, 154, 154, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 175, 972, 826, 154, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 155, 154, 184, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 615, 615, 615, 615, 615, 615, 615, 615, 615,
- 615, 175, 248, 248, 248, 615, 615, 615, 615, 615,
-
- 615, 1026, 1026, 1026, 1026, 1026, 1027, 932, 933, 934,
- 935, 932, 932, 932, 932, 932, 932, 1172, 1172, 1172,
- 1172, 615, 615, 615, 615, 615, 615, 267, 825, 713,
- 816, 267, 616, 616, 616, 616, 616, 616, 616, 616,
- 616, 616, 175, 267, 155, 815, 616, 616, 616, 616,
- 616, 616, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 155,
- 155, 280, 615, 615, 615, 615, 615, 615, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 578,
- 155, 155, 1225, 578, 847, 848, 848, 848, 848, 848,
-
- 848, 976, 978, 765, 562, 976, 978, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 579, 454, 454,
- 753, 278, 278, 278, 278, 278, 278, 752, 751, 977,
- 979, 750, 155, 937, 938, 939, 937, 937, 937, 937,
- 937, 937, 937, 749, 748, 747, 746, 267, 267, 267,
- 267, 267, 267, 528, 745, 529, 529, 529, 529, 529,
- 529, 529, 529, 529, 529, 865, 865, 865, 865, 865,
- 865, 865, 865, 865, 865, 854, 744, 941, 941, 941,
- 941, 941, 941, 1106, 1106, 1051, 1052, 856, 1053, 1051,
- 1106, 743, 297, 528, 742, 529, 529, 529, 529, 529,
-
- 529, 529, 529, 529, 529, 945, 945, 945, 945, 945,
- 945, 945, 945, 945, 945, 1225, 741, 944, 944, 944,
- 944, 944, 944, 944, 944, 944, 944, 735, 734, 733,
- 1043, 732, 297, 656, 1043, 657, 657, 657, 657, 657,
- 657, 657, 657, 657, 657, 953, 731, 954, 954, 954,
- 954, 954, 954, 954, 954, 954, 954, 953, 1044, 955,
- 955, 955, 955, 955, 955, 955, 955, 955, 955, 721,
- 720, 1225, 155, 656, 1225, 658, 658, 658, 658, 658,
- 658, 658, 658, 658, 658, 953, 491, 956, 956, 956,
- 956, 956, 957, 954, 954, 954, 954, 881, 881, 881,
-
- 881, 881, 881, 881, 881, 881, 881, 1040, 180, 180,
- 708, 1040, 155, 656, 180, 659, 659, 659, 659, 659,
- 660, 657, 657, 657, 657, 564, 340, 960, 960, 960,
- 960, 960, 960, 707, 1225, 1041, 665, 873, 963, 963,
- 963, 963, 963, 963, 963, 963, 963, 963, 562, 454,
- 661, 454, 155, 564, 340, 671, 671, 671, 671, 671,
- 671, 671, 671, 671, 671, 566, 181, 650, 649, 670,
- 670, 670, 670, 670, 670, 1225, 648, 962, 962, 962,
- 962, 962, 962, 962, 962, 962, 962, 971, 976, 647,
- 646, 971, 976, 645, 644, 670, 670, 670, 670, 670,
-
- 670, 564, 340, 672, 672, 672, 672, 672, 672, 672,
- 672, 672, 672, 673, 643, 972, 977, 674, 674, 674,
- 674, 674, 674, 988, 989, 990, 991, 988, 988, 988,
- 988, 988, 988, 642, 978, 971, 184, 184, 978, 971,
- 639, 638, 175, 674, 674, 674, 674, 674, 674, 340,
- 678, 679, 680, 678, 678, 678, 678, 678, 678, 678,
- 681, 634, 979, 972, 682, 682, 682, 682, 682, 682,
- 902, 903, 903, 903, 903, 903, 903, 903, 903, 903,
- 903, 633, 1056, 184, 278, 632, 1056, 1057, 1058, 1059,
- 682, 682, 682, 682, 682, 682, 736, 503, 737, 737,
-
- 737, 737, 737, 737, 737, 737, 737, 737, 902, 903,
- 903, 903, 903, 903, 903, 903, 903, 903, 903, 902,
- 903, 903, 903, 903, 903, 903, 491, 607, 976, 1043,
- 1108, 491, 976, 1043, 1108, 297, 736, 1060, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 738, 953, 606,
- 954, 954, 954, 954, 954, 954, 977, 1044, 1109, 491,
- 978, 605, 1225, 1225, 978, 998, 999, 1000, 1001, 998,
- 998, 998, 998, 998, 998, 297, 736, 278, 739, 739,
- 739, 739, 739, 740, 737, 737, 737, 737, 979, 454,
- 917, 918, 918, 918, 918, 918, 918, 562, 454, 181,
-
- 548, 971, 297, 976, 978, 971, 1108, 976, 978, 278,
- 1108, 339, 339, 547, 546, 297, 656, 339, 657, 657,
- 657, 657, 657, 657, 657, 657, 657, 657, 297, 972,
- 545, 977, 979, 1014, 1109, 1015, 1015, 1015, 1015, 1015,
- 1015, 1015, 1015, 1015, 1015, 1152, 160, 544, 330, 1152,
- 312, 1195, 312, 312, 543, 155, 656, 1195, 657, 657,
- 657, 657, 657, 657, 657, 657, 657, 657, 1014, 542,
- 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016,
- 1014, 541, 1017, 1017, 1017, 1017, 1017, 1018, 1015, 1015,
- 1015, 1015, 540, 539, 538, 155, 766, 767, 768, 766,
-
- 766, 766, 766, 766, 766, 766, 769, 537, 536, 535,
- 770, 770, 770, 770, 770, 770, 952, 952, 952, 952,
- 952, 952, 952, 952, 952, 952, 1025, 1025, 1025, 1025,
- 1025, 1025, 1025, 1025, 1025, 1025, 770, 770, 770, 770,
- 770, 770, 564, 340, 778, 778, 778, 778, 778, 778,
- 778, 778, 778, 778, 673, 305, 527, 523, 777, 777,
- 777, 777, 777, 777, 854, 522, 1021, 1021, 1021, 1021,
- 1021, 1021, 521, 520, 519, 1014, 943, 1015, 1015, 1015,
- 1015, 1015, 1015, 518, 777, 777, 777, 777, 777, 777,
- 564, 340, 779, 779, 779, 779, 779, 779, 779, 779,
-
- 779, 779, 780, 517, 516, 515, 781, 781, 781, 781,
- 781, 781, 1225, 514, 1024, 1024, 1024, 1024, 1024, 1024,
- 1024, 1024, 1024, 1024, 564, 340, 1038, 1038, 1038, 1038,
- 1038, 1038, 781, 781, 781, 781, 781, 781, 340, 785,
- 786, 787, 785, 785, 785, 785, 785, 785, 785, 788,
- 513, 512, 511, 789, 789, 789, 789, 789, 789, 1033,
- 1034, 1035, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 510,
- 1149, 1056, 271, 499, 1149, 1056, 1057, 1058, 1059, 789,
- 789, 789, 789, 789, 789, 736, 496, 737, 737, 737,
- 737, 737, 737, 737, 737, 737, 737, 953, 1150, 954,
-
- 954, 954, 954, 954, 954, 954, 954, 954, 954, 953,
- 495, 954, 954, 954, 954, 954, 954, 954, 954, 954,
- 954, 494, 493, 486, 297, 736, 1062, 737, 737, 737,
- 737, 737, 737, 737, 737, 737, 737, 1086, 1087, 1088,
- 1086, 1086, 1086, 1086, 1086, 1086, 1086, 485, 1040, 1043,
- 484, 1040, 1040, 1043, 1008, 1040, 1009, 1009, 1009, 1009,
- 1009, 1009, 483, 482, 297, 847, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 1041, 1044, 1063, 1041,
- 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
- 481, 1177, 1178, 155, 1179, 1177, 280, 184, 184, 280,
-
- 278, 280, 478, 155, 847, 849, 849, 849, 849, 849,
- 849, 849, 849, 849, 849, 1063, 477, 1065, 1065, 1065,
- 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1063, 476, 1066,
- 1066, 1066, 1066, 1066, 1067, 1068, 1068, 1068, 1068, 475,
- 474, 473, 155, 847, 850, 850, 850, 850, 850, 851,
- 848, 848, 848, 848, 1063, 472, 1068, 1068, 1068, 1064,
- 1064, 1064, 1064, 1064, 1064, 1064, 471, 1040, 1043, 470,
- 469, 1040, 1043, 1096, 1096, 1096, 1096, 1096, 1097, 468,
- 467, 155, 854, 466, 855, 855, 855, 855, 855, 855,
- 855, 855, 855, 855, 856, 1041, 1044, 465, 857, 857,
-
- 857, 857, 857, 857, 1083, 1084, 1085, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1108, 1108, 312, 312, 1108, 1108,
- 181, 173, 297, 436, 857, 857, 857, 857, 857, 857,
- 861, 862, 863, 861, 861, 861, 861, 861, 861, 861,
- 864, 155, 1109, 1109, 865, 865, 865, 865, 865, 865,
- 1014, 435, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
- 1015, 1015, 1225, 184, 312, 427, 1225, 1225, 1225, 1225,
- 865, 865, 865, 865, 865, 865, 564, 340, 871, 871,
- 871, 871, 871, 871, 871, 871, 871, 871, 780, 426,
- 425, 424, 870, 870, 870, 870, 870, 870, 1014, 423,
-
- 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
- 1145, 1145, 1145, 1145, 1145, 1146, 422, 1060, 870, 870,
- 870, 870, 870, 870, 564, 340, 872, 872, 872, 872,
- 872, 872, 872, 872, 872, 872, 873, 296, 415, 301,
- 874, 874, 874, 874, 874, 874, 1032, 1032, 1032, 1032,
- 1032, 1032, 1032, 1032, 1032, 1032, 1095, 1095, 1095, 1095,
- 1095, 1095, 1095, 1095, 1095, 1095, 874, 874, 874, 874,
- 874, 874, 340, 878, 879, 880, 878, 878, 878, 878,
- 878, 878, 878, 299, 297, 294, 414, 881, 881, 881,
- 881, 881, 881, 854, 413, 1091, 1091, 1091, 1091, 1091,
-
- 1091, 411, 410, 402, 1063, 1023, 1064, 1064, 1064, 1064,
- 1064, 1064, 401, 881, 881, 881, 881, 881, 881, 154,
- 1225, 280, 154, 1055, 280, 400, 280, 399, 154, 154,
- 1055, 1055, 154, 154, 1055, 154, 154, 154, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 1055, 1055,
- 1055, 154, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 883, 184, 184, 184,
- 184, 184, 184, 184, 184, 155, 154, 184, 154, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 154, 154, 267, 398, 397, 1225, 267,
-
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 268, 267, 260, 255, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 907, 278,
- 278, 278, 278, 278, 278, 278, 278, 256, 250, 280,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 917, 918, 918,
- 918, 918, 918, 918, 918, 918, 918, 918, 1225, 250,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 340, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102,
- 1102, 244, 202, 237, 155, 297, 917, 919, 919, 919,
-
- 919, 919, 919, 919, 919, 919, 919, 340, 1103, 1103,
- 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 340, 1104,
- 1104, 1104, 1104, 1104, 1105, 1102, 1102, 1102, 1102, 1147,
- 384, 376, 375, 1147, 297, 917, 920, 920, 920, 920,
- 920, 921, 918, 918, 918, 918, 374, 1147, 1056, 373,
- 372, 1147, 1056, 1057, 1058, 1059, 1115, 1148, 155, 1116,
- 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 367,
- 366, 365, 364, 297, 296, 1148, 1149, 296, 184, 363,
- 1149, 362, 353, 296, 296, 352, 351, 296, 296, 350,
- 296, 296, 296, 312, 312, 312, 312, 312, 312, 312,
-
- 312, 312, 312, 1060, 1150, 349, 296, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
- 312, 922, 312, 312, 312, 312, 312, 312, 312, 312,
- 297, 296, 312, 296, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
- 847, 848, 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 1225, 1172, 348, 1172, 1225, 1057, 1058, 1059, 1225,
- 1172, 347, 346, 1225, 1225, 1225, 1059, 1117, 1118, 1119,
- 1117, 1117, 1117, 1117, 1117, 1117, 1117, 345, 155, 847,
- 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
-
- 1225, 181, 154, 181, 1225, 1225, 1225, 1225, 340, 1102,
- 1102, 1102, 1102, 1102, 1102, 1073, 1060, 1074, 1074, 1074,
- 1074, 1074, 1074, 270, 1060, 169, 167, 155, 854, 160,
- 941, 941, 941, 941, 941, 941, 941, 941, 941, 941,
- 856, 854, 158, 942, 942, 942, 942, 942, 942, 942,
- 942, 942, 942, 943, 297, 1062, 155, 944, 944, 944,
- 944, 944, 944, 1063, 321, 1064, 1064, 1064, 1064, 1064,
- 1064, 1064, 1064, 1064, 1064, 1134, 320, 1135, 1135, 1135,
- 1135, 1135, 1135, 944, 944, 944, 944, 944, 944, 948,
- 949, 950, 948, 948, 948, 948, 948, 948, 948, 951,
-
- 319, 318, 317, 952, 952, 952, 952, 952, 952, 1063,
- 316, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
- 1064, 1149, 1147, 312, 301, 1149, 1147, 297, 294, 952,
- 952, 952, 952, 952, 952, 564, 340, 960, 960, 960,
- 960, 960, 960, 960, 960, 960, 960, 873, 288, 1150,
- 1148, 959, 959, 959, 959, 959, 959, 287, 1123, 1124,
- 1125, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1174, 1174,
- 184, 278, 1174, 1174, 286, 285, 284, 959, 959, 959,
- 959, 959, 959, 564, 340, 961, 961, 961, 961, 961,
- 961, 961, 961, 961, 961, 297, 1175, 1175, 283, 962,
-
- 962, 962, 962, 962, 962, 1177, 1178, 1225, 1179, 1177,
- 1061, 1147, 278, 450, 450, 1147, 256, 1061, 1061, 450,
- 250, 1061, 244, 157, 237, 962, 962, 962, 962, 962,
- 962, 154, 556, 556, 154, 1061, 1061, 1061, 556, 1148,
- 154, 154, 157, 195, 154, 154, 230, 154, 154, 154,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 312, 192, 222, 154, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
- 184, 967, 184, 184, 184, 184, 184, 155, 154, 184,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
-
- 154, 154, 154, 154, 154, 154, 154, 267, 220, 198,
- 197, 267, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 194, 267, 193, 190, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 992, 278, 278, 278, 278, 278, 184,
- 181, 280, 267, 267, 267, 267, 267, 267, 267, 267,
- 267, 267, 267, 267, 267, 267, 267, 267, 267, 917,
- 918, 918, 918, 918, 918, 918, 918, 918, 918, 918,
- 1134, 169, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
- 1135, 1135, 1134, 158, 1136, 1136, 1136, 1136, 1136, 1136,
-
- 1136, 1136, 1136, 1136, 157, 155, 1225, 297, 917, 918,
- 918, 918, 918, 918, 918, 918, 918, 918, 918, 1134,
- 1225, 1137, 1137, 1137, 1137, 1137, 1138, 1135, 1135, 1135,
- 1135, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101,
- 1101, 1225, 557, 557, 1225, 1225, 297, 296, 557, 1225,
- 296, 1225, 561, 561, 1225, 1225, 296, 296, 561, 1225,
- 296, 296, 1225, 296, 296, 296, 312, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 1225, 1225, 1225, 296,
- 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
- 312, 312, 312, 312, 312, 312, 312, 1002, 312, 312,
-
- 312, 312, 312, 297, 296, 312, 296, 296, 296, 296,
- 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
- 296, 296, 296, 1008, 1225, 1009, 1009, 1009, 1009, 1009,
- 1009, 1009, 1009, 1009, 1009, 854, 1225, 1141, 1141, 1141,
- 1141, 1141, 1141, 1225, 1225, 1225, 1225, 1093, 1144, 1144,
- 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 661, 661,
- 1225, 1225, 155, 1008, 661, 1010, 1010, 1010, 1010, 1010,
- 1010, 1010, 1010, 1010, 1010, 1225, 1225, 1143, 1143, 1143,
- 1143, 1143, 1143, 1143, 1143, 1143, 1143, 340, 1102, 1102,
- 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 663, 663,
-
- 1225, 1225, 155, 1008, 663, 1011, 1011, 1011, 1011, 1011,
- 1012, 1013, 1013, 1013, 1013, 340, 1102, 1102, 1102, 1102,
- 1102, 1102, 1102, 1102, 1102, 1102, 1116, 1116, 1116, 1116,
- 1116, 1116, 1116, 1116, 1116, 1116, 1191, 1191, 1191, 1191,
- 1191, 1191, 155, 1008, 1225, 1013, 1013, 1013, 1009, 1009,
- 1009, 1009, 1009, 1009, 1009, 1116, 1116, 1116, 1116, 1116,
- 1116, 1116, 1116, 1116, 1116, 1153, 1225, 1154, 1154, 1154,
- 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1225, 664, 664,
- 1225, 1225, 155, 854, 664, 1021, 1021, 1021, 1021, 1021,
- 1021, 1021, 1021, 1021, 1021, 943, 854, 1225, 1022, 1022,
-
- 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1023, 1225,
- 1225, 1225, 1024, 1024, 1024, 1024, 1024, 1024, 1153, 1225,
- 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
- 1153, 1225, 1154, 1154, 1154, 1154, 1154, 1154, 1024, 1024,
- 1024, 1024, 1024, 1024, 1028, 1029, 1030, 1028, 1028, 1028,
- 1028, 1028, 1028, 1028, 1031, 1225, 1225, 1225, 1032, 1032,
- 1032, 1032, 1032, 1032, 1153, 1225, 1156, 1156, 1156, 1156,
- 1156, 1157, 1154, 1154, 1154, 1154, 1197, 1225, 1198, 1198,
- 1198, 1198, 1198, 1198, 1032, 1032, 1032, 1032, 1032, 1032,
- 564, 340, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
-
- 1038, 1038, 1073, 1225, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1225, 1149, 1225, 1225, 1225, 1149,
- 1165, 1166, 1167, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
- 1129, 1225, 1130, 1130, 1130, 1130, 1130, 1130, 1225, 1225,
- 1225, 297, 1073, 1150, 1075, 1075, 1075, 1075, 1075, 1075,
- 1075, 1075, 1075, 1075, 1225, 1225, 1159, 155, 1160, 1160,
- 1160, 1160, 1160, 1160, 312, 1225, 1225, 1225, 1225, 155,
- 1168, 1169, 1170, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
- 1225, 297, 1073, 1225, 1076, 1076, 1076, 1076, 1076, 1077,
- 1078, 1078, 1078, 1078, 1134, 297, 1135, 1135, 1135, 1135,
-
- 1135, 1135, 1135, 1135, 1135, 1135, 1134, 1225, 1135, 1135,
- 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1225, 1225,
- 1225, 297, 1073, 1225, 1078, 1078, 1078, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 854, 1225, 1173, 1173, 1173, 1173,
- 1173, 1173, 1173, 1173, 1173, 1173, 1174, 1225, 1225, 1225,
- 1174, 1180, 1181, 1182, 1180, 1180, 1180, 1180, 1180, 1180,
- 1180, 297, 1008, 1225, 1009, 1009, 1009, 1009, 1009, 1009,
- 1009, 1009, 1009, 1009, 1175, 1153, 1225, 1154, 1154, 1154,
- 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1186, 1225, 1187,
- 1187, 1187, 1187, 1187, 1187, 184, 1225, 762, 762, 1225,
-
- 1225, 155, 1008, 762, 1009, 1009, 1009, 1009, 1009, 1009,
- 1009, 1009, 1009, 1009, 1153, 1225, 1154, 1154, 1154, 1154,
- 1154, 1154, 1154, 1154, 1154, 1154, 155, 1225, 1225, 1225,
- 1225, 1183, 1184, 1185, 1183, 1183, 1183, 1183, 1183, 1183,
- 1183, 155, 854, 1225, 1091, 1091, 1091, 1091, 1091, 1091,
- 1091, 1091, 1091, 1091, 1023, 854, 1225, 1092, 1092, 1092,
- 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1093, 297, 1225,
- 1225, 1094, 1094, 1094, 1094, 1094, 1094, 1202, 1225, 1203,
- 1203, 1203, 1203, 1203, 1203, 1174, 1225, 1225, 1225, 1174,
- 1219, 1219, 1219, 1219, 1219, 1219, 1225, 1094, 1094, 1094,
-
- 1094, 1094, 1094, 1098, 1099, 1100, 1098, 1098, 1098, 1098,
- 1098, 1098, 1098, 1175, 1225, 1225, 297, 1101, 1101, 1101,
- 1101, 1101, 1101, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
- 1191, 1191, 1191, 1225, 312, 763, 763, 280, 1225, 1225,
- 280, 763, 280, 1101, 1101, 1101, 1101, 1101, 1101, 1073,
- 1225, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
- 1192, 1193, 1193, 1193, 1193, 1193, 1194, 1191, 1191, 1191,
- 1191, 764, 764, 1225, 852, 852, 1225, 764, 297, 1073,
- 852, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
-
- 1074, 1197, 1225, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
- 1198, 1198, 1198, 1197, 1225, 1199, 1199, 1199, 1199, 1199,
- 1199, 1199, 1199, 1199, 1199, 1225, 1225, 1225, 297, 1129,
- 1225, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
- 1130, 1197, 1225, 1200, 1200, 1200, 1200, 1200, 1201, 1198,
- 1198, 1198, 1198, 1207, 1208, 1209, 1207, 1207, 1207, 1207,
- 1207, 1207, 1207, 1225, 853, 853, 1225, 1225, 155, 1129,
- 853, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
- 1131, 936, 936, 280, 1225, 1225, 280, 936, 280, 1225,
- 155, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
-
- 1191, 1019, 1019, 1225, 1089, 1089, 1225, 1019, 155, 1129,
- 1089, 1132, 1132, 1132, 1132, 1132, 1133, 1130, 1130, 1130,
- 1130, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
- 1191, 1210, 1211, 1212, 1210, 1210, 1210, 1210, 1210, 1210,
- 1210, 1139, 1139, 1225, 1171, 1171, 1225, 1139, 155, 854,
- 1171, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
- 1141, 1093, 854, 1225, 1142, 1142, 1142, 1142, 1142, 1142,
- 1142, 1142, 1142, 1142, 1225, 1225, 1225, 1225, 1143, 1143,
- 1143, 1143, 1143, 1143, 1197, 1225, 1198, 1198, 1198, 1198,
- 1198, 1198, 1198, 1198, 1198, 1198, 1225, 1225, 1225, 1225,
-
- 1225, 1225, 1225, 1225, 1143, 1143, 1143, 1143, 1143, 1143,
- 1159, 1225, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
- 1160, 1160, 1197, 1225, 1198, 1198, 1198, 1198, 1198, 1198,
- 1198, 1198, 1198, 1198, 1213, 1214, 1215, 1213, 1213, 1213,
- 1213, 1213, 1213, 1213, 1225, 1225, 1225, 1225, 1225, 297,
- 1159, 1225, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
- 1161, 1161, 1225, 1225, 1225, 1216, 1216, 1216, 1216, 1216,
- 1216, 297, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
- 1216, 1216, 1225, 1222, 1222, 1222, 1222, 1222, 1222, 297,
- 1159, 1225, 1162, 1162, 1162, 1162, 1162, 1163, 1160, 1160,
-
- 1160, 1160, 155, 1225, 1225, 1225, 1225, 1225, 1225, 155,
- 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
- 297, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297,
- 1129, 1225, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
- 1130, 1130, 1225, 1225, 1225, 1225, 1225, 155, 1217, 1217,
- 1217, 1217, 1217, 1218, 1216, 1216, 1216, 1216, 1219, 1219,
- 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1225, 155,
- 1129, 1225, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
- 1130, 1130, 1225, 1225, 1225, 155, 1210, 1210, 1210, 1210,
- 1210, 1210, 1210, 1210, 1210, 1210, 1220, 1220, 1220, 1220,
-
- 1220, 1221, 1219, 1219, 1219, 1219, 1225, 1225, 1225, 155,
- 1159, 1225, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
- 1160, 1160, 1225, 1225, 1225, 1222, 1222, 1222, 1222, 1222,
- 1222, 1222, 1222, 1222, 1222, 1213, 1213, 1213, 1213, 1213,
- 1213, 1213, 1213, 1213, 1213, 1225, 1225, 1225, 1225, 297,
- 1159, 1225, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
- 1160, 1160, 297, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 297, 1223, 1223, 1223, 1223, 1223, 1224, 1222,
- 1222, 1222, 1222, 1225, 1225, 1225, 1225, 1225, 1225, 297,
- 1186, 1225, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
-
- 1187, 1187, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 297, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
- 1216, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 155,
- 1186, 1225, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
- 1188, 1188, 1225, 1225, 1225, 1225, 1225, 1225, 155, 1219,
- 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1222,
- 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 155,
- 1186, 1225, 1189, 1189, 1189, 1189, 1189, 1190, 1187, 1187,
- 1187, 1187, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 297, 1225, 1225, 1225,
-
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 155,
- 1202, 1225, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
- 1203, 1203, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297,
- 1202, 1225, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
- 1204, 1204, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297,
- 1202, 1225, 1205, 1205, 1205, 1205, 1205, 1206, 1203, 1203,
-
- 1203, 1203, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297,
- 1186, 1225, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
- 1187, 1187, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 155,
- 1186, 1225, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
- 1187, 1187, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
-
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 155,
- 1202, 1225, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
- 1203, 1203, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297,
- 1202, 1225, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
- 1203, 1203, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
-
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 83, 83, 83, 83, 83, 83, 83, 83, 83,
- 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
- 83, 83, 40, 40, 40, 40, 40, 40, 40, 40,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
- 40, 40, 40, 94, 94, 94, 94, 94, 94, 94,
+ 22, 22, 22, 59, 22, 22, 60, 157, 185, 156,
+ 60, 157, 185, 61, 23, 78, 495, 79, 23, 80,
+ 183, 81, 23, 78, 496, 79, 23, 80, 81, 81,
+
+ 85, 86, 201, 87, 85, 88, 81, 89, 90, 166,
+ 62, 63, 81, 82, 185, 64, 202, 193, 185, 614,
+ 81, 82, 194, 65, 228, 190, 66, 67, 228, 280,
+ 167, 67, 103, 24, 68, 25, 103, 104, 105, 83,
+ 283, 69, 156, 188, 70, 197, 185, 83, 103, 24,
+ 185, 25, 103, 104, 105, 91, 189, 168, 22, 71,
+ 198, 43, 179, 179, 179, 179, 179, 180, 199, 72,
+ 161, 73, 332, 74, 47, 185, 47, 447, 191, 185,
+ 166, 85, 86, 75, 87, 85, 88, 106, 89, 90,
+ 23, 24, 40, 25, 23, 130, 131, 223, 225, 76,
+
+ 67, 265, 225, 106, 67, 172, 172, 68, 156, 185,
+ 172, 172, 226, 185, 69, 245, 156, 70, 211, 245,
+ 23, 24, 40, 25, 23, 130, 131, 212, 266, 221,
+ 172, 22, 71, 156, 43, 299, 91, 248, 204, 293,
+ 241, 248, 72, 211, 73, 132, 74, 47, 294, 47,
+ 203, 204, 237, 241, 203, 173, 75, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 213, 260, 253,
+ 254, 213, 76, 23, 24, 132, 25, 23, 26, 155,
+ 92, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 188, 483, 484, 185, 252, 252, 280, 185, 156,
+
+ 284, 214, 215, 291, 189, 157, 216, 256, 204, 157,
+ 241, 256, 259, 345, 217, 314, 259, 218, 258, 228,
+ 220, 261, 262, 228, 263, 261, 316, 257, 93, 297,
94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
- 94, 94, 94, 94, 101, 101, 101, 101, 101, 101,
- 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
- 101, 101, 101, 101, 101, 128, 128, 128, 128, 128,
-
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 154, 1225, 1225, 154,
- 1225, 1225, 1225, 154, 1225, 154, 1225, 154, 154, 154,
- 1225, 1225, 154, 154, 154, 154, 154, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 164, 1225,
- 1225, 164, 1225, 1225, 164, 164, 1225, 164, 1225, 164,
- 164, 164, 164, 1225, 164, 164, 164, 164, 164, 168,
- 1225, 1225, 168, 1225, 1225, 1225, 168, 1225, 168, 1225,
- 168, 168, 168, 1225, 1225, 168, 168, 168, 168, 168,
-
- 170, 1225, 1225, 170, 170, 170, 1225, 170, 170, 170,
- 1225, 170, 170, 170, 1225, 1225, 170, 170, 170, 170,
- 170, 205, 205, 1225, 205, 205, 205, 1225, 205, 205,
- 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
- 205, 205, 227, 1225, 1225, 227, 227, 227, 1225, 227,
- 227, 227, 1225, 227, 227, 227, 1225, 1225, 227, 227,
- 227, 227, 227, 231, 231, 1225, 231, 231, 231, 1225,
- 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
- 231, 231, 231, 231, 236, 1225, 1225, 236, 236, 236,
- 1225, 236, 236, 236, 1225, 236, 236, 236, 1225, 236,
-
- 236, 1225, 236, 236, 236, 242, 242, 1225, 242, 242,
- 242, 1225, 1225, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 1225, 242, 242, 242, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 249, 1225, 1225,
- 249, 249, 1225, 1225, 249, 249, 249, 1225, 249, 249,
- 249, 249, 1225, 249, 249, 249, 249, 249, 253, 253,
- 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
- 253, 253, 253, 253, 253, 253, 253, 253, 253, 255,
- 255, 1225, 255, 255, 1225, 255, 255, 255, 255, 255,
-
+ 94, 94, 94, 94, 94, 94, 94, 94, 23, 24,
+ 292, 25, 23, 26, 227, 92, 166, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 258, 277, 277,
+ 277, 277, 277, 278, 185, 230, 230, 265, 204, 296,
+ 230, 230, 276, 276, 276, 276, 276, 276, 276, 276,
+ 276, 276, 311, 311, 311, 311, 311, 312, 203, 204,
+
+ 230, 241, 203, 93, 301, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 23, 24, 231, 25, 23, 26, 96,
+ 92, 314, 156, 161, 317, 332, 97, 98, 99, 1241,
+ 342, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 344, 100, 296, 166, 228, 305, 305, 291, 228,
+ 156, 305, 305, 310, 310, 310, 310, 310, 310, 310,
+ 310, 310, 310, 156, 156, 1241, 373, 299, 101, 23,
+ 24, 305, 25, 23, 26, 96, 92, 329, 1211, 156,
+ 156, 384, 97, 98, 99, 374, 330, 203, 204, 245,
+
+ 241, 203, 266, 245, 385, 292, 306, 298, 100, 309,
+ 309, 309, 309, 309, 309, 309, 309, 309, 309, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 203,
+ 204, 861, 241, 203, 101, 40, 23, 24, 40, 25,
+ 23, 26, 40, 40, 40, 107, 30, 31, 40, 108,
+ 33, 40, 40, 109, 110, 111, 112, 110, 110, 110,
+ 110, 110, 110, 110, 38, 113, 40, 40, 114, 115,
+ 115, 115, 116, 117, 118, 118, 119, 118, 120, 121,
+ 122, 118, 123, 118, 124, 118, 118, 118, 118, 118,
+ 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,
+ 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,
+ 144, 144, 145, 144, 146, 147, 148, 144, 149, 144,
+ 150, 144, 144, 144, 144, 144, 144, 151, 152, 133,
+ 153, 153, 153, 153, 153, 153, 133, 133, 133, 133,
+ 133, 133, 133, 133, 154, 133, 133, 161, 260, 162,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+
+ 155, 163, 896, 388, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 174, 185, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 176, 297, 1103, 156,
+ 177, 177, 177, 177, 177, 177, 386, 176, 258, 204,
+ 156, 155, 155, 155, 155, 155, 381, 383, 155, 155,
+ 389, 393, 155, 156, 382, 393, 177, 177, 177, 177,
+ 177, 177, 155, 156, 156, 155, 155, 155, 155, 392,
+ 299, 155, 155, 442, 156, 155, 155, 296, 155, 155,
+ 155, 184, 184, 184, 184, 184, 184, 184, 184, 184,
+ 184, 176, 381, 299, 155, 184, 184, 184, 184, 184,
+
+ 184, 185, 185, 185, 185, 186, 185, 185, 185, 187,
+ 185, 185, 185, 185, 185, 185, 185, 185, 156, 155,
+ 185, 177, 177, 177, 177, 177, 177, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 1241, 161,
+ 1165, 332, 185, 185, 185, 185, 185, 185, 444, 393,
+ 332, 259, 185, 393, 334, 259, 185, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 156, 155, 155,
+ 155, 155, 155, 155, 203, 204, 156, 205, 206, 155,
+ 155, 155, 295, 381, 155, 155, 295, 299, 155, 172,
+
+ 172, 494, 1241, 443, 172, 172, 340, 340, 340, 340,
+ 340, 340, 155, 155, 155, 208, 258, 380, 1241, 208,
+ 208, 208, 156, 209, 172, 208, 208, 466, 342, 208,
+ 165, 165, 165, 165, 165, 582, 225, 165, 165, 460,
+ 225, 165, 342, 208, 208, 208, 161, 296, 446, 173,
+ 226, 1241, 156, 460, 502, 165, 165, 165, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340, 156, 342,
+ 210, 161, 1241, 162, 381, 169, 169, 169, 169, 169,
+ 464, 156, 169, 169, 504, 163, 169, 342, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 460, 266,
+
+ 169, 169, 169, 336, 337, 338, 336, 336, 336, 336,
+ 336, 336, 336, 340, 340, 340, 340, 340, 340, 340,
+ 340, 340, 340, 203, 204, 208, 241, 203, 155, 208,
+ 415, 861, 207, 371, 213, 607, 219, 234, 213, 156,
+ 156, 234, 234, 234, 161, 235, 332, 234, 234, 357,
+ 358, 234, 505, 359, 506, 360, 361, 528, 529, 362,
+ 530, 363, 364, 1103, 156, 234, 234, 234, 214, 215,
+ 230, 230, 291, 216, 299, 230, 230, 292, 156, 234,
+ 372, 217, 155, 166, 218, 1241, 233, 390, 161, 556,
+ 446, 1241, 236, 240, 204, 230, 241, 240, 242, 389,
+
+ 243, 595, 585, 501, 1241, 242, 156, 243, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 580, 292,
+ 231, 243, 243, 357, 358, 1032, 444, 359, 446, 360,
+ 361, 266, 1241, 362, 391, 363, 203, 204, 1241, 241,
+ 203, 203, 204, 1241, 241, 203, 1241, 599, 243, 242,
+ 161, 581, 162, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 597, 249, 586, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 267, 261, 262,
+ 267, 263, 261, 604, 583, 251, 267, 267, 583, 251,
+ 267, 251, 251, 267, 267, 208, 252, 172, 298, 251,
+
+ 1145, 172, 326, 440, 172, 491, 492, 269, 493, 267,
+ 635, 172, 584, 636, 251, 394, 395, 396, 394, 394,
+ 394, 394, 394, 394, 394, 172, 172, 398, 398, 398,
+ 398, 398, 398, 270, 267, 267, 172, 1241, 185, 172,
+ 156, 893, 172, 172, 1241, 172, 172, 172, 172, 172,
+ 441, 593, 172, 172, 264, 264, 264, 264, 564, 564,
+ 564, 264, 264, 1241, 602, 264, 269, 172, 172, 398,
+ 398, 398, 398, 398, 398, 398, 398, 398, 398, 603,
+ 264, 264, 398, 398, 398, 398, 398, 398, 398, 398,
+ 398, 398, 272, 172, 172, 269, 156, 1241, 273, 269,
+
+ 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
+ 176, 269, 689, 381, 275, 275, 275, 275, 275, 275,
+ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 1241, 1176, 388,
+ 275, 275, 275, 275, 275, 275, 269, 269, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 1241, 587, 269,
+ 269, 269, 269, 269, 269, 269, 269, 269, 269, 1241,
+ 1241, 1241, 1241, 269, 269, 269, 269, 269, 269, 592,
+ 600, 267, 267, 267, 267, 267, 389, 605, 267, 267,
+ 606, 594, 267, 423, 423, 423, 423, 423, 423, 269,
+
+ 269, 269, 269, 269, 269, 269, 267, 267, 267, 269,
+ 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
+ 176, 269, 156, 1241, 279, 279, 279, 279, 279, 279,
+ 280, 280, 280, 280, 281, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 601, 1170, 282,
+ 275, 275, 275, 275, 275, 275, 269, 269, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 1241, 1241, 176,
+ 156, 280, 280, 280, 280, 280, 280, 609, 406, 407,
+ 596, 280, 408, 1241, 409, 410, 156, 1241, 411, 590,
+
+ 412, 553, 554, 590, 555, 698, 299, 269, 269, 269,
+ 269, 269, 269, 307, 598, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 176, 608, 591, 156, 309,
+ 309, 309, 309, 309, 309, 616, 299, 1241, 711, 299,
+ 298, 298, 298, 298, 298, 176, 660, 298, 298, 588,
+ 156, 298, 299, 532, 589, 309, 309, 309, 309, 309,
+ 309, 298, 156, 624, 298, 298, 298, 298, 625, 688,
+ 298, 298, 156, 156, 298, 298, 342, 298, 298, 298,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 176, 615, 299, 298, 313, 313, 313, 313, 313, 313,
+
+ 314, 314, 314, 314, 315, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 299, 298, 314,
+ 309, 309, 309, 309, 309, 309, 298, 298, 298, 298,
+ 298, 298, 298, 298, 298, 298, 298, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 1241, 935, 659,
+ 314, 314, 314, 314, 314, 314, 314, 656, 431, 432,
+ 657, 314, 433, 342, 434, 435, 305, 305, 436, 645,
+ 437, 305, 305, 161, 646, 332, 1241, 298, 298, 298,
+ 298, 298, 298, 203, 204, 299, 324, 325, 298, 298,
+ 298, 305, 299, 298, 298, 1032, 701, 298, 419, 420,
+
+ 421, 419, 419, 419, 419, 419, 419, 419, 1241, 658,
+ 1241, 298, 298, 298, 208, 1241, 306, 590, 208, 208,
+ 208, 590, 327, 702, 208, 208, 693, 1241, 208, 300,
+ 300, 300, 300, 300, 691, 299, 300, 300, 299, 613,
+ 300, 697, 208, 208, 208, 591, 1241, 203, 204, 1241,
+ 241, 203, 692, 1241, 300, 300, 300, 1241, 1241, 696,
+ 302, 302, 302, 302, 302, 694, 1004, 302, 302, 328,
+ 172, 302, 700, 155, 171, 155, 155, 171, 690, 280,
+ 155, 155, 708, 709, 171, 302, 302, 302, 423, 423,
+ 423, 423, 423, 423, 423, 423, 423, 423, 171, 171,
+
+ 155, 174, 299, 339, 339, 339, 339, 339, 339, 339,
+ 339, 339, 339, 176, 156, 156, 951, 339, 339, 339,
+ 339, 339, 339, 423, 423, 423, 423, 423, 423, 423,
+ 423, 423, 423, 573, 573, 573, 573, 573, 574, 1241,
+ 156, 568, 342, 339, 339, 339, 339, 339, 339, 155,
+ 1241, 583, 155, 570, 156, 583, 1241, 705, 155, 155,
+ 712, 695, 155, 155, 800, 155, 155, 155, 346, 346,
+ 346, 346, 346, 346, 346, 346, 346, 346, 176, 584,
+ 1138, 155, 346, 346, 346, 346, 346, 346, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+
+ 185, 185, 185, 185, 185, 156, 155, 185, 339, 339,
+ 339, 339, 339, 339, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 1241, 1062, 763, 1063, 185,
+ 185, 185, 185, 185, 185, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 155, 155, 155, 155, 155,
+ 155, 208, 299, 1241, 1241, 208, 208, 208, 1241, 209,
+ 230, 208, 208, 1241, 230, 208, 447, 230, 448, 448,
+ 448, 448, 448, 448, 230, 1241, 1241, 812, 1137, 208,
+
+ 208, 208, 1241, 710, 703, 704, 1241, 1241, 230, 230,
+ 507, 1241, 508, 508, 508, 508, 508, 508, 508, 508,
+ 508, 508, 156, 628, 699, 156, 210, 230, 718, 706,
+ 155, 229, 155, 155, 229, 1241, 156, 155, 155, 1133,
+ 507, 229, 509, 509, 509, 509, 509, 509, 509, 509,
+ 509, 509, 622, 299, 761, 229, 229, 155, 234, 764,
+ 760, 1241, 234, 234, 234, 1241, 235, 661, 234, 234,
+ 1241, 507, 234, 510, 510, 510, 510, 510, 511, 508,
+ 508, 508, 508, 1241, 342, 299, 234, 234, 234, 1241,
+ 305, 854, 707, 299, 305, 570, 507, 305, 508, 508,
+
+ 508, 508, 508, 508, 305, 161, 156, 332, 623, 156,
+ 156, 1241, 762, 236, 267, 342, 185, 267, 305, 305,
+ 900, 716, 717, 267, 267, 1241, 460, 267, 797, 156,
+ 267, 267, 557, 558, 559, 557, 557, 557, 557, 557,
+ 557, 557, 742, 802, 269, 299, 267, 562, 562, 563,
+ 564, 564, 564, 564, 564, 564, 564, 457, 572, 572,
+ 572, 572, 572, 572, 572, 572, 572, 572, 156, 156,
+ 270, 267, 267, 172, 796, 1241, 172, 342, 715, 172,
+ 172, 299, 172, 172, 172, 172, 172, 1132, 570, 172,
+ 172, 1241, 806, 571, 571, 571, 571, 571, 571, 571,
+
+ 571, 571, 571, 269, 172, 172, 617, 618, 619, 617,
+ 617, 617, 617, 617, 617, 617, 507, 1241, 508, 508,
+ 508, 508, 508, 508, 508, 508, 508, 508, 1241, 272,
+ 172, 172, 273, 813, 397, 397, 397, 397, 397, 397,
+ 397, 397, 397, 397, 176, 1241, 1131, 801, 397, 397,
+ 397, 397, 397, 397, 507, 1241, 508, 508, 508, 508,
+ 508, 508, 508, 508, 508, 508, 803, 808, 1224, 590,
+ 568, 342, 809, 590, 397, 397, 397, 397, 397, 397,
+ 269, 1241, 570, 185, 269, 399, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 176, 269, 591, 815, 399,
+
+ 399, 399, 399, 399, 399, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 891, 185, 282, 397, 397, 397, 397, 397,
+ 397, 269, 269, 269, 269, 269, 269, 269, 269, 269,
+ 269, 269, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 1241, 568, 342, 1241, 280, 280, 280, 280,
+ 280, 280, 1241, 1241, 897, 678, 1241, 185, 1241, 1241,
+ 156, 814, 1241, 1241, 807, 1241, 1073, 1241, 342, 1241,
+ 1241, 821, 269, 269, 269, 269, 269, 269, 305, 678,
+ 1241, 298, 304, 298, 298, 304, 1241, 1241, 298, 298,
+
+ 629, 820, 304, 1241, 626, 1241, 1241, 836, 849, 1241,
+ 1241, 627, 837, 850, 156, 630, 304, 304, 298, 307,
+ 1073, 422, 422, 422, 422, 422, 422, 422, 422, 422,
+ 422, 176, 826, 1241, 1241, 422, 422, 422, 422, 422,
+ 422, 156, 899, 583, 590, 1241, 1241, 583, 590, 1241,
+ 1241, 185, 825, 631, 185, 632, 895, 156, 299, 894,
+ 185, 422, 422, 422, 422, 422, 422, 298, 827, 185,
+ 298, 584, 591, 1241, 1241, 156, 298, 298, 314, 1013,
+ 298, 298, 889, 298, 298, 298, 424, 424, 424, 424,
+ 424, 424, 424, 424, 424, 424, 176, 633, 724, 298,
+
+ 424, 424, 424, 424, 424, 424, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 299, 298, 314, 422, 422, 422, 422,
+ 422, 422, 298, 298, 298, 298, 298, 298, 298, 298,
+ 298, 298, 298, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 1241, 299, 342, 976, 314, 314, 314,
+ 314, 314, 314, 1241, 185, 853, 570, 1241, 640, 641,
+ 642, 640, 640, 640, 640, 640, 640, 640, 798, 161,
+ 156, 332, 798, 298, 298, 298, 298, 298, 298, 208,
+ 342, 1241, 919, 208, 208, 208, 280, 327, 903, 208,
+
+ 208, 678, 918, 208, 280, 299, 799, 634, 342, 568,
+ 342, 676, 676, 676, 676, 676, 676, 208, 208, 208,
+ 532, 570, 533, 533, 533, 533, 533, 533, 667, 667,
+ 667, 667, 667, 667, 667, 667, 667, 667, 457, 824,
+ 185, 156, 951, 898, 328, 447, 922, 448, 448, 448,
+ 448, 448, 448, 448, 448, 448, 448, 280, 908, 299,
+ 672, 673, 674, 672, 672, 672, 672, 672, 672, 672,
+ 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
+ 156, 280, 863, 907, 156, 447, 923, 449, 449, 449,
+ 449, 449, 449, 449, 449, 449, 449, 680, 680, 680,
+
+ 680, 680, 680, 680, 680, 680, 680, 681, 681, 681,
+ 681, 681, 682, 765, 766, 767, 765, 765, 765, 765,
+ 765, 765, 765, 1023, 156, 447, 934, 450, 450, 450,
+ 450, 450, 451, 448, 448, 448, 448, 1241, 314, 679,
+ 679, 679, 679, 679, 679, 679, 679, 679, 679, 719,
+ 156, 720, 720, 720, 720, 720, 720, 720, 720, 720,
+ 720, 161, 925, 332, 156, 452, 452, 452, 452, 452,
+ 452, 452, 452, 452, 452, 176, 568, 342, 1089, 452,
+ 452, 452, 452, 452, 452, 719, 861, 721, 721, 721,
+ 721, 721, 721, 721, 721, 721, 721, 892, 863, 314,
+
+ 299, 1082, 156, 931, 185, 452, 452, 452, 452, 452,
+ 452, 454, 455, 456, 456, 456, 456, 456, 456, 456,
+ 456, 457, 906, 1081, 982, 458, 458, 458, 458, 458,
+ 458, 719, 156, 722, 722, 722, 722, 722, 723, 720,
+ 720, 720, 720, 1241, 314, 185, 1079, 1241, 936, 989,
+ 909, 458, 458, 458, 458, 458, 458, 342, 461, 462,
+ 463, 461, 461, 461, 461, 461, 461, 461, 464, 156,
+ 185, 1241, 465, 465, 465, 465, 465, 465, 1241, 730,
+ 1241, 1241, 1241, 1241, 1241, 1241, 777, 1241, 778, 778,
+ 778, 778, 778, 778, 778, 778, 778, 778, 465, 465,
+
+ 465, 465, 465, 465, 155, 314, 1241, 155, 1241, 1241,
+ 938, 1241, 725, 155, 155, 728, 734, 155, 155, 156,
+ 155, 155, 155, 467, 467, 467, 467, 467, 467, 467,
+ 467, 467, 467, 176, 736, 1117, 155, 467, 467, 467,
+ 467, 467, 467, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+ 156, 155, 185, 452, 452, 452, 452, 452, 452, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+ 1241, 568, 342, 1059, 185, 185, 185, 185, 185, 185,
+
+ 1241, 1241, 314, 678, 1241, 1241, 1241, 1241, 933, 1015,
+ 1241, 1241, 314, 1241, 1241, 804, 937, 1241, 863, 804,
+ 155, 155, 155, 155, 155, 155, 208, 314, 1241, 1241,
+ 208, 208, 208, 299, 209, 1241, 208, 208, 1241, 342,
+ 208, 1241, 729, 805, 978, 735, 342, 568, 342, 732,
+ 678, 939, 185, 185, 208, 208, 208, 786, 731, 786,
+ 661, 733, 662, 662, 662, 662, 662, 662, 777, 983,
+ 779, 779, 779, 779, 779, 779, 779, 779, 779, 779,
+ 185, 210, 208, 1241, 342, 156, 208, 208, 208, 208,
+ 371, 974, 208, 208, 1080, 786, 208, 280, 777, 156,
+
+ 780, 780, 780, 780, 780, 781, 778, 778, 778, 778,
+ 208, 208, 208, 687, 687, 687, 687, 687, 687, 687,
+ 687, 687, 687, 568, 342, 784, 784, 784, 784, 784,
+ 784, 961, 979, 568, 342, 678, 810, 210, 234, 185,
+ 810, 977, 234, 234, 234, 786, 235, 185, 234, 234,
+ 1014, 1017, 234, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 314, 811, 342, 234, 234, 234, 789,
+ 789, 789, 789, 789, 790, 1241, 786, 787, 787, 787,
+ 787, 787, 787, 787, 787, 787, 787, 816, 818, 984,
+ 156, 816, 818, 236, 234, 1241, 342, 185, 234, 234,
+
+ 234, 234, 390, 156, 234, 234, 861, 719, 234, 720,
+ 720, 720, 720, 720, 720, 817, 819, 161, 863, 332,
+ 994, 863, 234, 234, 234, 828, 829, 830, 828, 828,
+ 828, 828, 828, 828, 828, 719, 861, 720, 720, 720,
+ 720, 720, 720, 720, 720, 720, 720, 771, 951, 236,
+ 512, 512, 512, 512, 512, 512, 512, 512, 512, 512,
+ 176, 314, 1091, 1234, 512, 512, 512, 512, 512, 512,
+ 719, 1241, 720, 720, 720, 720, 720, 720, 720, 720,
+ 720, 720, 1064, 951, 185, 798, 568, 342, 342, 798,
+ 512, 512, 512, 512, 512, 512, 269, 1209, 880, 880,
+
+ 269, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 176, 269, 799, 185, 513, 513, 513, 513, 513,
+ 513, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 568, 342,
+ 282, 512, 512, 512, 512, 512, 512, 269, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 269, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 1241, 1124,
+ 299, 1063, 280, 280, 280, 280, 280, 280, 776, 776,
+ 776, 776, 776, 776, 776, 776, 776, 776, 1241, 804,
+ 1241, 1241, 1241, 804, 1241, 1241, 1052, 1016, 269, 269,
+
+ 269, 269, 269, 269, 532, 185, 533, 533, 533, 533,
+ 533, 533, 533, 533, 533, 533, 1241, 805, 1241, 1241,
+ 156, 1012, 1061, 1062, 831, 1063, 1061, 1017, 810, 1241,
+ 1241, 1048, 810, 1241, 1241, 834, 816, 818, 835, 1090,
+ 816, 818, 314, 299, 532, 1006, 534, 534, 534, 534,
+ 534, 534, 534, 534, 534, 534, 811, 1241, 1241, 1241,
+ 342, 1055, 1005, 1057, 817, 819, 156, 1003, 798, 185,
+ 185, 880, 798, 742, 839, 743, 743, 743, 743, 743,
+ 743, 838, 1092, 299, 532, 314, 535, 535, 535, 535,
+ 535, 536, 533, 533, 533, 533, 799, 314, 1139, 841,
+
+ 842, 843, 841, 841, 841, 841, 841, 841, 841, 804,
+ 810, 816, 299, 804, 810, 816, 1002, 1121, 818, 1191,
+ 910, 1192, 818, 299, 298, 185, 537, 537, 537, 537,
+ 537, 537, 537, 537, 537, 537, 299, 805, 811, 817,
+ 537, 537, 537, 537, 537, 537, 819, 865, 865, 865,
+ 865, 865, 865, 865, 865, 865, 865, 866, 866, 866,
+ 866, 866, 867, 1186, 156, 991, 537, 537, 537, 537,
+ 537, 537, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 1049, 185, 990, 156, 538, 538, 538, 538,
+ 538, 538, 1241, 185, 864, 864, 864, 864, 864, 864,
+
+ 864, 864, 864, 864, 777, 1083, 778, 778, 778, 778,
+ 778, 778, 537, 537, 537, 537, 537, 537, 208, 568,
+ 342, 185, 208, 208, 208, 1210, 327, 1192, 208, 208,
+ 771, 880, 208, 873, 874, 875, 873, 873, 873, 873,
+ 873, 873, 873, 566, 299, 932, 208, 208, 208, 777,
+ 861, 778, 778, 778, 778, 778, 778, 778, 778, 778,
+ 778, 777, 951, 778, 778, 778, 778, 778, 778, 778,
+ 778, 778, 778, 328, 208, 1056, 1058, 1208, 208, 208,
+ 208, 208, 440, 1208, 208, 208, 185, 185, 208, 795,
+ 795, 795, 795, 795, 795, 795, 795, 795, 795, 924,
+
+ 921, 861, 208, 208, 208, 568, 342, 878, 878, 878,
+ 878, 878, 878, 1032, 920, 917, 1241, 786, 882, 882,
+ 882, 882, 882, 882, 882, 882, 882, 882, 1032, 328,
+ 447, 916, 448, 448, 448, 448, 448, 448, 448, 448,
+ 448, 448, 883, 883, 883, 883, 883, 884, 1241, 905,
+ 881, 881, 881, 881, 881, 881, 881, 881, 881, 881,
+ 798, 804, 810, 816, 798, 804, 810, 816, 1083, 156,
+ 447, 995, 448, 448, 448, 448, 448, 448, 448, 448,
+ 448, 448, 954, 954, 954, 954, 954, 955, 799, 805,
+ 811, 817, 904, 185, 995, 818, 995, 995, 1118, 818,
+
+ 972, 972, 972, 972, 972, 973, 902, 299, 185, 156,
+ 568, 342, 569, 569, 569, 569, 569, 569, 569, 569,
+ 569, 569, 570, 819, 901, 777, 571, 571, 571, 571,
+ 571, 571, 910, 911, 911, 911, 911, 911, 911, 911,
+ 911, 911, 911, 980, 1123, 992, 161, 980, 332, 992,
+ 771, 185, 571, 571, 571, 571, 571, 571, 342, 575,
+ 576, 577, 575, 575, 575, 575, 575, 575, 575, 578,
+ 995, 981, 566, 579, 579, 579, 579, 579, 579, 910,
+ 912, 912, 912, 912, 912, 912, 912, 912, 912, 912,
+ 457, 299, 280, 995, 299, 995, 996, 1140, 342, 579,
+
+ 579, 579, 579, 579, 579, 155, 993, 980, 155, 880,
+ 299, 980, 299, 852, 155, 155, 851, 848, 155, 155,
+ 156, 155, 155, 155, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 176, 981, 156, 155, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 156, 155, 185, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 620, 620, 620, 620, 620, 620, 620, 620, 620,
+ 620, 176, 250, 250, 250, 620, 620, 620, 620, 620,
+
+ 620, 910, 913, 913, 913, 913, 913, 914, 911, 911,
+ 911, 911, 910, 911, 911, 911, 911, 911, 911, 847,
+ 1122, 620, 620, 620, 620, 620, 620, 269, 185, 846,
+ 1171, 269, 621, 621, 621, 621, 621, 621, 621, 621,
+ 621, 621, 176, 269, 845, 844, 621, 621, 621, 621,
+ 621, 621, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 299,
+ 840, 282, 620, 620, 620, 620, 620, 620, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 269, 269, 583,
+ 1199, 1216, 861, 583, 940, 941, 942, 943, 940, 940,
+
+ 940, 940, 940, 940, 1032, 833, 861, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 584, 1103, 1163,
+ 832, 280, 280, 280, 280, 280, 280, 185, 719, 156,
+ 299, 156, 854, 855, 855, 855, 855, 855, 855, 1035,
+ 1035, 1035, 1035, 1035, 1036, 823, 822, 269, 269, 269,
+ 269, 269, 269, 532, 156, 533, 533, 533, 533, 533,
+ 533, 533, 533, 533, 533, 1061, 1062, 156, 1063, 1061,
+ 156, 945, 946, 947, 945, 945, 945, 945, 945, 945,
+ 945, 872, 872, 872, 872, 872, 872, 872, 872, 872,
+ 872, 156, 299, 532, 1241, 533, 533, 533, 533, 533,
+
+ 533, 533, 533, 533, 533, 861, 1103, 949, 949, 949,
+ 949, 949, 949, 250, 250, 250, 1158, 863, 953, 953,
+ 953, 953, 953, 953, 953, 953, 953, 953, 185, 156,
+ 985, 1241, 299, 661, 985, 662, 662, 662, 662, 662,
+ 662, 662, 662, 662, 662, 1241, 771, 952, 952, 952,
+ 952, 952, 952, 952, 952, 952, 952, 961, 986, 962,
+ 962, 962, 962, 962, 962, 962, 962, 962, 962, 566,
+ 987, 457, 156, 661, 987, 663, 663, 663, 663, 663,
+ 663, 663, 663, 663, 663, 961, 457, 963, 963, 963,
+ 963, 963, 963, 963, 963, 963, 963, 961, 988, 964,
+
+ 964, 964, 964, 964, 965, 962, 962, 962, 962, 759,
+ 758, 757, 156, 661, 756, 664, 664, 664, 664, 664,
+ 665, 662, 662, 662, 662, 888, 888, 888, 888, 888,
+ 888, 888, 888, 888, 888, 568, 342, 968, 968, 968,
+ 968, 968, 968, 755, 161, 754, 332, 880, 1184, 1184,
+ 1184, 1184, 156, 568, 342, 676, 676, 676, 676, 676,
+ 676, 676, 676, 676, 676, 570, 753, 752, 751, 675,
+ 675, 675, 675, 675, 675, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 997, 998, 999, 1000, 997,
+ 997, 997, 997, 997, 997, 675, 675, 675, 675, 675,
+
+ 675, 568, 342, 677, 677, 677, 677, 677, 677, 677,
+ 677, 677, 677, 678, 1125, 750, 749, 679, 679, 679,
+ 679, 679, 679, 1241, 748, 970, 970, 970, 970, 970,
+ 970, 970, 970, 970, 970, 925, 926, 926, 926, 926,
+ 926, 926, 747, 679, 679, 679, 679, 679, 679, 342,
+ 683, 684, 685, 683, 683, 683, 683, 683, 683, 683,
+ 686, 741, 740, 739, 687, 687, 687, 687, 687, 687,
+ 738, 737, 961, 299, 962, 962, 962, 962, 962, 962,
+ 980, 727, 1164, 161, 980, 332, 1164, 726, 1241, 1241,
+ 687, 687, 687, 687, 687, 687, 742, 495, 743, 743,
+
+ 743, 743, 743, 743, 743, 743, 743, 743, 981, 910,
+ 911, 911, 911, 911, 911, 911, 911, 911, 911, 911,
+ 985, 714, 713, 1023, 985, 1024, 1024, 1024, 1024, 1024,
+ 1024, 1024, 1024, 1024, 1024, 299, 742, 185, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 986, 910,
+ 911, 911, 911, 911, 911, 911, 911, 911, 911, 911,
+ 987, 985, 987, 1241, 987, 985, 987, 568, 342, 1047,
+ 1047, 1047, 1047, 1047, 1047, 299, 742, 185, 745, 745,
+ 745, 745, 745, 746, 743, 743, 743, 743, 988, 986,
+ 988, 1007, 1008, 1009, 1010, 1007, 1007, 1007, 1007, 1007,
+
+ 1007, 980, 985, 987, 670, 980, 985, 987, 181, 181,
+ 280, 280, 566, 457, 181, 299, 661, 185, 662, 662,
+ 662, 662, 662, 662, 662, 662, 662, 662, 299, 981,
+ 986, 988, 1023, 666, 1025, 1025, 1025, 1025, 1025, 1025,
+ 1025, 1025, 1025, 1025, 1106, 1106, 1106, 1106, 1106, 1107,
+ 314, 314, 314, 457, 182, 156, 661, 861, 662, 662,
+ 662, 662, 662, 662, 662, 662, 662, 662, 1023, 1103,
+ 1026, 1026, 1026, 1026, 1026, 1027, 1024, 1024, 1024, 1024,
+ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960,
+ 1190, 1191, 655, 1192, 1190, 156, 772, 773, 774, 772,
+
+ 772, 772, 772, 772, 772, 772, 775, 654, 653, 652,
+ 776, 776, 776, 776, 776, 776, 861, 651, 1030, 1030,
+ 1030, 1030, 1030, 1030, 181, 181, 650, 1053, 951, 1050,
+ 181, 1053, 649, 1050, 648, 647, 776, 776, 776, 776,
+ 776, 776, 568, 342, 784, 784, 784, 784, 784, 784,
+ 784, 784, 784, 784, 678, 1054, 644, 1051, 783, 783,
+ 783, 783, 783, 783, 1034, 1034, 1034, 1034, 1034, 1034,
+ 1034, 1034, 1034, 1034, 1042, 1043, 1044, 1042, 1042, 1042,
+ 1042, 1042, 1042, 1042, 783, 783, 783, 783, 783, 783,
+ 568, 342, 785, 785, 785, 785, 785, 785, 785, 785,
+
+ 785, 785, 786, 643, 176, 639, 787, 787, 787, 787,
+ 787, 787, 1241, 638, 1033, 1033, 1033, 1033, 1033, 1033,
+ 1033, 1033, 1033, 1033, 1050, 637, 1190, 1191, 1050, 1192,
+ 1190, 507, 787, 787, 787, 787, 787, 787, 342, 791,
+ 792, 793, 791, 791, 791, 791, 791, 791, 791, 794,
+ 495, 612, 1051, 795, 795, 795, 795, 795, 795, 961,
+ 495, 962, 962, 962, 962, 962, 962, 962, 962, 962,
+ 962, 341, 341, 280, 611, 495, 610, 341, 1241, 795,
+ 795, 795, 795, 795, 795, 742, 1241, 743, 743, 743,
+ 743, 743, 743, 743, 743, 743, 743, 961, 457, 962,
+
+ 962, 962, 962, 962, 962, 962, 962, 962, 962, 566,
+ 1053, 1119, 1050, 457, 1053, 1119, 1050, 1119, 182, 1050,
+ 552, 1119, 1053, 1050, 299, 742, 1053, 743, 743, 743,
+ 743, 743, 743, 743, 743, 743, 743, 1066, 1054, 1120,
+ 1051, 1066, 1067, 1068, 1069, 1120, 551, 1051, 550, 1073,
+ 1054, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
+ 1074, 314, 549, 548, 299, 854, 855, 855, 855, 855,
+ 855, 855, 855, 855, 855, 855, 185, 1066, 547, 185,
+ 546, 1066, 1067, 1068, 1069, 1156, 1156, 1156, 1156, 1156,
+ 1157, 1073, 1070, 1075, 1075, 1075, 1075, 1075, 1075, 1075,
+
+ 1075, 1075, 1075, 156, 854, 856, 856, 856, 856, 856,
+ 856, 856, 856, 856, 856, 1073, 545, 1076, 1076, 1076,
+ 1076, 1076, 1077, 1078, 1078, 1078, 1078, 1053, 453, 453,
+ 544, 1053, 1072, 1017, 453, 1018, 1018, 1018, 1018, 1018,
+ 1018, 543, 156, 854, 857, 857, 857, 857, 857, 858,
+ 855, 855, 855, 855, 1073, 1054, 1078, 1078, 1078, 1074,
+ 1074, 1074, 1074, 1074, 1074, 1074, 542, 1161, 541, 1159,
+ 540, 1161, 156, 1159, 282, 282, 314, 282, 282, 282,
+ 282, 156, 861, 539, 862, 862, 862, 862, 862, 862,
+ 862, 862, 862, 862, 863, 1162, 307, 1160, 864, 864,
+
+ 864, 864, 864, 864, 1093, 1094, 1095, 1093, 1093, 1093,
+ 1093, 1093, 1093, 1093, 1096, 1097, 1098, 1096, 1096, 1096,
+ 1096, 1096, 1096, 1096, 864, 864, 864, 864, 864, 864,
+ 868, 869, 870, 868, 868, 868, 868, 868, 868, 868,
+ 871, 156, 531, 527, 872, 872, 872, 872, 872, 872,
+ 1023, 526, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
+ 1024, 1024, 1023, 525, 1024, 1024, 1024, 1024, 1024, 1024,
+ 872, 872, 872, 872, 872, 872, 568, 342, 878, 878,
+ 878, 878, 878, 878, 878, 878, 878, 878, 786, 524,
+ 523, 522, 877, 877, 877, 877, 877, 877, 1023, 521,
+
+ 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
+ 1073, 520, 1074, 1074, 1074, 1074, 1074, 1074, 877, 877,
+ 877, 877, 877, 877, 568, 342, 879, 879, 879, 879,
+ 879, 879, 879, 879, 879, 879, 880, 519, 518, 517,
+ 881, 881, 881, 881, 881, 881, 1041, 1041, 1041, 1041,
+ 1041, 1041, 1041, 1041, 1041, 1041, 1105, 1105, 1105, 1105,
+ 1105, 1105, 1105, 1105, 1105, 1105, 881, 881, 881, 881,
+ 881, 881, 342, 885, 886, 887, 885, 885, 885, 885,
+ 885, 885, 885, 516, 515, 514, 273, 888, 888, 888,
+ 888, 888, 888, 861, 503, 1101, 1101, 1101, 1101, 1101,
+
+ 1101, 500, 499, 498, 497, 1032, 342, 1112, 1112, 1112,
+ 1112, 1112, 1112, 888, 888, 888, 888, 888, 888, 155,
+ 1241, 282, 155, 1065, 282, 490, 282, 489, 155, 155,
+ 1065, 1065, 155, 155, 1065, 155, 155, 155, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 1065, 1065,
+ 1065, 155, 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 890, 185, 185,
+ 185, 185, 185, 185, 185, 156, 155, 185, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 269, 488, 487, 486, 269,
+
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 485, 269, 482, 481, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 915, 280,
+ 280, 280, 280, 280, 280, 280, 280, 480, 479, 282,
+ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 925, 926, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 1241, 478,
+ 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104,
+ 342, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112,
+ 1112, 477, 476, 475, 474, 299, 925, 927, 927, 927,
+
+ 927, 927, 927, 927, 927, 927, 927, 342, 1113, 1113,
+ 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 342, 1114,
+ 1114, 1114, 1114, 1114, 1115, 1112, 1112, 1112, 1112, 1119,
+ 473, 472, 471, 1119, 299, 925, 928, 928, 928, 928,
+ 928, 929, 926, 926, 926, 926, 470, 1159, 1241, 469,
+ 468, 1159, 1241, 1241, 1241, 1241, 1126, 1120, 182, 1127,
+ 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 174,
+ 560, 560, 299, 299, 298, 1160, 560, 298, 439, 561,
+ 561, 438, 430, 298, 298, 561, 185, 298, 298, 429,
+ 298, 298, 298, 314, 314, 314, 314, 314, 314, 314,
+
+ 314, 314, 314, 1070, 185, 428, 298, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 930, 314, 314, 314, 314, 314, 314, 314, 314,
+ 299, 298, 314, 298, 298, 298, 298, 298, 298, 298,
+ 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
+ 854, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+ 855, 1066, 427, 1116, 1116, 1066, 1067, 1068, 1069, 1241,
+ 1116, 426, 425, 1241, 1067, 1068, 1069, 1128, 1129, 1130,
+ 1128, 1128, 1128, 1128, 1128, 1128, 1128, 298, 156, 854,
+ 855, 855, 855, 855, 855, 855, 855, 855, 855, 855,
+
+ 1241, 1184, 418, 1184, 1241, 1241, 1241, 1069, 1241, 1184,
+ 303, 301, 1241, 1241, 1241, 1241, 1070, 1204, 1204, 1204,
+ 1204, 1204, 1204, 299, 1070, 296, 417, 156, 861, 416,
+ 949, 949, 949, 949, 949, 949, 949, 949, 949, 949,
+ 863, 861, 414, 950, 950, 950, 950, 950, 950, 950,
+ 950, 950, 950, 951, 413, 1070, 405, 952, 952, 952,
+ 952, 952, 952, 1072, 1073, 404, 1074, 1074, 1074, 1074,
+ 1074, 1074, 1074, 1074, 1074, 1074, 1235, 1235, 1235, 1235,
+ 1235, 1235, 403, 952, 952, 952, 952, 952, 952, 956,
+ 957, 958, 956, 956, 956, 956, 956, 956, 956, 959,
+
+ 402, 401, 400, 960, 960, 960, 960, 960, 960, 1073,
+ 1241, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
+ 1074, 1119, 1161, 270, 262, 1119, 1161, 257, 258, 960,
+ 960, 960, 960, 960, 960, 568, 342, 968, 968, 968,
+ 968, 968, 968, 968, 968, 968, 968, 880, 252, 1120,
+ 1162, 967, 967, 967, 967, 967, 967, 252, 1134, 1135,
+ 1136, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 246, 1083,
+ 314, 1084, 1084, 1084, 1084, 1084, 1084, 967, 967, 967,
+ 967, 967, 967, 568, 342, 969, 969, 969, 969, 969,
+ 969, 969, 969, 969, 969, 299, 204, 239, 156, 970,
+
+ 970, 970, 970, 970, 970, 1161, 387, 1241, 299, 1161,
+ 1071, 1159, 379, 565, 565, 1159, 378, 1071, 1071, 565,
+ 377, 1071, 376, 375, 156, 970, 970, 970, 970, 970,
+ 970, 155, 370, 1162, 155, 1071, 1071, 1071, 369, 1160,
+ 155, 155, 368, 367, 155, 155, 366, 155, 155, 155,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+ 280, 365, 185, 155, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 156, 155, 975,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+
+ 155, 155, 155, 155, 155, 155, 155, 269, 356, 355,
+ 354, 269, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 353, 269, 352, 351, 280, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 1001, 280, 280, 280, 280, 280, 350,
+ 349, 282, 269, 269, 269, 269, 269, 269, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 269, 269, 925,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 1145, 348, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
+ 1146, 1146, 1145, 347, 1147, 1147, 1147, 1147, 1147, 1147,
+
+ 1147, 1147, 1147, 1147, 182, 155, 182, 299, 925, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 1145,
+ 272, 1148, 1148, 1148, 1148, 1148, 1149, 1146, 1146, 1146,
+ 1146, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
+ 1111, 170, 168, 161, 159, 156, 299, 298, 1187, 1187,
+ 298, 323, 1187, 1187, 322, 321, 298, 298, 320, 319,
+ 298, 298, 318, 298, 298, 298, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 1188, 1188, 314, 298,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 1011, 314, 314,
+
+ 314, 314, 314, 299, 298, 314, 298, 298, 298, 298,
+ 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
+ 298, 298, 298, 1017, 303, 1018, 1018, 1018, 1018, 1018,
+ 1018, 1018, 1018, 1018, 1018, 861, 299, 1152, 1152, 1152,
+ 1152, 1152, 1152, 296, 290, 289, 288, 1103, 1155, 1155,
+ 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 666, 666,
+ 287, 286, 156, 1017, 666, 1019, 1019, 1019, 1019, 1019,
+ 1019, 1019, 1019, 1019, 1019, 1241, 285, 1154, 1154, 1154,
+ 1154, 1154, 1154, 1154, 1154, 1154, 1154, 342, 1112, 1112,
+ 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 668, 668,
+
+ 280, 258, 156, 1017, 668, 1020, 1020, 1020, 1020, 1020,
+ 1021, 1022, 1022, 1022, 1022, 342, 1112, 1112, 1112, 1112,
+ 1112, 1112, 1112, 1112, 1112, 1112, 1127, 1127, 1127, 1127,
+ 1127, 1127, 1127, 1127, 1127, 1127, 252, 246, 669, 669,
+ 158, 239, 156, 1017, 669, 1022, 1022, 1022, 1018, 1018,
+ 1018, 1018, 1018, 1018, 1018, 1127, 1127, 1127, 1127, 1127,
+ 1127, 1127, 1127, 1127, 1127, 1165, 158, 1166, 1166, 1166,
+ 1166, 1166, 1166, 1166, 1166, 1166, 1166, 197, 768, 768,
+ 232, 194, 156, 861, 768, 1030, 1030, 1030, 1030, 1030,
+ 1030, 1030, 1030, 1030, 1030, 951, 861, 185, 1031, 1031,
+
+ 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1032, 224,
+ 222, 200, 1033, 1033, 1033, 1033, 1033, 1033, 1165, 199,
+ 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
+ 1145, 196, 1146, 1146, 1146, 1146, 1146, 1146, 1033, 1033,
+ 1033, 1033, 1033, 1033, 1037, 1038, 1039, 1037, 1037, 1037,
+ 1037, 1037, 1037, 1037, 1040, 195, 192, 182, 1041, 1041,
+ 1041, 1041, 1041, 1041, 1165, 170, 1168, 1168, 1168, 1168,
+ 1168, 1169, 1166, 1166, 1166, 1166, 1165, 159, 1166, 1166,
+ 1166, 1166, 1166, 1166, 1041, 1041, 1041, 1041, 1041, 1041,
+ 568, 342, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
+
+ 1047, 1047, 1083, 158, 1084, 1084, 1084, 1084, 1084, 1084,
+ 1084, 1084, 1084, 1084, 156, 1159, 1241, 1241, 1140, 1159,
+ 1141, 1141, 1141, 1141, 1141, 1141, 1161, 1241, 1241, 1241,
+ 1161, 1177, 1178, 1179, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 299, 1083, 1160, 1085, 1085, 1085, 1085, 1085, 1085,
+ 1085, 1085, 1085, 1085, 1162, 1241, 1211, 156, 1212, 1212,
+ 1212, 1212, 1212, 1212, 314, 769, 769, 1241, 156, 1241,
+ 1241, 769, 770, 770, 282, 314, 1241, 282, 770, 282,
+ 1241, 299, 1083, 1241, 1086, 1086, 1086, 1086, 1086, 1087,
+ 1088, 1088, 1088, 1088, 1180, 1181, 1182, 1180, 1180, 1180,
+
+ 1180, 1180, 1180, 1180, 1145, 1241, 1146, 1146, 1146, 1146,
+ 1146, 1146, 1146, 1146, 1146, 1146, 1241, 1241, 1241, 1187,
+ 1241, 299, 1083, 1187, 1088, 1088, 1088, 1084, 1084, 1084,
+ 1084, 1084, 1084, 1084, 1145, 1241, 1146, 1146, 1146, 1146,
+ 1146, 1146, 1146, 1146, 1146, 1146, 861, 1188, 1185, 1185,
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1241, 1241,
+ 1241, 299, 1017, 1241, 1018, 1018, 1018, 1018, 1018, 1018,
+ 1018, 1018, 1018, 1018, 1241, 1241, 185, 1193, 1194, 1195,
+ 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1165, 1241, 1166,
+ 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1241,
+
+ 1241, 156, 1017, 1241, 1018, 1018, 1018, 1018, 1018, 1018,
+ 1018, 1018, 1018, 1018, 1165, 1241, 1166, 1166, 1166, 1166,
+ 1166, 1166, 1166, 1166, 1166, 1166, 1241, 1241, 1241, 1241,
+ 1241, 1196, 1197, 1198, 1196, 1196, 1196, 1196, 1196, 1196,
+ 1196, 156, 861, 1241, 1101, 1101, 1101, 1101, 1101, 1101,
+ 1101, 1101, 1101, 1101, 1032, 861, 1241, 1102, 1102, 1102,
+ 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1103, 299, 1241,
+ 1241, 1104, 1104, 1104, 1104, 1104, 1104, 1171, 1241, 1172,
+ 1172, 1172, 1172, 1172, 1172, 1187, 859, 859, 1241, 1187,
+ 860, 860, 859, 1241, 1241, 1241, 860, 1104, 1104, 1104,
+
+ 1104, 1104, 1104, 1108, 1109, 1110, 1108, 1108, 1108, 1108,
+ 1108, 1108, 1108, 1188, 1241, 1241, 299, 1111, 1111, 1111,
+ 1111, 1111, 1111, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
+ 1204, 1204, 1204, 1241, 314, 944, 944, 1241, 1241, 1241,
+ 1241, 944, 1241, 1111, 1111, 1111, 1111, 1111, 1111, 1083,
+ 1241, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,
+ 1084, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
+ 1205, 1206, 1206, 1206, 1206, 1206, 1207, 1204, 1204, 1204,
+ 1204, 1028, 1028, 1241, 1099, 1099, 1241, 1028, 299, 1083,
+ 1099, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,
+
+ 1084, 1211, 1241, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1211, 1241, 1213, 1213, 1213, 1213, 1213,
+ 1213, 1213, 1213, 1213, 1213, 1241, 1241, 1241, 299, 1140,
+ 1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
+ 1141, 1211, 1241, 1214, 1214, 1214, 1214, 1214, 1215, 1212,
+ 1212, 1212, 1212, 1221, 1222, 1223, 1221, 1221, 1221, 1221,
+ 1221, 1221, 1221, 1241, 1150, 1150, 1241, 1241, 156, 1140,
+ 1150, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
+ 1142, 1241, 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200,
+ 156, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
+
+ 1204, 1183, 1183, 1241, 1241, 1241, 1241, 1183, 156, 1140,
+ 1241, 1143, 1143, 1143, 1143, 1143, 1144, 1141, 1141, 1141,
+ 1141, 156, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
+ 1204, 1204, 1225, 1226, 1227, 1225, 1225, 1225, 1225, 1225,
+ 1225, 1225, 1241, 1241, 1241, 1241, 1241, 1241, 156, 861,
+ 1241, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
+ 1152, 1103, 861, 1241, 1153, 1153, 1153, 1153, 1153, 1153,
+ 1153, 1153, 1153, 1153, 1241, 1241, 1241, 1241, 1154, 1154,
+ 1154, 1154, 1154, 1154, 1211, 1241, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1241, 1241, 1241, 1241,
+
+ 1241, 1241, 1241, 1241, 1154, 1154, 1154, 1154, 1154, 1154,
+ 1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
+ 1172, 1172, 1211, 1241, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1228, 1229, 1230, 1228, 1228, 1228,
+ 1228, 1228, 1228, 1228, 1241, 1241, 1241, 1241, 1241, 299,
+ 1171, 1241, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173,
+ 1173, 1173, 1241, 1216, 1241, 1217, 1217, 1217, 1217, 1217,
+ 1217, 299, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
+ 1231, 1231, 1241, 1231, 1231, 1231, 1231, 1231, 1231, 299,
+ 1171, 1241, 1174, 1174, 1174, 1174, 1174, 1175, 1172, 1172,
+
+ 1172, 1172, 299, 1241, 1241, 1241, 1241, 1241, 1241, 156,
+ 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
+ 156, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299,
+ 1140, 1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
+ 1141, 1141, 1241, 1241, 1241, 1241, 1241, 156, 1232, 1232,
+ 1232, 1232, 1232, 1233, 1231, 1231, 1231, 1231, 1235, 1235,
+ 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1241, 156,
+ 1140, 1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
+ 1141, 1141, 1241, 1241, 1241, 156, 1225, 1225, 1225, 1225,
+ 1225, 1225, 1225, 1225, 1225, 1225, 1236, 1236, 1236, 1236,
+
+ 1236, 1237, 1235, 1235, 1235, 1235, 1241, 1241, 1241, 156,
+ 1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
+ 1172, 1172, 1241, 1241, 1241, 1238, 1238, 1238, 1238, 1238,
+ 1238, 1238, 1238, 1238, 1238, 1228, 1228, 1228, 1228, 1228,
+ 1228, 1228, 1228, 1228, 1228, 1241, 1241, 1241, 1241, 299,
+ 1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
+ 1172, 1172, 299, 1241, 1241, 1238, 1238, 1238, 1238, 1238,
+ 1238, 1241, 299, 1239, 1239, 1239, 1239, 1239, 1240, 1238,
+ 1238, 1238, 1238, 1241, 1241, 1241, 1241, 1241, 1241, 299,
+ 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
+
+ 1200, 1200, 299, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 299, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
+ 1231, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 156,
+ 1199, 1241, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
+ 1201, 1201, 1241, 1241, 1241, 1241, 1241, 1241, 156, 1235,
+ 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1238,
+ 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 156,
+ 1199, 1241, 1202, 1202, 1202, 1202, 1202, 1203, 1200, 1200,
+ 1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 299, 1241, 1241, 1241,
+
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 156,
+ 1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
+ 1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299,
+ 1216, 1241, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
+ 1218, 1218, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299,
+ 1216, 1241, 1219, 1219, 1219, 1219, 1219, 1220, 1217, 1217,
+
+ 1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299,
+ 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
+ 1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 156,
+ 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
+ 1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 156,
+ 1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
+ 1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299,
+ 1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
+ 1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299,
+ 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
+
+ 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
+ 77, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 129, 129, 129, 129, 129,
+
+ 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
+ 129, 129, 129, 129, 129, 129, 155, 1241, 1241, 155,
+ 1241, 1241, 1241, 155, 1241, 155, 1241, 155, 155, 155,
+ 1241, 1241, 155, 155, 155, 155, 155, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 165, 1241,
+ 1241, 165, 1241, 1241, 165, 165, 1241, 165, 1241, 165,
+ 165, 165, 165, 1241, 165, 165, 165, 165, 165, 169,
+ 1241, 1241, 169, 1241, 1241, 1241, 169, 1241, 169, 1241,
+ 169, 169, 169, 1241, 1241, 169, 169, 169, 169, 169,
+
+ 171, 1241, 1241, 171, 171, 171, 1241, 171, 171, 171,
+ 1241, 171, 171, 171, 1241, 1241, 171, 171, 171, 171,
+ 171, 207, 207, 1241, 207, 207, 207, 1241, 207, 207,
+ 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
+ 207, 207, 229, 1241, 1241, 229, 229, 229, 1241, 229,
+ 229, 229, 1241, 229, 229, 229, 1241, 1241, 229, 229,
+ 229, 229, 229, 233, 233, 1241, 233, 233, 233, 1241,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 238, 1241, 1241, 238, 238, 238,
+ 1241, 238, 238, 238, 1241, 238, 238, 238, 1241, 238,
+
+ 238, 1241, 238, 238, 238, 244, 244, 1241, 244, 244,
+ 244, 1241, 1241, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 1241, 244, 244, 244, 247, 247, 247, 247,
+ 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+ 247, 247, 247, 247, 247, 247, 247, 251, 1241, 1241,
+ 251, 251, 1241, 1241, 251, 251, 251, 1241, 251, 251,
+ 251, 251, 1241, 251, 251, 251, 251, 251, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 262, 1225, 1225, 262, 1225, 1225, 262, 262, 1225, 262,
- 1225, 262, 262, 262, 262, 1225, 262, 262, 262, 262,
- 262, 266, 1225, 1225, 266, 1225, 1225, 1225, 266, 1225,
- 266, 1225, 266, 266, 266, 1225, 266, 266, 266, 266,
- 266, 266, 269, 1225, 1225, 269, 269, 269, 1225, 269,
- 269, 269, 1225, 269, 269, 269, 1225, 269, 269, 269,
- 269, 269, 269, 206, 206, 1225, 206, 206, 206, 1225,
- 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
- 206, 206, 206, 206, 293, 1225, 1225, 1225, 293, 293,
-
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 296, 1225, 1225, 296, 1225,
- 1225, 1225, 296, 1225, 296, 1225, 296, 296, 296, 1225,
- 1225, 296, 296, 296, 296, 296, 298, 1225, 1225, 298,
- 1225, 1225, 298, 298, 1225, 298, 1225, 298, 298, 298,
- 298, 1225, 298, 298, 298, 298, 298, 300, 1225, 1225,
- 300, 1225, 1225, 1225, 300, 1225, 300, 1225, 300, 300,
- 300, 1225, 1225, 300, 300, 300, 300, 300, 302, 1225,
- 1225, 302, 302, 302, 1225, 302, 302, 302, 1225, 302,
- 302, 302, 1225, 1225, 302, 302, 302, 302, 302, 324,
-
- 324, 1225, 324, 324, 324, 1225, 324, 324, 324, 324,
- 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
- 154, 1225, 1225, 154, 1225, 1225, 1225, 154, 1225, 154,
- 1225, 154, 154, 154, 1225, 1225, 154, 154, 154, 154,
- 154, 329, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 331, 331, 1225, 331, 331, 331, 331, 331,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 257,
+ 257, 1241, 257, 257, 1241, 257, 257, 257, 257, 257,
+
+ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
+ 264, 1241, 1241, 264, 1241, 1241, 264, 264, 1241, 264,
+ 1241, 264, 264, 264, 264, 1241, 264, 264, 264, 264,
+ 264, 268, 1241, 1241, 268, 1241, 1241, 1241, 268, 1241,
+ 268, 1241, 268, 268, 268, 1241, 268, 268, 268, 268,
+ 268, 268, 271, 1241, 1241, 271, 271, 271, 1241, 271,
+ 271, 271, 1241, 271, 271, 271, 1241, 271, 271, 271,
+ 271, 271, 271, 208, 208, 1241, 208, 208, 208, 1241,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 295, 1241, 1241, 1241, 295, 295,
+
+ 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 295, 298, 1241, 1241, 298, 1241,
+ 1241, 1241, 298, 1241, 298, 1241, 298, 298, 298, 1241,
+ 1241, 298, 298, 298, 298, 298, 300, 1241, 1241, 300,
+ 1241, 1241, 300, 300, 1241, 300, 1241, 300, 300, 300,
+ 300, 1241, 300, 300, 300, 300, 300, 302, 1241, 1241,
+ 302, 1241, 1241, 1241, 302, 1241, 302, 1241, 302, 302,
+ 302, 1241, 1241, 302, 302, 302, 302, 302, 304, 1241,
+ 1241, 304, 304, 304, 1241, 304, 304, 304, 1241, 304,
+ 304, 304, 1241, 1241, 304, 304, 304, 304, 304, 326,
+
+ 326, 1241, 326, 326, 326, 1241, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
+ 155, 1241, 1241, 155, 1241, 1241, 1241, 155, 1241, 155,
+ 1241, 155, 155, 155, 1241, 1241, 155, 155, 155, 155,
+ 155, 331, 331, 331, 331, 331, 331, 331, 331, 331,
331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
- 331, 331, 331, 164, 1225, 1225, 164, 1225, 1225, 1225,
- 164, 1225, 164, 1225, 164, 164, 164, 1225, 1225, 164,
-
- 164, 164, 164, 164, 168, 1225, 1225, 168, 1225, 1225,
- 1225, 168, 1225, 168, 1225, 168, 168, 168, 1225, 1225,
- 168, 168, 168, 168, 168, 170, 1225, 1225, 170, 170,
- 170, 1225, 170, 170, 170, 1225, 170, 170, 170, 1225,
- 1225, 170, 170, 170, 170, 170, 171, 1225, 1225, 171,
- 171, 171, 1225, 171, 171, 171, 1225, 171, 171, 171,
- 1225, 1225, 171, 171, 171, 171, 171, 341, 341, 341,
- 1225, 1225, 1225, 1225, 341, 205, 205, 1225, 205, 205,
- 205, 1225, 205, 205, 205, 205, 205, 205, 205, 205,
- 205, 205, 205, 205, 205, 205, 206, 206, 1225, 206,
-
- 206, 206, 1225, 206, 206, 206, 206, 206, 206, 206,
- 206, 206, 206, 206, 206, 206, 206, 227, 1225, 1225,
- 227, 227, 227, 1225, 227, 227, 227, 1225, 227, 227,
- 227, 1225, 1225, 227, 227, 227, 227, 227, 228, 1225,
- 1225, 228, 228, 228, 1225, 228, 228, 228, 1225, 228,
- 228, 228, 1225, 1225, 228, 228, 228, 228, 228, 231,
- 231, 1225, 231, 231, 231, 1225, 231, 231, 231, 231,
- 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
- 232, 232, 1225, 232, 232, 232, 1225, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
-
- 232, 236, 1225, 1225, 236, 236, 236, 1225, 236, 236,
- 236, 1225, 236, 236, 236, 1225, 236, 236, 1225, 236,
- 236, 236, 242, 242, 1225, 242, 242, 242, 1225, 1225,
- 242, 242, 242, 242, 242, 242, 242, 242, 242, 1225,
- 242, 242, 242, 249, 1225, 1225, 249, 249, 1225, 1225,
- 249, 249, 249, 1225, 249, 249, 249, 249, 1225, 249,
- 249, 249, 249, 249, 255, 255, 1225, 255, 255, 1225,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 265, 1225, 1225, 265, 1225,
- 1225, 1225, 265, 1225, 265, 1225, 265, 265, 265, 1225,
-
- 1225, 265, 265, 265, 265, 265, 266, 1225, 1225, 266,
- 1225, 1225, 1225, 266, 1225, 266, 1225, 266, 266, 266,
- 1225, 266, 266, 266, 266, 266, 266, 267, 1225, 1225,
- 267, 267, 1225, 267, 267, 1225, 1225, 267, 267, 269,
- 1225, 1225, 269, 269, 269, 1225, 269, 269, 269, 1225,
- 269, 269, 269, 1225, 269, 269, 269, 269, 269, 269,
- 293, 1225, 1225, 1225, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 296, 1225, 1225, 296, 1225, 1225, 1225, 296, 1225,
- 296, 1225, 296, 296, 296, 1225, 1225, 296, 296, 296,
-
- 296, 296, 298, 1225, 1225, 298, 1225, 1225, 1225, 298,
- 1225, 298, 1225, 298, 298, 298, 1225, 1225, 298, 298,
- 298, 298, 298, 300, 1225, 1225, 300, 1225, 1225, 1225,
- 300, 1225, 300, 1225, 300, 300, 300, 1225, 1225, 300,
- 300, 300, 300, 300, 302, 1225, 1225, 302, 302, 302,
- 1225, 302, 302, 302, 1225, 302, 302, 302, 1225, 1225,
- 302, 302, 302, 302, 302, 303, 1225, 1225, 303, 303,
- 303, 1225, 303, 303, 303, 1225, 303, 303, 303, 1225,
- 1225, 303, 303, 303, 303, 303, 324, 324, 1225, 324,
- 324, 324, 1225, 324, 324, 324, 324, 324, 324, 324,
-
- 324, 324, 324, 324, 324, 324, 324, 329, 329, 329,
- 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 329, 329, 329, 329, 329, 329, 442, 442,
- 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
- 442, 442, 442, 442, 442, 442, 442, 442, 442, 154,
- 1225, 1225, 154, 1225, 1225, 1225, 154, 1225, 154, 1225,
- 154, 154, 154, 1225, 1225, 154, 154, 154, 154, 154,
- 456, 456, 456, 1225, 1225, 1225, 1225, 456, 205, 205,
- 1225, 205, 205, 205, 1225, 205, 205, 205, 205, 205,
- 205, 205, 205, 205, 205, 205, 205, 205, 205, 232,
-
- 232, 1225, 232, 232, 232, 232, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- 231, 231, 1225, 231, 231, 231, 1225, 231, 231, 231,
- 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
- 231, 206, 206, 1225, 206, 206, 206, 1225, 206, 206,
- 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
- 206, 206, 563, 563, 563, 1225, 1225, 1225, 1225, 563,
- 462, 462, 462, 1225, 1225, 1225, 1225, 462, 329, 329,
- 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 329, 329, 329, 329, 329, 329, 329, 232,
-
- 232, 1225, 232, 232, 232, 1225, 232, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
- 666, 666, 666, 1225, 1225, 1225, 1225, 666, 670, 670,
- 670, 670, 1225, 1225, 1225, 1225, 670, 776, 776, 776,
- 1225, 1225, 1225, 1225, 776, 777, 777, 777, 777, 1225,
- 1225, 1225, 1225, 777, 869, 869, 869, 1225, 1225, 1225,
- 1225, 869, 870, 870, 870, 870, 1225, 1225, 1225, 1225,
- 870, 329, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 267, 1225, 1225, 267, 267, 1225, 267, 267,
-
- 1225, 1225, 267, 267, 296, 1225, 1225, 296, 1225, 1225,
- 1225, 296, 1225, 296, 1225, 296, 296, 296, 1225, 1225,
- 296, 296, 296, 296, 296, 940, 1225, 940, 940, 1225,
- 1225, 1225, 1225, 940, 958, 958, 958, 1225, 1225, 1225,
- 1225, 958, 959, 959, 959, 959, 1225, 1225, 1225, 1225,
- 959, 329, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 267, 1225, 1225, 267, 267, 1225, 267, 267,
- 1225, 1225, 267, 267, 296, 1225, 1225, 296, 1225, 1225,
- 1225, 296, 1225, 296, 1225, 296, 296, 296, 1225, 1225,
-
- 296, 296, 296, 296, 296, 1020, 1225, 1020, 1020, 1225,
- 1225, 1225, 1225, 1020, 1036, 1036, 1036, 1225, 1225, 1225,
- 1225, 1036, 1037, 1037, 1037, 1225, 1225, 1225, 1225, 1225,
- 1037, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
- 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
- 1050, 1050, 1055, 1055, 1225, 1055, 1055, 1055, 1055, 1055,
- 1225, 1055, 1225, 1055, 1055, 1055, 1225, 1225, 1055, 1055,
- 1055, 1055, 1055, 1061, 1061, 1225, 1061, 1061, 1061, 1061,
- 1061, 1225, 1061, 1225, 1061, 1061, 1061, 1225, 1225, 1061,
- 1061, 1061, 1061, 1061, 1090, 1225, 1090, 1090, 1225, 1225,
-
- 1225, 1225, 1090, 1140, 1225, 1140, 1140, 1225, 1225, 1225,
- 1225, 1140, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
- 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
- 1176, 1176, 1176, 21, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
-
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225
+ 331, 331, 333, 333, 1241, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+ 333, 333, 333, 165, 1241, 1241, 165, 1241, 1241, 1241,
+ 165, 1241, 165, 1241, 165, 165, 165, 1241, 1241, 165,
+
+ 165, 165, 165, 165, 169, 1241, 1241, 169, 1241, 1241,
+ 1241, 169, 1241, 169, 1241, 169, 169, 169, 1241, 1241,
+ 169, 169, 169, 169, 169, 171, 1241, 1241, 171, 171,
+ 171, 1241, 171, 171, 171, 1241, 171, 171, 171, 1241,
+ 1241, 171, 171, 171, 171, 171, 172, 1241, 1241, 172,
+ 172, 172, 1241, 172, 172, 172, 1241, 172, 172, 172,
+ 1241, 1241, 172, 172, 172, 172, 172, 343, 343, 343,
+ 1241, 1241, 1241, 1241, 343, 207, 207, 1241, 207, 207,
+ 207, 1241, 207, 207, 207, 207, 207, 207, 207, 207,
+ 207, 207, 207, 207, 207, 207, 208, 208, 1241, 208,
+
+ 208, 208, 1241, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 229, 1241, 1241,
+ 229, 229, 229, 1241, 229, 229, 229, 1241, 229, 229,
+ 229, 1241, 1241, 229, 229, 229, 229, 229, 230, 1241,
+ 1241, 230, 230, 230, 1241, 230, 230, 230, 1241, 230,
+ 230, 230, 1241, 1241, 230, 230, 230, 230, 230, 233,
+ 233, 1241, 233, 233, 233, 1241, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 234, 234, 1241, 234, 234, 234, 1241, 234, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
+
+ 234, 238, 1241, 1241, 238, 238, 238, 1241, 238, 238,
+ 238, 1241, 238, 238, 238, 1241, 238, 238, 1241, 238,
+ 238, 238, 244, 244, 1241, 244, 244, 244, 1241, 1241,
+ 244, 244, 244, 244, 244, 244, 244, 244, 244, 1241,
+ 244, 244, 244, 251, 1241, 1241, 251, 251, 1241, 1241,
+ 251, 251, 251, 1241, 251, 251, 251, 251, 1241, 251,
+ 251, 251, 251, 251, 257, 257, 1241, 257, 257, 1241,
+ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
+ 257, 257, 257, 257, 257, 267, 1241, 1241, 267, 1241,
+ 1241, 1241, 267, 1241, 267, 1241, 267, 267, 267, 1241,
+
+ 1241, 267, 267, 267, 267, 267, 268, 1241, 1241, 268,
+ 1241, 1241, 1241, 268, 1241, 268, 1241, 268, 268, 268,
+ 1241, 268, 268, 268, 268, 268, 268, 269, 1241, 1241,
+ 269, 269, 1241, 269, 269, 1241, 1241, 269, 269, 271,
+ 1241, 1241, 271, 271, 271, 1241, 271, 271, 271, 1241,
+ 271, 271, 271, 1241, 271, 271, 271, 271, 271, 271,
+ 295, 1241, 1241, 1241, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
+ 295, 298, 1241, 1241, 298, 1241, 1241, 1241, 298, 1241,
+ 298, 1241, 298, 298, 298, 1241, 1241, 298, 298, 298,
+
+ 298, 298, 300, 1241, 1241, 300, 1241, 1241, 1241, 300,
+ 1241, 300, 1241, 300, 300, 300, 1241, 1241, 300, 300,
+ 300, 300, 300, 302, 1241, 1241, 302, 1241, 1241, 1241,
+ 302, 1241, 302, 1241, 302, 302, 302, 1241, 1241, 302,
+ 302, 302, 302, 302, 304, 1241, 1241, 304, 304, 304,
+ 1241, 304, 304, 304, 1241, 304, 304, 304, 1241, 1241,
+ 304, 304, 304, 304, 304, 305, 1241, 1241, 305, 305,
+ 305, 1241, 305, 305, 305, 1241, 305, 305, 305, 1241,
+ 1241, 305, 305, 305, 305, 305, 326, 326, 1241, 326,
+ 326, 326, 1241, 326, 326, 326, 326, 326, 326, 326,
+
+ 326, 326, 326, 326, 326, 326, 326, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
+ 445, 445, 445, 445, 445, 445, 445, 445, 445, 155,
+ 1241, 1241, 155, 1241, 1241, 1241, 155, 1241, 155, 1241,
+ 155, 155, 155, 1241, 1241, 155, 155, 155, 155, 155,
+ 459, 459, 459, 1241, 1241, 1241, 1241, 459, 207, 207,
+ 1241, 207, 207, 207, 1241, 207, 207, 207, 207, 207,
+ 207, 207, 207, 207, 207, 207, 207, 207, 207, 234,
+
+ 234, 1241, 234, 234, 234, 234, 234, 234, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
+ 233, 233, 1241, 233, 233, 233, 1241, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 208, 208, 1241, 208, 208, 208, 1241, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 567, 567, 567, 1241, 1241, 1241, 1241, 567,
+ 465, 465, 465, 1241, 1241, 1241, 1241, 465, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 234,
+
+ 234, 1241, 234, 234, 234, 1241, 234, 234, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
+ 671, 671, 671, 1241, 1241, 1241, 1241, 671, 675, 675,
+ 675, 675, 1241, 1241, 1241, 1241, 675, 782, 782, 782,
+ 1241, 1241, 1241, 1241, 782, 783, 783, 783, 783, 1241,
+ 1241, 1241, 1241, 783, 876, 876, 876, 1241, 1241, 1241,
+ 1241, 876, 877, 877, 877, 877, 1241, 1241, 1241, 1241,
+ 877, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 269, 1241, 1241, 269, 269, 1241, 269, 269,
+
+ 1241, 1241, 269, 269, 298, 1241, 1241, 298, 1241, 1241,
+ 1241, 298, 1241, 298, 1241, 298, 298, 298, 1241, 1241,
+ 298, 298, 298, 298, 298, 948, 1241, 948, 948, 1241,
+ 1241, 1241, 1241, 948, 966, 966, 966, 1241, 1241, 1241,
+ 1241, 966, 967, 967, 967, 967, 1241, 1241, 1241, 1241,
+ 967, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 269, 1241, 1241, 269, 269, 1241, 269, 269,
+ 1241, 1241, 269, 269, 298, 1241, 1241, 298, 1241, 1241,
+ 1241, 298, 1241, 298, 1241, 298, 298, 298, 1241, 1241,
+
+ 298, 298, 298, 298, 298, 1029, 1241, 1029, 1029, 1241,
+ 1241, 1241, 1241, 1029, 1045, 1045, 1045, 1241, 1241, 1241,
+ 1241, 1045, 1046, 1046, 1046, 1241, 1241, 1241, 1241, 1241,
+ 1046, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
+ 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
+ 1060, 1060, 1065, 1065, 1241, 1065, 1065, 1065, 1065, 1065,
+ 1241, 1065, 1241, 1065, 1065, 1065, 1241, 1241, 1065, 1065,
+ 1065, 1065, 1065, 1071, 1071, 1241, 1071, 1071, 1071, 1071,
+ 1071, 1241, 1071, 1241, 1071, 1071, 1071, 1241, 1241, 1071,
+ 1071, 1071, 1071, 1071, 1100, 1241, 1100, 1100, 1241, 1241,
+
+ 1241, 1241, 1100, 1151, 1241, 1151, 1151, 1241, 1241, 1241,
+ 1241, 1151, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
+ 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
+ 1189, 1189, 1189, 21, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241
} ;
static yyconst flex_int16_t yy_chk[9611] =
@@ -1959,58 +1965,58 @@ static yyconst flex_int16_t yy_chk[9611] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 23, 372, 41,
- 2, 23, 63, 2, 5, 5, 372, 5, 5, 5,
- 41, 5, 6, 6, 481, 6, 6, 6, 5, 6,
+ 1, 1, 1, 1, 1, 1, 2, 23, 43, 41,
+ 2, 23, 43, 2, 5, 5, 375, 5, 5, 5,
+ 41, 5, 6, 6, 375, 6, 6, 6, 5, 6,
- 7, 7, 63, 7, 7, 7, 6, 7, 7, 29,
- 2, 2, 5, 5, 45, 2, 44, 49, 481, 44,
- 6, 6, 49, 2, 96, 45, 2, 3, 55, 44,
+ 7, 7, 55, 7, 7, 7, 6, 7, 7, 29,
+ 2, 2, 5, 5, 45, 2, 55, 49, 45, 502,
+ 6, 6, 49, 2, 69, 45, 2, 3, 69, 116,
29, 3, 13, 13, 3, 13, 13, 13, 13, 5,
- 46, 3, 55, 46, 3, 52, 65, 6, 14, 14,
- 96, 14, 14, 14, 14, 7, 1222, 29, 3, 103,
- 52, 3, 37, 37, 37, 37, 37, 37, 69, 3,
- 98, 3, 69, 3, 3, 65, 3, 8, 8, 383,
- 8, 8, 8, 3, 8, 8, 124, 13, 17, 17,
- 17, 17, 17, 17, 17, 383, 98, 84, 67, 3,
-
- 4, 84, 67, 14, 4, 34, 34, 4, 59, 103,
- 34, 34, 67, 159, 4, 159, 62, 4, 59, 62,
- 18, 18, 18, 18, 18, 18, 18, 59, 1216, 62,
- 34, 4, 8, 124, 4, 90, 90, 116, 90, 90,
- 116, 115, 4, 17, 4, 62, 4, 4, 106, 4,
- 92, 92, 115, 92, 92, 34, 4, 36, 36, 36,
- 36, 36, 36, 36, 36, 36, 36, 60, 329, 106,
- 329, 60, 4, 9, 9, 18, 9, 9, 9, 58,
+ 116, 3, 502, 44, 3, 52, 44, 6, 14, 14,
+ 44, 14, 14, 14, 14, 7, 44, 29, 3, 3,
+ 52, 3, 37, 37, 37, 37, 37, 37, 65, 3,
+ 160, 3, 160, 3, 3, 46, 3, 448, 46, 46,
+ 107, 8, 8, 3, 8, 8, 8, 13, 8, 8,
+ 17, 17, 17, 17, 17, 17, 17, 65, 67, 3,
+
+ 4, 107, 67, 14, 4, 34, 34, 4, 59, 63,
+ 34, 34, 67, 63, 4, 85, 448, 4, 59, 85,
+ 18, 18, 18, 18, 18, 18, 18, 59, 107, 63,
+ 34, 4, 4, 76, 4, 1238, 8, 91, 91, 128,
+ 91, 91, 4, 76, 4, 17, 4, 4, 128, 4,
+ 93, 93, 76, 93, 93, 34, 4, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 60, 104, 97,
+ 99, 60, 4, 9, 9, 18, 9, 9, 9, 58,
9, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 100, 100, 75, 100, 100, 106, 361, 361, 127,
+ 58, 62, 364, 364, 62, 97, 99, 117, 62, 183,
- 129, 60, 60, 75, 70, 70, 60, 102, 127, 70,
- 70, 102, 75, 142, 60, 68, 142, 60, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 9, 70,
+ 117, 60, 60, 125, 62, 157, 60, 101, 101, 157,
+ 101, 101, 103, 183, 60, 142, 103, 60, 104, 226,
+ 62, 106, 106, 226, 106, 106, 142, 106, 9, 130,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 10, 10,
- 129, 10, 10, 10, 70, 10, 209, 105, 105, 209,
- 105, 105, 102, 105, 110, 110, 110, 110, 110, 110,
- 110, 110, 110, 110, 111, 111, 111, 111, 111, 111,
- 125, 1198, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 131, 131, 206, 131, 131, 138, 138, 138,
+ 125, 10, 10, 10, 68, 10, 134, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 103, 112, 112,
+ 112, 112, 112, 112, 1234, 70, 70, 134, 205, 130,
+ 70, 70, 111, 111, 111, 111, 111, 111, 111, 111,
+ 111, 111, 139, 139, 139, 139, 139, 139, 132, 132,
- 138, 138, 138, 10, 219, 10, 10, 10, 10, 10,
+ 70, 132, 132, 10, 134, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 11, 11, 133, 11, 11, 11, 11,
- 11, 141, 181, 203, 322, 182, 11, 11, 11, 135,
- 135, 206, 141, 181, 135, 135, 133, 131, 166, 182,
- 371, 219, 11, 137, 137, 137, 137, 137, 137, 137,
- 137, 137, 137, 156, 135, 371, 210, 156, 222, 166,
- 235, 153, 210, 133, 220, 222, 235, 1173, 11, 12,
- 12, 153, 12, 12, 12, 12, 12, 203, 322, 135,
- 153, 220, 12, 12, 12, 152, 166, 152, 152, 152,
-
- 152, 152, 152, 152, 152, 152, 152, 580, 12, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 163,
- 163, 163, 163, 163, 163, 163, 163, 163, 163, 201,
- 201, 580, 201, 201, 12, 15, 15, 15, 15, 15,
+ 10, 10, 10, 11, 11, 70, 11, 11, 11, 11,
+ 11, 143, 205, 331, 143, 331, 11, 11, 11, 126,
+ 182, 126, 126, 126, 126, 126, 126, 126, 126, 126,
+ 126, 182, 11, 132, 167, 228, 136, 136, 208, 228,
+ 1231, 136, 136, 138, 138, 138, 138, 138, 138, 138,
+ 138, 138, 138, 211, 222, 167, 211, 154, 11, 12,
+ 12, 136, 12, 12, 12, 12, 12, 154, 1212, 212,
+ 223, 222, 12, 12, 12, 212, 154, 203, 203, 245,
+
+ 203, 203, 167, 245, 223, 208, 136, 153, 12, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 240,
+ 240, 1185, 240, 240, 12, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
@@ -2026,989 +2032,989 @@ static yyconst flex_int16_t yy_chk[9611] =
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 19, 19, 19, 19, 19, 19, 28, 165, 28,
- 232, 165, 165, 165, 165, 165, 165, 165, 165, 165,
-
- 165, 28, 290, 290, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 35, 221, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 258, 449, 221,
- 35, 35, 35, 35, 35, 35, 327, 232, 1171, 327,
- 218, 155, 155, 155, 155, 155, 218, 224, 155, 155,
- 290, 224, 155, 35, 218, 449, 35, 35, 35, 35,
- 35, 35, 42, 488, 550, 42, 155, 155, 155, 226,
- 243, 42, 42, 226, 243, 42, 42, 258, 42, 42,
+ 19, 19, 19, 19, 19, 19, 19, 28, 260, 28,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+
+ 221, 28, 807, 234, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 35, 807, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 297, 1183, 224,
+ 35, 35, 35, 35, 35, 35, 224, 452, 260, 324,
+ 220, 156, 156, 156, 156, 156, 220, 221, 156, 156,
+ 234, 262, 156, 35, 220, 262, 35, 35, 35, 35,
+ 35, 35, 42, 237, 452, 42, 156, 156, 156, 237,
+ 329, 42, 42, 329, 384, 42, 42, 297, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 488, 550, 42, 42, 42, 42, 42, 42,
+ 42, 42, 384, 324, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 330,
- 472, 330, 47, 47, 47, 47, 47, 47, 472, 217,
- 223, 217, 47, 208, 223, 260, 208, 170, 170, 260,
- 208, 208, 170, 170, 223, 331, 262, 331, 47, 47,
- 47, 47, 47, 47, 56, 56, 1154, 56, 56, 56,
- 56, 56, 170, 382, 56, 56, 382, 262, 56, 173,
-
- 173, 173, 173, 173, 173, 173, 173, 173, 173, 377,
- 328, 377, 56, 56, 56, 57, 328, 170, 208, 57,
- 57, 57, 295, 57, 262, 57, 57, 217, 341, 57,
- 167, 167, 167, 167, 167, 343, 173, 167, 167, 341,
- 343, 167, 445, 57, 57, 57, 179, 179, 179, 179,
- 179, 179, 378, 1143, 378, 167, 167, 167, 177, 177,
- 177, 177, 177, 177, 177, 177, 177, 177, 377, 381,
- 57, 61, 295, 61, 379, 169, 169, 169, 169, 169,
- 379, 445, 169, 169, 473, 61, 169, 381, 61, 61,
- 61, 61, 61, 61, 61, 61, 61, 61, 473, 386,
-
- 169, 169, 169, 178, 178, 178, 178, 178, 178, 178,
- 178, 178, 178, 194, 194, 370, 370, 194, 370, 194,
- 194, 465, 1142, 194, 412, 194, 194, 204, 204, 211,
- 204, 204, 234, 211, 389, 234, 61, 74, 465, 234,
- 234, 74, 74, 74, 582, 74, 386, 74, 74, 389,
- 370, 74, 225, 225, 225, 225, 225, 225, 225, 225,
- 225, 225, 582, 211, 211, 74, 74, 74, 211, 238,
- 238, 412, 238, 238, 246, 246, 211, 246, 246, 211,
- 456, 390, 204, 227, 227, 390, 467, 234, 227, 227,
- 848, 456, 74, 82, 82, 250, 82, 82, 82, 250,
-
- 82, 250, 250, 467, 480, 82, 257, 82, 227, 250,
- 257, 263, 480, 230, 230, 413, 413, 230, 413, 230,
- 230, 82, 82, 230, 250, 230, 254, 254, 848, 254,
- 254, 440, 263, 227, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 439, 439, 440, 439, 82, 82,
- 91, 479, 91, 259, 259, 326, 259, 259, 326, 263,
- 479, 257, 326, 326, 91, 489, 463, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 107, 463, 439,
- 107, 254, 442, 1140, 442, 270, 107, 107, 485, 270,
- 107, 469, 270, 107, 107, 264, 264, 264, 264, 270,
-
- 457, 489, 264, 264, 294, 485, 264, 107, 294, 107,
- 326, 457, 469, 270, 270, 276, 276, 276, 276, 276,
- 276, 264, 264, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 107, 107, 107, 108, 1139, 443, 108,
- 443, 468, 108, 108, 477, 108, 108, 108, 108, 108,
- 501, 476, 108, 108, 268, 268, 268, 268, 268, 294,
- 468, 268, 268, 476, 477, 268, 108, 108, 108, 274,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 268,
- 268, 268, 275, 275, 275, 275, 275, 275, 275, 275,
- 275, 275, 108, 108, 108, 109, 484, 501, 109, 109,
-
- 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
- 109, 109, 484, 1135, 109, 109, 109, 109, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 453, 453, 453,
- 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 112, 588, 112,
- 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 470, 475, 588, 112, 112, 112, 112, 112, 112, 286,
- 286, 475, 470, 286, 498, 286, 286, 470, 482, 286,
- 589, 286, 310, 310, 310, 310, 310, 310, 589, 112,
-
- 112, 112, 112, 112, 112, 113, 500, 498, 482, 113,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 219,
+ 1166, 219, 47, 47, 47, 47, 47, 47, 332, 393,
+ 332, 259, 47, 393, 166, 259, 47, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 386, 47, 47,
+ 47, 47, 47, 47, 56, 56, 374, 56, 56, 56,
+ 56, 56, 296, 386, 56, 56, 296, 330, 56, 171,
+
+ 171, 374, 1154, 330, 171, 171, 180, 180, 180, 180,
+ 180, 180, 56, 56, 56, 57, 259, 219, 469, 57,
+ 57, 57, 345, 57, 171, 57, 57, 345, 343, 57,
+ 168, 168, 168, 168, 168, 469, 225, 168, 168, 343,
+ 225, 168, 459, 57, 57, 57, 333, 296, 333, 171,
+ 225, 264, 381, 459, 381, 168, 168, 168, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 382, 460,
+ 57, 61, 264, 61, 382, 170, 170, 170, 170, 170,
+ 460, 385, 170, 170, 385, 61, 170, 567, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 567, 264,
+
+ 170, 170, 170, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 206, 206, 210, 206, 206, 210, 292,
+ 292, 1153, 210, 210, 213, 492, 61, 75, 213, 392,
+ 174, 75, 75, 75, 380, 75, 380, 75, 75, 196,
+ 196, 75, 389, 196, 392, 196, 196, 416, 416, 196,
+ 416, 196, 196, 1151, 492, 75, 75, 75, 213, 213,
+ 229, 229, 415, 213, 443, 229, 229, 292, 206, 236,
+ 210, 213, 236, 265, 213, 471, 236, 236, 445, 443,
+ 445, 479, 75, 83, 83, 229, 83, 83, 83, 389,
+
+ 83, 479, 471, 380, 265, 83, 466, 83, 227, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 466, 415,
+ 229, 83, 83, 232, 232, 1150, 446, 232, 446, 232,
+ 232, 265, 468, 232, 236, 232, 248, 248, 483, 248,
+ 248, 256, 256, 481, 256, 256, 472, 483, 83, 83,
+ 92, 468, 92, 249, 249, 249, 249, 249, 249, 249,
+ 249, 249, 249, 481, 92, 472, 489, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 108, 261, 261,
+ 108, 261, 261, 489, 470, 252, 108, 108, 470, 252,
+ 108, 252, 252, 108, 108, 328, 256, 272, 328, 252,
+
+ 1146, 272, 328, 328, 272, 373, 373, 108, 373, 108,
+ 528, 272, 470, 528, 252, 273, 273, 273, 273, 273,
+ 273, 273, 273, 273, 273, 272, 272, 278, 278, 278,
+ 278, 278, 278, 108, 108, 108, 109, 477, 802, 109,
+ 373, 802, 109, 109, 486, 109, 109, 109, 109, 109,
+ 328, 477, 109, 109, 266, 266, 266, 266, 456, 456,
+ 456, 266, 266, 488, 486, 266, 109, 109, 109, 276,
+ 276, 276, 276, 276, 276, 276, 276, 276, 276, 488,
+ 266, 266, 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 109, 109, 109, 110, 504, 581, 110, 110,
+
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 581, 504, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 110, 473, 1139, 505,
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 110, 113, 473, 113,
113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 1128, 500, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 1122, 601, 113,
- 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 113, 113, 117, 117, 117,
- 117, 117, 117, 117, 117, 117, 117, 117, 591, 601,
- 490, 117, 117, 117, 117, 117, 117, 490, 513, 302,
- 302, 117, 591, 513, 302, 302, 308, 308, 308, 308,
-
- 308, 308, 308, 308, 308, 308, 474, 117, 117, 117,
- 117, 117, 117, 136, 302, 136, 136, 136, 136, 136,
- 136, 136, 136, 136, 136, 136, 497, 474, 497, 136,
- 136, 136, 136, 136, 136, 524, 533, 529, 524, 302,
- 297, 297, 297, 297, 297, 466, 502, 297, 297, 466,
- 688, 297, 136, 502, 1112, 136, 136, 136, 136, 136,
- 136, 139, 552, 533, 139, 297, 297, 297, 688, 552,
- 139, 139, 576, 466, 139, 139, 529, 139, 139, 139,
- 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
- 139, 576, 497, 139, 139, 139, 139, 139, 139, 139,
-
- 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
- 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
- 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
- 139, 139, 139, 139, 139, 139, 139, 143, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 563, 551,
- 593, 143, 143, 143, 143, 143, 143, 487, 593, 563,
- 487, 143, 305, 305, 305, 305, 305, 305, 305, 305,
- 305, 305, 323, 323, 478, 323, 323, 143, 143, 143,
- 143, 143, 143, 150, 150, 551, 150, 150, 150, 150,
- 150, 538, 487, 150, 150, 478, 538, 150, 1107, 305,
-
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 581, 150, 150, 150, 151, 587, 581, 577, 151, 151,
- 151, 587, 151, 583, 151, 151, 499, 323, 151, 299,
- 299, 299, 299, 299, 596, 584, 299, 299, 577, 583,
- 299, 596, 151, 151, 151, 460, 460, 460, 460, 460,
- 460, 807, 807, 499, 299, 299, 299, 584, 592, 604,
- 301, 301, 301, 301, 301, 604, 1106, 301, 301, 151,
- 172, 301, 499, 172, 172, 172, 172, 172, 592, 549,
- 172, 172, 549, 600, 172, 301, 301, 301, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 172, 172,
-
- 172, 174, 590, 174, 174, 174, 174, 174, 174, 174,
- 174, 174, 174, 174, 549, 594, 600, 174, 174, 174,
- 174, 174, 174, 319, 319, 565, 565, 319, 471, 319,
- 319, 590, 471, 319, 598, 319, 594, 565, 567, 567,
- 174, 609, 599, 174, 174, 174, 174, 174, 174, 183,
- 567, 514, 183, 609, 611, 514, 471, 598, 183, 183,
- 611, 687, 183, 183, 599, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 514,
- 687, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
-
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 184, 184, 184, 184, 184,
- 184, 184, 184, 184, 184, 184, 808, 808, 603, 184,
- 184, 184, 184, 184, 184, 333, 333, 333, 333, 333,
- 333, 333, 333, 333, 333, 444, 444, 444, 444, 444,
- 444, 444, 444, 444, 444, 184, 184, 184, 184, 184,
- 184, 205, 602, 603, 517, 205, 205, 205, 517, 205,
- 384, 205, 205, 655, 384, 205, 595, 384, 1102, 655,
- 683, 610, 444, 666, 384, 595, 683, 652, 1090, 205,
-
- 205, 205, 517, 610, 666, 602, 651, 511, 384, 384,
- 391, 511, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 391, 608, 517, 608, 515, 205, 229, 652, 515,
- 229, 229, 229, 229, 229, 511, 695, 229, 229, 651,
- 392, 229, 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 511, 515, 654, 229, 229, 229, 231, 653,
- 695, 515, 231, 231, 231, 692, 231, 657, 231, 231,
- 1089, 393, 231, 393, 393, 393, 393, 393, 393, 393,
- 393, 393, 393, 686, 692, 697, 231, 231, 231, 654,
- 415, 686, 653, 697, 415, 608, 448, 415, 448, 448,
-
- 448, 448, 448, 448, 415, 507, 657, 507, 507, 507,
- 507, 507, 507, 231, 266, 670, 689, 266, 415, 415,
- 671, 671, 691, 266, 266, 698, 670, 266, 672, 672,
- 266, 266, 671, 725, 1081, 448, 790, 689, 725, 691,
- 672, 512, 698, 790, 266, 512, 266, 452, 452, 452,
- 452, 452, 452, 452, 452, 452, 452, 452, 459, 459,
- 459, 459, 459, 459, 459, 459, 459, 459, 794, 512,
- 266, 266, 266, 269, 794, 693, 269, 795, 1080, 269,
- 269, 795, 269, 269, 269, 269, 269, 693, 512, 269,
- 269, 462, 693, 462, 462, 462, 462, 462, 462, 462,
-
- 462, 462, 462, 269, 269, 269, 503, 503, 503, 503,
- 503, 503, 503, 503, 503, 503, 505, 696, 505, 505,
- 505, 505, 505, 505, 505, 505, 505, 505, 711, 269,
- 269, 269, 272, 696, 272, 272, 272, 272, 272, 272,
- 272, 272, 272, 272, 272, 701, 711, 1072, 272, 272,
- 272, 272, 272, 272, 506, 800, 506, 506, 506, 506,
- 506, 506, 506, 506, 506, 506, 701, 800, 1071, 535,
- 674, 674, 706, 535, 272, 272, 272, 272, 272, 272,
- 277, 819, 674, 706, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 535, 819, 277,
-
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 886, 886, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 710, 712, 1070, 278, 278, 278, 278,
- 278, 278, 516, 802, 710, 712, 516, 802, 518, 519,
- 1068, 814, 518, 519, 532, 737, 532, 532, 532, 532,
- 532, 532, 278, 278, 278, 278, 278, 278, 304, 814,
- 516, 304, 304, 304, 304, 304, 518, 519, 304, 304,
-
- 748, 758, 304, 838, 516, 748, 518, 838, 709, 519,
- 709, 1064, 758, 532, 737, 806, 304, 304, 304, 306,
- 806, 306, 306, 306, 306, 306, 306, 306, 306, 306,
- 306, 306, 801, 1047, 801, 306, 306, 306, 306, 306,
- 306, 776, 777, 539, 578, 522, 805, 539, 578, 522,
- 520, 585, 776, 777, 520, 585, 818, 805, 306, 818,
- 1046, 306, 306, 306, 306, 306, 306, 311, 709, 799,
- 311, 539, 578, 522, 1042, 799, 311, 311, 520, 585,
- 311, 311, 1037, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 522, 520, 311,
-
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 312, 312, 312, 312, 312, 312, 312,
- 312, 312, 312, 312, 778, 778, 1020, 312, 312, 312,
- 312, 312, 312, 521, 523, 1039, 778, 521, 523, 528,
- 528, 528, 528, 528, 528, 528, 528, 528, 528, 831,
- 817, 1039, 817, 312, 312, 312, 312, 312, 312, 324,
- 831, 521, 523, 324, 324, 324, 820, 324, 828, 324,
-
- 324, 779, 779, 324, 781, 781, 528, 843, 523, 827,
- 828, 843, 521, 779, 820, 827, 781, 324, 324, 324,
- 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
- 558, 564, 564, 564, 564, 564, 564, 564, 564, 564,
- 564, 817, 1019, 889, 324, 334, 889, 334, 334, 334,
- 334, 334, 334, 334, 334, 334, 334, 566, 566, 566,
- 566, 566, 566, 566, 566, 566, 566, 570, 570, 570,
- 570, 570, 570, 570, 570, 832, 840, 924, 924, 570,
- 832, 842, 840, 842, 334, 335, 1015, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 572, 572, 572,
-
- 572, 572, 572, 572, 572, 572, 572, 573, 573, 573,
- 573, 573, 573, 656, 656, 656, 656, 656, 656, 656,
- 656, 656, 656, 1004, 335, 336, 841, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 575, 841, 575,
- 575, 575, 575, 575, 575, 575, 575, 575, 575, 612,
- 656, 612, 612, 612, 612, 612, 612, 612, 612, 612,
- 612, 884, 918, 884, 336, 337, 337, 337, 337, 337,
- 337, 337, 337, 337, 337, 337, 961, 961, 997, 337,
- 337, 337, 337, 337, 337, 613, 844, 613, 613, 613,
- 613, 613, 613, 613, 613, 613, 613, 844, 845, 1050,
-
- 918, 1050, 337, 845, 846, 337, 337, 337, 337, 337,
- 337, 340, 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 846, 962, 962, 340, 340, 340, 340, 340,
- 340, 614, 855, 614, 614, 614, 614, 614, 614, 614,
- 614, 614, 614, 617, 855, 927, 996, 617, 927, 968,
- 968, 340, 340, 340, 340, 340, 340, 342, 342, 342,
- 342, 342, 342, 342, 342, 342, 342, 342, 342, 974,
- 974, 617, 342, 342, 342, 342, 342, 342, 618, 899,
- 623, 621, 618, 627, 623, 621, 869, 627, 680, 680,
- 680, 680, 680, 680, 870, 617, 899, 869, 342, 342,
-
- 342, 342, 342, 342, 344, 870, 618, 344, 623, 621,
- 994, 627, 618, 344, 344, 621, 623, 344, 344, 627,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 1006, 1006, 344, 344, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
- 345, 857, 985, 888, 345, 345, 345, 345, 345, 345,
-
- 622, 624, 882, 857, 622, 624, 888, 625, 882, 973,
- 628, 625, 973, 626, 628, 629, 1053, 626, 1053, 629,
- 345, 345, 345, 345, 345, 345, 368, 941, 622, 624,
- 368, 368, 368, 894, 368, 625, 368, 368, 628, 941,
- 368, 626, 622, 629, 911, 628, 894, 871, 871, 625,
- 872, 872, 874, 874, 368, 368, 368, 911, 624, 871,
- 975, 626, 872, 975, 874, 660, 629, 660, 660, 660,
- 660, 660, 660, 677, 677, 677, 677, 677, 677, 677,
- 677, 368, 369, 942, 926, 677, 369, 369, 369, 369,
- 369, 944, 369, 369, 958, 942, 369, 926, 685, 984,
-
- 981, 984, 685, 944, 660, 958, 995, 980, 1009, 995,
- 369, 369, 369, 667, 970, 667, 667, 667, 667, 667,
- 667, 667, 667, 667, 667, 668, 685, 668, 668, 668,
- 668, 668, 668, 668, 668, 668, 668, 369, 387, 959,
- 1038, 1038, 387, 387, 387, 954, 387, 1009, 387, 387,
- 959, 669, 387, 669, 669, 669, 669, 669, 669, 669,
- 669, 669, 669, 1176, 984, 1176, 387, 387, 387, 673,
- 673, 673, 673, 673, 673, 673, 673, 673, 673, 679,
- 679, 679, 679, 679, 679, 679, 679, 679, 679, 1048,
- 1048, 690, 694, 387, 388, 690, 694, 1013, 388, 388,
-
- 388, 388, 388, 1005, 388, 388, 1005, 682, 388, 682,
- 682, 682, 682, 682, 682, 682, 682, 682, 682, 690,
- 694, 940, 388, 388, 388, 717, 936, 717, 717, 717,
- 717, 717, 717, 699, 700, 931, 1013, 699, 700, 713,
- 713, 713, 713, 713, 713, 713, 713, 713, 713, 388,
- 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
- 394, 699, 700, 928, 394, 394, 394, 394, 394, 394,
- 715, 966, 715, 715, 715, 715, 715, 715, 715, 715,
- 715, 715, 966, 1082, 1082, 718, 960, 960, 1036, 718,
- 394, 394, 394, 394, 394, 394, 396, 923, 960, 1036,
-
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 396, 396, 396, 718, 913, 396, 396, 396, 396, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 912, 909,
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397, 397, 1179,
- 908, 1179, 397, 397, 397, 397, 397, 397, 716, 903,
- 716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
- 719, 722, 723, 724, 719, 722, 723, 724, 397, 397,
-
- 397, 397, 397, 397, 416, 1021, 416, 416, 416, 416,
- 416, 416, 416, 416, 416, 416, 901, 1021, 719, 722,
- 723, 724, 1007, 897, 1022, 1007, 719, 1024, 726, 727,
- 728, 729, 726, 727, 728, 729, 1022, 723, 730, 1024,
- 724, 741, 730, 416, 417, 741, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 726, 727, 728, 729,
- 768, 768, 768, 768, 768, 768, 730, 896, 745, 741,
- 1091, 895, 745, 740, 728, 740, 740, 740, 740, 740,
- 740, 727, 1091, 417, 418, 1092, 418, 418, 418, 418,
- 418, 418, 418, 418, 418, 418, 745, 1092, 893, 736,
-
- 736, 736, 736, 736, 736, 736, 736, 736, 736, 749,
- 752, 753, 740, 749, 752, 753, 787, 787, 787, 787,
- 787, 787, 890, 418, 419, 885, 419, 419, 419, 419,
- 419, 419, 419, 419, 419, 419, 736, 749, 752, 753,
- 419, 419, 419, 419, 419, 419, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 419, 419, 419, 419,
- 419, 419, 421, 421, 421, 421, 421, 421, 421, 421,
- 421, 421, 1074, 1244, 1244, 1244, 421, 421, 421, 421,
- 421, 421, 770, 853, 770, 770, 770, 770, 770, 770,
-
- 770, 770, 770, 770, 775, 1078, 775, 775, 775, 775,
- 775, 775, 421, 421, 421, 421, 421, 421, 437, 1094,
- 852, 1074, 437, 437, 437, 839, 437, 833, 437, 437,
- 830, 1094, 437, 771, 771, 771, 771, 771, 771, 771,
- 771, 771, 771, 1054, 1078, 1054, 437, 437, 437, 773,
- 829, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 774, 1130, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 437, 438, 1141, 1160, 1187, 438, 438,
- 438, 438, 438, 826, 438, 438, 825, 1141, 438, 780,
- 780, 780, 780, 780, 780, 780, 780, 780, 780, 816,
-
- 815, 1130, 438, 438, 438, 784, 784, 784, 784, 784,
- 784, 784, 784, 1054, 813, 1160, 1187, 784, 786, 786,
- 786, 786, 786, 786, 786, 786, 786, 786, 796, 438,
- 446, 772, 446, 446, 446, 446, 446, 446, 446, 446,
- 446, 446, 789, 764, 789, 789, 789, 789, 789, 789,
- 789, 789, 789, 789, 791, 797, 803, 809, 791, 797,
- 803, 809, 811, 982, 898, 898, 811, 898, 898, 446,
- 447, 763, 447, 447, 447, 447, 447, 447, 447, 447,
- 447, 447, 791, 797, 803, 809, 982, 762, 982, 982,
- 811, 821, 821, 821, 821, 821, 821, 821, 821, 821,
-
- 821, 821, 863, 863, 863, 863, 863, 863, 757, 447,
- 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
- 458, 458, 458, 756, 755, 898, 458, 458, 458, 458,
- 458, 458, 822, 822, 822, 822, 822, 822, 822, 822,
- 822, 822, 822, 880, 880, 880, 880, 880, 880, 754,
- 751, 1203, 458, 458, 458, 458, 458, 458, 461, 461,
+ 478, 476, 484, 113, 113, 113, 113, 113, 113, 476,
+ 484, 270, 270, 270, 270, 270, 505, 491, 270, 270,
+ 491, 478, 270, 312, 312, 312, 312, 312, 312, 113,
+
+ 113, 113, 113, 113, 113, 114, 270, 270, 270, 114,
+ 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+ 114, 114, 491, 485, 114, 114, 114, 114, 114, 114,
+ 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+ 114, 114, 114, 114, 114, 114, 114, 485, 1133, 114,
+ 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+ 114, 114, 114, 114, 114, 114, 114, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 480, 537,
+ 494, 118, 118, 118, 118, 118, 118, 494, 288, 288,
+ 480, 118, 288, 482, 288, 288, 1117, 594, 288, 475,
+
+ 288, 442, 442, 475, 442, 594, 537, 118, 118, 118,
+ 118, 118, 118, 137, 482, 137, 137, 137, 137, 137,
+ 137, 137, 137, 137, 137, 137, 493, 475, 506, 137,
+ 137, 137, 137, 137, 137, 506, 442, 474, 608, 556,
+ 299, 299, 299, 299, 299, 503, 556, 299, 299, 474,
+ 580, 299, 137, 533, 474, 137, 137, 137, 137, 137,
+ 137, 140, 493, 517, 140, 299, 299, 299, 517, 580,
+ 140, 140, 503, 608, 140, 140, 1116, 140, 140, 140,
+ 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+ 140, 503, 533, 140, 140, 140, 140, 140, 140, 140,
+
+ 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+ 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+ 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+ 140, 140, 140, 140, 140, 140, 140, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144, 849, 555,
+ 849, 144, 144, 144, 144, 144, 144, 553, 321, 321,
+ 553, 144, 321, 1112, 321, 321, 304, 304, 321, 542,
+ 321, 304, 304, 501, 542, 501, 597, 144, 144, 144,
+ 144, 144, 144, 151, 151, 555, 151, 151, 151, 151,
+ 151, 304, 553, 151, 151, 1100, 597, 151, 307, 307,
+
+ 307, 307, 307, 307, 307, 307, 307, 307, 587, 554,
+ 585, 151, 151, 151, 152, 598, 304, 518, 152, 152,
+ 152, 518, 152, 598, 152, 152, 587, 593, 152, 301,
+ 301, 301, 301, 301, 585, 307, 301, 301, 554, 501,
+ 301, 593, 152, 152, 152, 518, 586, 325, 325, 588,
+ 325, 325, 586, 592, 301, 301, 301, 582, 596, 592,
+ 303, 303, 303, 303, 303, 588, 919, 303, 303, 152,
+ 173, 303, 596, 173, 173, 173, 173, 173, 582, 919,
+ 173, 173, 605, 606, 173, 303, 303, 303, 310, 310,
+ 310, 310, 310, 310, 310, 310, 310, 310, 173, 173,
+
+ 173, 175, 325, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 606, 605, 1099, 175, 175, 175,
+ 175, 175, 175, 311, 311, 311, 311, 311, 311, 311,
+ 311, 311, 311, 463, 463, 463, 463, 463, 463, 589,
+ 175, 569, 569, 175, 175, 175, 175, 175, 175, 184,
+ 601, 539, 184, 569, 609, 539, 692, 601, 184, 184,
+ 609, 589, 184, 184, 692, 184, 184, 184, 184, 184,
+ 184, 184, 184, 184, 184, 184, 184, 184, 184, 539,
+ 1091, 184, 184, 184, 184, 184, 184, 184, 184, 184,
+ 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
+
+ 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
+ 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
+ 184, 184, 184, 184, 184, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 1060, 659, 1060, 185,
+ 185, 185, 185, 185, 185, 334, 334, 334, 334, 334,
+ 334, 334, 334, 334, 334, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 185, 185, 185, 185, 185,
+ 185, 207, 659, 701, 521, 207, 207, 207, 521, 207,
+ 387, 207, 207, 599, 387, 207, 451, 387, 451, 451,
+ 451, 451, 451, 451, 387, 595, 600, 701, 1090, 207,
+
+ 207, 207, 521, 607, 599, 600, 603, 515, 387, 387,
+ 394, 515, 394, 394, 394, 394, 394, 394, 394, 394,
+ 394, 394, 616, 521, 595, 451, 207, 231, 616, 603,
+ 231, 231, 231, 231, 231, 515, 607, 231, 231, 1082,
+ 395, 231, 395, 395, 395, 395, 395, 395, 395, 395,
+ 395, 395, 515, 660, 657, 231, 231, 231, 233, 660,
+ 656, 516, 233, 233, 233, 516, 233, 662, 233, 233,
+ 604, 396, 233, 396, 396, 396, 396, 396, 396, 396,
+ 396, 396, 396, 571, 571, 657, 233, 233, 233, 516,
+ 418, 855, 604, 656, 418, 571, 511, 418, 511, 511,
+
+ 511, 511, 511, 511, 418, 613, 662, 613, 516, 614,
+ 615, 689, 658, 233, 268, 671, 813, 268, 418, 418,
+ 813, 614, 615, 268, 268, 694, 671, 268, 689, 855,
+ 268, 268, 447, 447, 447, 447, 447, 447, 447, 447,
+ 447, 447, 743, 694, 268, 658, 268, 455, 455, 455,
+ 455, 455, 455, 455, 455, 455, 455, 455, 462, 462,
+ 462, 462, 462, 462, 462, 462, 462, 462, 688, 447,
+ 268, 268, 268, 271, 688, 697, 271, 675, 613, 271,
+ 271, 743, 271, 271, 271, 271, 271, 1081, 675, 271,
+ 271, 465, 697, 465, 465, 465, 465, 465, 465, 465,
+
+ 465, 465, 465, 271, 271, 271, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 509, 702, 509, 509,
+ 509, 509, 509, 509, 509, 509, 509, 509, 693, 271,
+ 271, 271, 274, 702, 274, 274, 274, 274, 274, 274,
+ 274, 274, 274, 274, 274, 695, 1080, 693, 274, 274,
+ 274, 274, 274, 274, 510, 699, 510, 510, 510, 510,
+ 510, 510, 510, 510, 510, 510, 695, 699, 1209, 543,
+ 676, 676, 699, 543, 274, 274, 274, 274, 274, 274,
+ 279, 704, 676, 1209, 279, 279, 279, 279, 279, 279,
+ 279, 279, 279, 279, 279, 279, 279, 543, 704, 279,
+
+ 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
+ 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
+ 279, 279, 800, 800, 279, 279, 279, 279, 279, 279,
+ 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
+ 279, 279, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 677, 677, 698, 280, 280, 280, 280,
+ 280, 280, 522, 703, 808, 677, 522, 808, 519, 520,
+ 712, 703, 519, 520, 698, 523, 1078, 679, 679, 523,
+ 707, 712, 280, 280, 280, 280, 280, 280, 306, 679,
+ 522, 306, 306, 306, 306, 306, 519, 520, 306, 306,
+
+ 522, 707, 306, 523, 519, 524, 525, 731, 754, 524,
+ 525, 520, 731, 754, 717, 523, 306, 306, 306, 308,
+ 1074, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 717, 524, 525, 308, 308, 308, 308, 308,
+ 308, 716, 812, 583, 590, 526, 622, 583, 590, 526,
+ 622, 806, 716, 524, 812, 525, 806, 718, 308, 803,
+ 803, 308, 308, 308, 308, 308, 308, 313, 718, 1052,
+ 313, 583, 590, 526, 622, 796, 313, 313, 932, 932,
+ 313, 313, 796, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 526, 622, 313,
+
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 764, 782, 891, 314, 314, 314,
+ 314, 314, 314, 527, 891, 764, 782, 527, 532, 532,
+ 532, 532, 532, 532, 532, 532, 532, 532, 691, 715,
+ 821, 715, 691, 314, 314, 314, 314, 314, 314, 326,
+ 783, 527, 835, 326, 326, 326, 834, 326, 821, 326,
+
+ 326, 783, 834, 326, 835, 532, 691, 527, 1046, 574,
+ 574, 574, 574, 574, 574, 574, 574, 326, 326, 326,
+ 536, 574, 536, 536, 536, 536, 536, 536, 562, 562,
+ 562, 562, 562, 562, 562, 562, 562, 562, 562, 715,
+ 809, 826, 1029, 809, 326, 336, 838, 336, 336, 336,
+ 336, 336, 336, 336, 336, 336, 336, 838, 826, 536,
+ 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
+ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
+ 825, 839, 1028, 825, 336, 337, 839, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 576, 576, 576,
+
+ 576, 576, 576, 576, 576, 576, 576, 577, 577, 577,
+ 577, 577, 577, 661, 661, 661, 661, 661, 661, 661,
+ 661, 661, 661, 1024, 337, 338, 848, 338, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 579, 848, 579,
+ 579, 579, 579, 579, 579, 579, 579, 579, 579, 617,
+ 661, 617, 617, 617, 617, 617, 617, 617, 617, 617,
+ 617, 824, 926, 824, 338, 339, 339, 339, 339, 339,
+ 339, 339, 339, 339, 339, 339, 969, 969, 1013, 339,
+ 339, 339, 339, 339, 339, 618, 862, 618, 618, 618,
+ 618, 618, 618, 618, 618, 618, 618, 801, 862, 845,
+
+ 926, 1006, 339, 845, 801, 339, 339, 339, 339, 339,
+ 339, 342, 342, 342, 342, 342, 342, 342, 342, 342,
+ 342, 342, 824, 1005, 896, 342, 342, 342, 342, 342,
+ 342, 619, 827, 619, 619, 619, 619, 619, 619, 619,
+ 619, 619, 619, 628, 850, 896, 1003, 628, 850, 902,
+ 827, 342, 342, 342, 342, 342, 342, 344, 344, 344,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 994,
+ 902, 628, 344, 344, 344, 344, 344, 344, 623, 628,
+ 632, 626, 623, 634, 632, 626, 672, 634, 672, 672,
+ 672, 672, 672, 672, 672, 672, 672, 672, 344, 344,
+
+ 344, 344, 344, 344, 346, 852, 623, 346, 632, 626,
+ 852, 634, 623, 346, 346, 626, 632, 346, 346, 1048,
+ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
+ 346, 346, 346, 346, 634, 1048, 346, 346, 346, 346,
+ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
+ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
+ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
+ 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
+ 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
+ 347, 784, 784, 990, 347, 347, 347, 347, 347, 347,
+
+ 627, 629, 847, 784, 627, 629, 864, 630, 847, 935,
+ 633, 630, 935, 631, 633, 696, 851, 631, 864, 696,
+ 347, 347, 347, 347, 347, 347, 371, 851, 627, 629,
+ 371, 371, 371, 853, 371, 630, 371, 371, 633, 876,
+ 371, 631, 627, 696, 893, 633, 877, 785, 785, 630,
+ 876, 853, 893, 989, 371, 371, 371, 877, 629, 785,
+ 665, 631, 665, 665, 665, 665, 665, 665, 673, 897,
+ 673, 673, 673, 673, 673, 673, 673, 673, 673, 673,
+ 897, 371, 372, 787, 787, 889, 372, 372, 372, 372,
+ 372, 889, 372, 372, 1004, 787, 372, 1004, 674, 665,
+
+ 674, 674, 674, 674, 674, 674, 674, 674, 674, 674,
+ 372, 372, 372, 678, 678, 678, 678, 678, 678, 678,
+ 678, 678, 678, 682, 682, 682, 682, 682, 682, 682,
+ 682, 962, 894, 878, 878, 682, 700, 372, 390, 894,
+ 700, 892, 390, 390, 390, 878, 390, 892, 390, 390,
+ 934, 1018, 390, 684, 684, 684, 684, 684, 684, 684,
+ 684, 684, 684, 934, 700, 966, 390, 390, 390, 685,
+ 685, 685, 685, 685, 685, 687, 966, 687, 687, 687,
+ 687, 687, 687, 687, 687, 687, 687, 705, 706, 898,
+ 1018, 705, 706, 390, 391, 970, 970, 898, 391, 391,
+
+ 391, 391, 391, 907, 391, 391, 949, 723, 391, 723,
+ 723, 723, 723, 723, 723, 705, 706, 993, 949, 993,
+ 907, 948, 391, 391, 391, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 721, 950, 721, 721, 721,
+ 721, 721, 721, 721, 721, 721, 721, 944, 950, 391,
+ 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
+ 397, 1015, 1015, 1224, 397, 397, 397, 397, 397, 397,
+ 722, 952, 722, 722, 722, 722, 722, 722, 722, 722,
+ 722, 722, 993, 952, 1224, 724, 879, 879, 967, 724,
+ 397, 397, 397, 397, 397, 397, 399, 1186, 879, 967,
+
+ 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
+ 399, 399, 399, 724, 1186, 399, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 399, 399, 399, 1047, 1047,
+ 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 399, 399, 399, 400, 400,
+ 400, 400, 400, 400, 400, 400, 400, 400, 400, 1063,
+ 939, 1063, 400, 400, 400, 400, 400, 400, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 725, 728,
+ 729, 730, 725, 728, 729, 730, 977, 936, 400, 400,
+
+ 400, 400, 400, 400, 419, 977, 419, 419, 419, 419,
+ 419, 419, 419, 419, 419, 419, 725, 728, 729, 730,
+ 974, 931, 992, 992, 725, 992, 992, 1022, 732, 733,
+ 734, 974, 732, 733, 734, 729, 735, 736, 730, 1014,
+ 735, 736, 1014, 419, 420, 921, 420, 420, 420, 420,
+ 420, 420, 420, 420, 420, 420, 732, 733, 734, 881,
+ 881, 979, 920, 983, 735, 736, 1022, 917, 747, 979,
+ 983, 881, 747, 746, 734, 746, 746, 746, 746, 746,
+ 746, 733, 1016, 420, 421, 1016, 421, 421, 421, 421,
+ 421, 421, 421, 421, 421, 421, 747, 1092, 1092, 742,
+
+ 742, 742, 742, 742, 742, 742, 742, 742, 742, 751,
+ 755, 758, 746, 751, 755, 758, 916, 1056, 759, 1189,
+ 911, 1189, 759, 421, 422, 1056, 422, 422, 422, 422,
+ 422, 422, 422, 422, 422, 422, 742, 751, 755, 758,
+ 422, 422, 422, 422, 422, 422, 759, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 774, 774, 774,
+ 774, 774, 774, 1158, 909, 905, 422, 422, 422, 422,
+ 422, 422, 424, 424, 424, 424, 424, 424, 424, 424,
+ 424, 424, 975, 1158, 904, 903, 424, 424, 424, 424,
+ 424, 424, 776, 975, 776, 776, 776, 776, 776, 776,
+
+ 776, 776, 776, 776, 781, 1084, 781, 781, 781, 781,
+ 781, 781, 424, 424, 424, 424, 424, 424, 440, 968,
+ 968, 901, 440, 440, 440, 1192, 440, 1192, 440, 440,
+ 860, 968, 440, 777, 777, 777, 777, 777, 777, 777,
+ 777, 777, 777, 859, 1084, 846, 440, 440, 440, 779,
+ 1030, 779, 779, 779, 779, 779, 779, 779, 779, 779,
+ 779, 780, 1030, 780, 780, 780, 780, 780, 780, 780,
+ 780, 780, 780, 440, 441, 982, 984, 1365, 441, 441,
+ 441, 441, 441, 1365, 441, 441, 982, 984, 441, 786,
+ 786, 786, 786, 786, 786, 786, 786, 786, 786, 840,
+
+ 837, 1031, 441, 441, 441, 790, 790, 790, 790, 790,
+ 790, 790, 790, 1031, 836, 833, 1033, 790, 792, 792,
+ 792, 792, 792, 792, 792, 792, 792, 792, 1033, 441,
+ 449, 832, 449, 449, 449, 449, 449, 449, 449, 449,
+ 449, 449, 793, 793, 793, 793, 793, 793, 795, 823,
+ 795, 795, 795, 795, 795, 795, 795, 795, 795, 795,
+ 798, 804, 810, 816, 798, 804, 810, 816, 1088, 449,
+ 450, 991, 450, 450, 450, 450, 450, 450, 450, 450,
+ 450, 450, 870, 870, 870, 870, 870, 870, 798, 804,
+ 810, 816, 822, 820, 991, 818, 991, 991, 1049, 818,
+
+ 887, 887, 887, 887, 887, 887, 815, 1088, 1049, 450,
461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
- 900, 750, 747, 461, 461, 461, 461, 461, 461, 823,
- 823, 823, 823, 823, 823, 823, 823, 823, 823, 823,
- 1203, 1237, 1237, 900, 746, 900, 900, 1237, 744, 461,
-
- 461, 461, 461, 461, 461, 464, 743, 971, 464, 983,
- 983, 971, 983, 983, 464, 464, 742, 735, 464, 464,
- 900, 464, 464, 464, 464, 464, 464, 464, 464, 464,
- 464, 464, 464, 464, 464, 971, 721, 464, 464, 464,
+ 461, 461, 461, 818, 814, 778, 461, 461, 461, 461,
+ 461, 461, 828, 828, 828, 828, 828, 828, 828, 828,
+ 828, 828, 828, 918, 1058, 906, 906, 918, 906, 906,
+ 770, 1058, 461, 461, 461, 461, 461, 461, 464, 464,
464, 464, 464, 464, 464, 464, 464, 464, 464, 464,
- 464, 464, 464, 464, 464, 464, 464, 464, 464, 464,
- 464, 464, 464, 464, 464, 464, 464, 464, 464, 464,
- 464, 464, 464, 464, 464, 464, 464, 464, 464, 464,
- 464, 508, 508, 508, 508, 508, 508, 508, 508, 508,
- 508, 508, 1276, 1276, 1276, 508, 508, 508, 508, 508,
-
- 508, 950, 950, 950, 950, 950, 950, 847, 847, 847,
- 847, 847, 847, 847, 847, 847, 847, 1146, 1146, 1146,
- 1146, 508, 508, 508, 508, 508, 508, 509, 720, 714,
- 708, 509, 509, 509, 509, 509, 509, 509, 509, 509,
- 509, 509, 509, 509, 847, 707, 509, 509, 509, 509,
- 509, 509, 509, 509, 509, 509, 509, 509, 509, 509,
- 509, 509, 509, 509, 509, 509, 509, 509, 509, 705,
- 704, 509, 509, 509, 509, 509, 509, 509, 509, 509,
- 509, 509, 509, 509, 509, 509, 509, 509, 509, 510,
- 703, 702, 684, 510, 851, 851, 851, 851, 851, 851,
-
- 851, 976, 978, 664, 663, 976, 978, 510, 510, 510,
- 510, 510, 510, 510, 510, 510, 510, 510, 662, 661,
- 650, 510, 510, 510, 510, 510, 510, 649, 648, 976,
- 978, 647, 851, 854, 854, 854, 854, 854, 854, 854,
- 854, 854, 854, 646, 645, 644, 643, 510, 510, 510,
- 510, 510, 510, 530, 642, 530, 530, 530, 530, 530,
- 530, 530, 530, 530, 530, 856, 856, 856, 856, 856,
- 856, 856, 856, 856, 856, 860, 641, 860, 860, 860,
- 860, 860, 860, 1343, 1343, 1051, 1051, 860, 1051, 1051,
- 1343, 640, 530, 531, 639, 531, 531, 531, 531, 531,
-
- 531, 531, 531, 531, 531, 862, 862, 862, 862, 862,
- 862, 862, 862, 862, 862, 865, 638, 865, 865, 865,
- 865, 865, 865, 865, 865, 865, 865, 634, 633, 632,
- 993, 631, 531, 553, 993, 553, 553, 553, 553, 553,
- 553, 553, 553, 553, 553, 866, 630, 866, 866, 866,
- 866, 866, 866, 866, 866, 866, 866, 867, 993, 867,
- 867, 867, 867, 867, 867, 867, 867, 867, 867, 620,
- 619, 616, 553, 554, 615, 554, 554, 554, 554, 554,
- 554, 554, 554, 554, 554, 868, 607, 868, 868, 868,
- 868, 868, 868, 868, 868, 868, 868, 873, 873, 873,
-
- 873, 873, 873, 873, 873, 873, 873, 1040, 1265, 1265,
- 606, 1040, 554, 555, 1265, 555, 555, 555, 555, 555,
- 555, 555, 555, 555, 555, 877, 877, 877, 877, 877,
- 877, 877, 877, 605, 597, 1040, 562, 877, 879, 879,
- 879, 879, 879, 879, 879, 879, 879, 879, 561, 560,
- 559, 557, 555, 568, 568, 568, 568, 568, 568, 568,
- 568, 568, 568, 568, 568, 568, 556, 548, 547, 568,
- 568, 568, 568, 568, 568, 881, 546, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 887, 891, 545,
- 544, 887, 891, 543, 542, 568, 568, 568, 568, 568,
-
- 568, 571, 571, 571, 571, 571, 571, 571, 571, 571,
- 571, 571, 571, 571, 541, 887, 891, 571, 571, 571,
- 571, 571, 571, 902, 902, 902, 902, 902, 902, 902,
- 902, 902, 902, 540, 892, 910, 887, 891, 892, 910,
- 537, 536, 534, 571, 571, 571, 571, 571, 571, 574,
- 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
- 574, 527, 892, 910, 574, 574, 574, 574, 574, 574,
- 904, 904, 904, 904, 904, 904, 904, 904, 904, 904,
- 904, 526, 986, 892, 910, 525, 986, 986, 986, 986,
- 574, 574, 574, 574, 574, 574, 635, 504, 635, 635,
-
- 635, 635, 635, 635, 635, 635, 635, 635, 905, 905,
- 905, 905, 905, 905, 905, 905, 905, 905, 905, 906,
- 906, 906, 906, 906, 906, 906, 496, 495, 914, 1043,
- 1069, 494, 914, 1043, 1069, 635, 636, 986, 636, 636,
- 636, 636, 636, 636, 636, 636, 636, 636, 957, 493,
- 957, 957, 957, 957, 957, 957, 914, 1043, 1069, 492,
- 915, 491, 486, 483, 915, 917, 917, 917, 917, 917,
- 917, 917, 917, 917, 917, 636, 637, 914, 637, 637,
- 637, 637, 637, 637, 637, 637, 637, 637, 915, 455,
- 921, 921, 921, 921, 921, 921, 921, 454, 451, 450,
-
- 436, 925, 917, 929, 930, 925, 1108, 929, 930, 915,
- 1108, 1266, 1266, 435, 434, 637, 658, 1266, 658, 658,
- 658, 658, 658, 658, 658, 658, 658, 658, 921, 925,
- 433, 929, 930, 937, 1108, 937, 937, 937, 937, 937,
- 937, 937, 937, 937, 937, 1114, 1114, 432, 1114, 1114,
- 925, 1349, 929, 930, 431, 658, 659, 1349, 659, 659,
- 659, 659, 659, 659, 659, 659, 659, 659, 938, 430,
- 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
- 939, 429, 939, 939, 939, 939, 939, 939, 939, 939,
- 939, 939, 428, 427, 426, 659, 665, 665, 665, 665,
-
- 665, 665, 665, 665, 665, 665, 665, 425, 424, 423,
- 665, 665, 665, 665, 665, 665, 943, 943, 943, 943,
- 943, 943, 943, 943, 943, 943, 949, 949, 949, 949,
- 949, 949, 949, 949, 949, 949, 665, 665, 665, 665,
- 665, 665, 675, 675, 675, 675, 675, 675, 675, 675,
- 675, 675, 675, 675, 675, 420, 414, 411, 675, 675,
- 675, 675, 675, 675, 947, 410, 947, 947, 947, 947,
- 947, 947, 409, 408, 407, 1018, 947, 1018, 1018, 1018,
- 1018, 1018, 1018, 406, 675, 675, 675, 675, 675, 675,
- 678, 678, 678, 678, 678, 678, 678, 678, 678, 678,
-
- 678, 678, 678, 405, 404, 403, 678, 678, 678, 678,
- 678, 678, 952, 402, 952, 952, 952, 952, 952, 952,
- 952, 952, 952, 952, 965, 965, 965, 965, 965, 965,
- 965, 965, 678, 678, 678, 678, 678, 678, 681, 681,
- 681, 681, 681, 681, 681, 681, 681, 681, 681, 681,
- 401, 400, 399, 681, 681, 681, 681, 681, 681, 953,
- 953, 953, 953, 953, 953, 953, 953, 953, 953, 398,
- 1121, 987, 395, 380, 1121, 987, 987, 987, 987, 681,
- 681, 681, 681, 681, 681, 738, 376, 738, 738, 738,
- 738, 738, 738, 738, 738, 738, 738, 955, 1121, 955,
-
- 955, 955, 955, 955, 955, 955, 955, 955, 955, 956,
- 375, 956, 956, 956, 956, 956, 956, 956, 956, 956,
- 956, 374, 373, 367, 738, 739, 987, 739, 739, 739,
- 739, 739, 739, 739, 739, 739, 739, 1014, 1014, 1014,
- 1014, 1014, 1014, 1014, 1014, 1014, 1014, 366, 967, 969,
- 365, 992, 967, 969, 1012, 992, 1012, 1012, 1012, 1012,
- 1012, 1012, 364, 363, 739, 759, 759, 759, 759, 759,
- 759, 759, 759, 759, 759, 759, 967, 969, 988, 992,
- 988, 988, 988, 988, 988, 988, 988, 988, 988, 988,
- 362, 1152, 1152, 1012, 1152, 1152, 1283, 967, 969, 1283,
-
- 992, 1283, 360, 759, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 989, 359, 989, 989, 989,
- 989, 989, 989, 989, 989, 989, 989, 990, 358, 990,
- 990, 990, 990, 990, 990, 990, 990, 990, 990, 357,
- 356, 355, 760, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 991, 354, 991, 991, 991, 991,
- 991, 991, 991, 991, 991, 991, 353, 1002, 1003, 352,
- 351, 1002, 1003, 1030, 1030, 1030, 1030, 1030, 1030, 350,
- 349, 761, 766, 348, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 1002, 1003, 346, 766, 766,
-
- 766, 766, 766, 766, 1008, 1008, 1008, 1008, 1008, 1008,
- 1008, 1008, 1008, 1008, 1045, 1079, 1002, 1003, 1045, 1079,
- 339, 338, 325, 321, 766, 766, 766, 766, 766, 766,
- 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
- 769, 1008, 1045, 1079, 769, 769, 769, 769, 769, 769,
- 1016, 320, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016,
- 1016, 1016, 1055, 1045, 1079, 318, 1055, 1055, 1055, 1055,
- 769, 769, 769, 769, 769, 769, 782, 782, 782, 782,
- 782, 782, 782, 782, 782, 782, 782, 782, 782, 317,
- 316, 315, 782, 782, 782, 782, 782, 782, 1017, 314,
-
- 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
- 1100, 1100, 1100, 1100, 1100, 1100, 313, 1055, 782, 782,
- 782, 782, 782, 782, 785, 785, 785, 785, 785, 785,
- 785, 785, 785, 785, 785, 785, 785, 307, 303, 300,
- 785, 785, 785, 785, 785, 785, 1023, 1023, 1023, 1023,
- 1023, 1023, 1023, 1023, 1023, 1023, 1029, 1029, 1029, 1029,
- 1029, 1029, 1029, 1029, 1029, 1029, 785, 785, 785, 785,
- 785, 785, 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 298, 296, 293, 292, 788, 788, 788,
- 788, 788, 788, 1027, 291, 1027, 1027, 1027, 1027, 1027,
-
- 1027, 288, 287, 285, 1067, 1027, 1067, 1067, 1067, 1067,
- 1067, 1067, 284, 788, 788, 788, 788, 788, 788, 793,
- 1060, 1307, 793, 1060, 1307, 283, 1307, 282, 793, 793,
- 1060, 1060, 793, 793, 1060, 793, 793, 793, 793, 793,
- 793, 793, 793, 793, 793, 793, 793, 793, 1060, 1060,
- 1060, 793, 793, 793, 793, 793, 793, 793, 793, 793,
- 793, 793, 793, 793, 793, 793, 793, 793, 793, 793,
- 793, 793, 793, 793, 793, 793, 793, 793, 793, 793,
- 793, 793, 793, 793, 793, 793, 793, 793, 793, 793,
- 793, 793, 793, 793, 793, 824, 281, 279, 273, 824,
-
- 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
- 265, 824, 261, 256, 824, 824, 824, 824, 824, 824,
- 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
- 824, 824, 824, 824, 824, 824, 824, 255, 253, 824,
- 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
- 824, 824, 824, 824, 824, 824, 824, 834, 834, 834,
- 834, 834, 834, 834, 834, 834, 834, 834, 1032, 249,
- 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
- 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
- 1033, 244, 239, 237, 233, 834, 835, 835, 835, 835,
-
- 835, 835, 835, 835, 835, 835, 835, 1034, 1034, 1034,
- 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1035, 1035,
- 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1110,
- 228, 216, 215, 1110, 835, 836, 836, 836, 836, 836,
- 836, 836, 836, 836, 836, 836, 214, 1147, 1056, 213,
- 212, 1147, 1056, 1056, 1056, 1056, 1059, 1110, 207, 1059,
- 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 200,
- 199, 198, 197, 836, 837, 1147, 1149, 837, 1110, 196,
- 1149, 195, 193, 837, 837, 192, 191, 837, 837, 190,
- 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
-
- 837, 837, 837, 1056, 1149, 189, 837, 837, 837, 837,
- 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
- 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
- 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
- 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
- 849, 849, 849, 849, 849, 849, 849, 849, 849, 849,
- 849, 1057, 1347, 188, 1347, 1057, 1057, 1057, 1057, 1058,
- 1347, 187, 186, 1058, 1058, 1058, 1058, 1063, 1063, 1063,
- 1063, 1063, 1063, 1063, 1063, 1063, 1063, 185, 849, 850,
- 850, 850, 850, 850, 850, 850, 850, 850, 850, 850,
-
- 1061, 180, 176, 175, 1061, 1061, 1061, 1061, 1105, 1105,
- 1105, 1105, 1105, 1105, 1105, 1077, 1057, 1077, 1077, 1077,
- 1077, 1077, 1077, 171, 1058, 168, 164, 850, 858, 161,
- 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 861, 158, 861, 861, 861, 861, 861, 861, 861,
- 861, 861, 861, 861, 1077, 1061, 154, 861, 861, 861,
- 861, 861, 861, 1065, 149, 1065, 1065, 1065, 1065, 1065,
- 1065, 1065, 1065, 1065, 1065, 1138, 148, 1138, 1138, 1138,
- 1138, 1138, 1138, 861, 861, 861, 861, 861, 861, 864,
- 864, 864, 864, 864, 864, 864, 864, 864, 864, 864,
-
- 147, 146, 145, 864, 864, 864, 864, 864, 864, 1066,
- 144, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066,
- 1066, 1111, 1120, 140, 134, 1111, 1120, 132, 128, 864,
- 864, 864, 864, 864, 864, 875, 875, 875, 875, 875,
- 875, 875, 875, 875, 875, 875, 875, 875, 123, 1111,
- 1120, 875, 875, 875, 875, 875, 875, 122, 1073, 1073,
- 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1158, 1174,
- 1111, 1120, 1158, 1174, 121, 120, 119, 875, 875, 875,
- 875, 875, 875, 878, 878, 878, 878, 878, 878, 878,
- 878, 878, 878, 878, 878, 1073, 1158, 1174, 118, 878,
-
- 878, 878, 878, 878, 878, 1177, 1177, 1062, 1177, 1177,
- 1062, 1126, 114, 1294, 1294, 1126, 101, 1062, 1062, 1294,
- 94, 1062, 87, 86, 79, 878, 878, 878, 878, 878,
- 878, 883, 1300, 1300, 883, 1062, 1062, 1062, 1300, 1126,
- 883, 883, 78, 73, 883, 883, 72, 883, 883, 883,
- 883, 883, 883, 883, 883, 883, 883, 883, 883, 883,
- 1126, 71, 66, 883, 883, 883, 883, 883, 883, 883,
- 883, 883, 883, 883, 883, 883, 883, 883, 883, 883,
- 883, 883, 883, 883, 883, 883, 883, 883, 883, 883,
- 883, 883, 883, 883, 883, 883, 883, 883, 883, 883,
-
- 883, 883, 883, 883, 883, 883, 883, 907, 64, 54,
- 53, 907, 907, 907, 907, 907, 907, 907, 907, 907,
- 907, 907, 51, 907, 50, 48, 907, 907, 907, 907,
- 907, 907, 907, 907, 907, 907, 907, 907, 907, 907,
- 907, 907, 907, 907, 907, 907, 907, 907, 907, 43,
- 38, 907, 907, 907, 907, 907, 907, 907, 907, 907,
- 907, 907, 907, 907, 907, 907, 907, 907, 907, 919,
- 919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
- 1086, 32, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
- 1086, 1086, 1087, 26, 1087, 1087, 1087, 1087, 1087, 1087,
-
- 1087, 1087, 1087, 1087, 25, 22, 21, 919, 920, 920,
- 920, 920, 920, 920, 920, 920, 920, 920, 920, 1088,
- 0, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
- 1088, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
- 1093, 0, 1301, 1301, 0, 0, 920, 922, 1301, 0,
- 922, 0, 1302, 1302, 0, 0, 922, 922, 1302, 0,
- 922, 922, 0, 922, 922, 922, 922, 922, 922, 922,
- 922, 922, 922, 922, 922, 922, 0, 0, 0, 922,
- 922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
- 922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
-
- 922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
- 922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
- 922, 922, 922, 932, 0, 932, 932, 932, 932, 932,
- 932, 932, 932, 932, 932, 1097, 0, 1097, 1097, 1097,
- 1097, 1097, 1097, 0, 0, 0, 0, 1097, 1099, 1099,
- 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1308, 1308,
- 0, 0, 932, 933, 1308, 933, 933, 933, 933, 933,
- 933, 933, 933, 933, 933, 1101, 0, 1101, 1101, 1101,
- 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1103, 1103, 1103,
- 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1309, 1309,
-
- 0, 0, 933, 934, 1309, 934, 934, 934, 934, 934,
- 934, 934, 934, 934, 934, 1104, 1104, 1104, 1104, 1104,
- 1104, 1104, 1104, 1104, 1104, 1104, 1115, 1115, 1115, 1115,
- 1115, 1115, 1115, 1115, 1115, 1115, 1194, 1194, 1194, 1194,
- 1194, 1194, 934, 935, 0, 935, 935, 935, 935, 935,
- 935, 935, 935, 935, 935, 1116, 1116, 1116, 1116, 1116,
- 1116, 1116, 1116, 1116, 1116, 1117, 0, 1117, 1117, 1117,
- 1117, 1117, 1117, 1117, 1117, 1117, 1117, 0, 1310, 1310,
- 0, 0, 935, 945, 1310, 945, 945, 945, 945, 945,
- 945, 945, 945, 945, 945, 945, 948, 0, 948, 948,
-
- 948, 948, 948, 948, 948, 948, 948, 948, 948, 0,
- 0, 0, 948, 948, 948, 948, 948, 948, 1118, 0,
- 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
- 1157, 0, 1157, 1157, 1157, 1157, 1157, 1157, 948, 948,
- 948, 948, 948, 948, 951, 951, 951, 951, 951, 951,
- 951, 951, 951, 951, 951, 0, 0, 0, 951, 951,
- 951, 951, 951, 951, 1119, 0, 1119, 1119, 1119, 1119,
- 1119, 1119, 1119, 1119, 1119, 1119, 1201, 0, 1201, 1201,
- 1201, 1201, 1201, 1201, 951, 951, 951, 951, 951, 951,
- 963, 963, 963, 963, 963, 963, 963, 963, 963, 963,
-
- 963, 963, 998, 0, 998, 998, 998, 998, 998, 998,
- 998, 998, 998, 998, 0, 1127, 0, 0, 0, 1127,
+ 908, 918, 769, 464, 464, 464, 464, 464, 464, 829,
+ 829, 829, 829, 829, 829, 829, 829, 829, 829, 829,
+ 768, 763, 918, 908, 762, 908, 908, 1141, 1045, 464,
+
+ 464, 464, 464, 464, 464, 467, 906, 980, 467, 1045,
+ 761, 980, 760, 757, 467, 467, 756, 753, 467, 467,
+ 908, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+ 467, 467, 467, 467, 467, 980, 1141, 467, 467, 467,
+ 467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+ 467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+ 467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+ 467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
+ 467, 512, 512, 512, 512, 512, 512, 512, 512, 512,
+ 512, 512, 1260, 1260, 1260, 512, 512, 512, 512, 512,
+
+ 512, 830, 830, 830, 830, 830, 830, 830, 830, 830,
+ 830, 830, 914, 914, 914, 914, 914, 914, 914, 752,
+ 1057, 512, 512, 512, 512, 512, 512, 513, 1057, 750,
+ 1172, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 749, 748, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 1172,
+ 741, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 514,
+ 1200, 1217, 1101, 514, 854, 854, 854, 854, 854, 854,
+
+ 854, 854, 854, 854, 1101, 727, 1102, 514, 514, 514,
+ 514, 514, 514, 514, 514, 514, 514, 514, 1102, 1123,
+ 726, 514, 514, 514, 514, 514, 514, 1123, 720, 1200,
+ 1217, 854, 858, 858, 858, 858, 858, 858, 858, 958,
+ 958, 958, 958, 958, 958, 714, 713, 514, 514, 514,
+ 514, 514, 514, 534, 711, 534, 534, 534, 534, 534,
+ 534, 534, 534, 534, 534, 1061, 1061, 710, 1061, 1061,
+ 858, 861, 861, 861, 861, 861, 861, 861, 861, 861,
+ 861, 863, 863, 863, 863, 863, 863, 863, 863, 863,
+ 863, 709, 534, 535, 1104, 535, 535, 535, 535, 535,
+
+ 535, 535, 535, 535, 535, 867, 1104, 867, 867, 867,
+ 867, 867, 867, 1292, 1292, 1292, 1118, 867, 869, 869,
+ 869, 869, 869, 869, 869, 869, 869, 869, 1118, 708,
+ 985, 690, 535, 557, 985, 557, 557, 557, 557, 557,
+ 557, 557, 557, 557, 557, 872, 669, 872, 872, 872,
+ 872, 872, 872, 872, 872, 872, 872, 873, 985, 873,
+ 873, 873, 873, 873, 873, 873, 873, 873, 873, 668,
+ 987, 667, 557, 558, 987, 558, 558, 558, 558, 558,
+ 558, 558, 558, 558, 558, 874, 666, 874, 874, 874,
+ 874, 874, 874, 874, 874, 874, 874, 875, 987, 875,
+
+ 875, 875, 875, 875, 875, 875, 875, 875, 875, 655,
+ 654, 653, 558, 559, 652, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 884, 884, 884, 884, 884,
+ 884, 884, 884, 651, 1064, 650, 1064, 884, 1157, 1157,
+ 1157, 1157, 559, 572, 572, 572, 572, 572, 572, 572,
+ 572, 572, 572, 572, 572, 572, 649, 648, 647, 572,
+ 572, 572, 572, 572, 572, 886, 886, 886, 886, 886,
+ 886, 886, 886, 886, 886, 910, 910, 910, 910, 910,
+ 910, 910, 910, 910, 910, 572, 572, 572, 572, 572,
+
+ 572, 575, 575, 575, 575, 575, 575, 575, 575, 575,
+ 575, 575, 575, 575, 1064, 646, 645, 575, 575, 575,
+ 575, 575, 575, 888, 644, 888, 888, 888, 888, 888,
+ 888, 888, 888, 888, 888, 929, 929, 929, 929, 929,
+ 929, 929, 643, 575, 575, 575, 575, 575, 575, 578,
+ 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
+ 578, 639, 638, 637, 578, 578, 578, 578, 578, 578,
+ 636, 635, 965, 929, 965, 965, 965, 965, 965, 965,
+ 895, 625, 1125, 1125, 895, 1125, 1125, 624, 621, 620,
+ 578, 578, 578, 578, 578, 578, 640, 612, 640, 640,
+
+ 640, 640, 640, 640, 640, 640, 640, 640, 895, 912,
+ 912, 912, 912, 912, 912, 912, 912, 912, 912, 912,
+ 899, 611, 610, 945, 899, 945, 945, 945, 945, 945,
+ 945, 945, 945, 945, 945, 640, 641, 895, 641, 641,
+ 641, 641, 641, 641, 641, 641, 641, 641, 899, 913,
+ 913, 913, 913, 913, 913, 913, 913, 913, 913, 913,
+ 900, 922, 923, 602, 900, 922, 923, 973, 973, 973,
+ 973, 973, 973, 973, 973, 641, 642, 899, 642, 642,
+ 642, 642, 642, 642, 642, 642, 642, 642, 900, 922,
+ 923, 925, 925, 925, 925, 925, 925, 925, 925, 925,
+
+ 925, 933, 937, 938, 566, 933, 937, 938, 1253, 1253,
+ 922, 923, 565, 564, 1253, 642, 663, 900, 663, 663,
+ 663, 663, 663, 663, 663, 663, 663, 663, 925, 933,
+ 937, 938, 946, 563, 946, 946, 946, 946, 946, 946,
+ 946, 946, 946, 946, 1039, 1039, 1039, 1039, 1039, 1039,
+ 933, 937, 938, 561, 560, 663, 664, 1152, 664, 664,
+ 664, 664, 664, 664, 664, 664, 664, 664, 947, 1152,
+ 947, 947, 947, 947, 947, 947, 947, 947, 947, 947,
+ 951, 951, 951, 951, 951, 951, 951, 951, 951, 951,
+ 1164, 1164, 552, 1164, 1164, 664, 670, 670, 670, 670,
+
+ 670, 670, 670, 670, 670, 670, 670, 551, 550, 549,
+ 670, 670, 670, 670, 670, 670, 955, 548, 955, 955,
+ 955, 955, 955, 955, 1281, 1281, 547, 1002, 955, 1050,
+ 1281, 1002, 546, 1050, 545, 544, 670, 670, 670, 670,
+ 670, 670, 680, 680, 680, 680, 680, 680, 680, 680,
+ 680, 680, 680, 680, 680, 1002, 541, 1050, 680, 680,
+ 680, 680, 680, 680, 957, 957, 957, 957, 957, 957,
+ 957, 957, 957, 957, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 680, 680, 680, 680, 680, 680,
+ 683, 683, 683, 683, 683, 683, 683, 683, 683, 683,
+
+ 683, 683, 683, 540, 538, 531, 683, 683, 683, 683,
+ 683, 683, 960, 530, 960, 960, 960, 960, 960, 960,
+ 960, 960, 960, 960, 1001, 529, 1190, 1190, 1001, 1190,
+ 1190, 508, 683, 683, 683, 683, 683, 683, 686, 686,
+ 686, 686, 686, 686, 686, 686, 686, 686, 686, 686,
+ 500, 499, 1001, 686, 686, 686, 686, 686, 686, 963,
+ 498, 963, 963, 963, 963, 963, 963, 963, 963, 963,
+ 963, 1282, 1282, 1001, 497, 496, 495, 1282, 490, 686,
+ 686, 686, 686, 686, 686, 744, 487, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 964, 458, 964,
+
+ 964, 964, 964, 964, 964, 964, 964, 964, 964, 457,
+ 1053, 1079, 1011, 454, 1053, 1079, 1011, 1119, 453, 976,
+ 439, 1119, 978, 976, 744, 745, 978, 745, 745, 745,
+ 745, 745, 745, 745, 745, 745, 745, 995, 1053, 1079,
+ 1011, 995, 995, 995, 995, 1119, 438, 976, 437, 997,
+ 978, 997, 997, 997, 997, 997, 997, 997, 997, 997,
+ 997, 1011, 436, 435, 745, 765, 765, 765, 765, 765,
+ 765, 765, 765, 765, 765, 765, 976, 996, 434, 978,
+ 433, 996, 996, 996, 996, 1110, 1110, 1110, 1110, 1110,
+ 1110, 998, 995, 998, 998, 998, 998, 998, 998, 998,
+
+ 998, 998, 998, 765, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 999, 432, 999, 999, 999,
+ 999, 999, 999, 999, 999, 999, 999, 1012, 1310, 1310,
+ 431, 1012, 996, 1021, 1310, 1021, 1021, 1021, 1021, 1021,
+ 1021, 430, 766, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 767, 1000, 1012, 1000, 1000, 1000, 1000,
+ 1000, 1000, 1000, 1000, 1000, 1000, 429, 1132, 428, 1159,
+ 427, 1132, 1021, 1159, 1299, 1323, 1012, 1299, 1323, 1299,
+ 1323, 767, 772, 426, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 772, 1132, 423, 1159, 772, 772,
+
+ 772, 772, 772, 772, 1017, 1017, 1017, 1017, 1017, 1017,
+ 1017, 1017, 1017, 1017, 1023, 1023, 1023, 1023, 1023, 1023,
+ 1023, 1023, 1023, 1023, 772, 772, 772, 772, 772, 772,
+ 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
+ 775, 1017, 417, 414, 775, 775, 775, 775, 775, 775,
+ 1025, 413, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
+ 1025, 1025, 1027, 412, 1027, 1027, 1027, 1027, 1027, 1027,
+ 775, 775, 775, 775, 775, 775, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 411,
+ 410, 409, 788, 788, 788, 788, 788, 788, 1026, 408,
+
+ 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
+ 1077, 407, 1077, 1077, 1077, 1077, 1077, 1077, 788, 788,
+ 788, 788, 788, 788, 791, 791, 791, 791, 791, 791,
+ 791, 791, 791, 791, 791, 791, 791, 406, 405, 404,
+ 791, 791, 791, 791, 791, 791, 1032, 1032, 1032, 1032,
+ 1032, 1032, 1032, 1032, 1032, 1032, 1038, 1038, 1038, 1038,
+ 1038, 1038, 1038, 1038, 1038, 1038, 791, 791, 791, 791,
+ 791, 791, 794, 794, 794, 794, 794, 794, 794, 794,
+ 794, 794, 794, 403, 402, 401, 398, 794, 794, 794,
+ 794, 794, 794, 1036, 383, 1036, 1036, 1036, 1036, 1036,
+
+ 1036, 379, 378, 377, 376, 1036, 1115, 1115, 1115, 1115,
+ 1115, 1115, 1115, 794, 794, 794, 794, 794, 794, 797,
+ 1070, 1339, 797, 1070, 1339, 370, 1339, 369, 797, 797,
+ 1070, 1070, 797, 797, 1070, 797, 797, 797, 797, 797,
+ 797, 797, 797, 797, 797, 797, 797, 797, 1070, 1070,
+ 1070, 797, 797, 797, 797, 797, 797, 797, 797, 797,
+ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
+ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
+ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797,
+ 797, 797, 797, 797, 797, 831, 368, 367, 366, 831,
+
+ 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
+ 365, 831, 363, 362, 831, 831, 831, 831, 831, 831,
+ 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
+ 831, 831, 831, 831, 831, 831, 831, 361, 360, 831,
+ 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
+ 831, 831, 831, 831, 831, 831, 831, 841, 841, 841,
+ 841, 841, 841, 841, 841, 841, 841, 841, 1041, 359,
+ 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041,
+ 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
+ 1042, 358, 357, 356, 355, 841, 842, 842, 842, 842,
+
+ 842, 842, 842, 842, 842, 842, 842, 1043, 1043, 1043,
+ 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044,
+ 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1055,
+ 354, 353, 352, 1055, 842, 843, 843, 843, 843, 843,
+ 843, 843, 843, 843, 843, 843, 351, 1121, 1065, 349,
+ 348, 1121, 1065, 1065, 1065, 1065, 1069, 1055, 341, 1069,
+ 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 340,
+ 1316, 1316, 327, 843, 844, 1121, 1316, 844, 323, 1317,
+ 1317, 322, 320, 844, 844, 1317, 1055, 844, 844, 319,
+ 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
+
+ 844, 844, 844, 1065, 1121, 318, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
+ 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
+ 856, 1066, 317, 1359, 1359, 1066, 1066, 1066, 1066, 1067,
+ 1359, 316, 315, 1067, 1067, 1067, 1067, 1073, 1073, 1073,
+ 1073, 1073, 1073, 1073, 1073, 1073, 1073, 309, 856, 857,
+ 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
+
+ 1068, 1363, 305, 1363, 1068, 1068, 1068, 1068, 1071, 1363,
+ 302, 300, 1071, 1071, 1071, 1071, 1066, 1207, 1207, 1207,
+ 1207, 1207, 1207, 298, 1067, 295, 294, 857, 865, 293,
+ 865, 865, 865, 865, 865, 865, 865, 865, 865, 865,
+ 865, 868, 290, 868, 868, 868, 868, 868, 868, 868,
+ 868, 868, 868, 868, 289, 1068, 287, 868, 868, 868,
+ 868, 868, 868, 1071, 1075, 286, 1075, 1075, 1075, 1075,
+ 1075, 1075, 1075, 1075, 1075, 1075, 1237, 1237, 1237, 1237,
+ 1237, 1237, 285, 868, 868, 868, 868, 868, 868, 871,
+ 871, 871, 871, 871, 871, 871, 871, 871, 871, 871,
+
+ 284, 283, 281, 871, 871, 871, 871, 871, 871, 1076,
+ 275, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
+ 1076, 1089, 1161, 267, 263, 1089, 1161, 258, 257, 871,
+ 871, 871, 871, 871, 871, 882, 882, 882, 882, 882,
+ 882, 882, 882, 882, 882, 882, 882, 882, 255, 1089,
+ 1161, 882, 882, 882, 882, 882, 882, 251, 1083, 1083,
+ 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 246, 1087,
+ 1089, 1087, 1087, 1087, 1087, 1087, 1087, 882, 882, 882,
+ 882, 882, 882, 885, 885, 885, 885, 885, 885, 885,
+ 885, 885, 885, 885, 885, 1083, 241, 239, 235, 885,
+
+ 885, 885, 885, 885, 885, 1122, 230, 1072, 1087, 1122,
+ 1072, 1131, 218, 1318, 1318, 1131, 217, 1072, 1072, 1318,
+ 216, 1072, 215, 214, 209, 885, 885, 885, 885, 885,
+ 885, 890, 202, 1122, 890, 1072, 1072, 1072, 201, 1131,
+ 890, 890, 200, 199, 890, 890, 198, 890, 890, 890,
+ 890, 890, 890, 890, 890, 890, 890, 890, 890, 890,
+ 1131, 197, 1122, 890, 890, 890, 890, 890, 890, 890,
+ 890, 890, 890, 890, 890, 890, 890, 890, 890, 890,
+ 890, 890, 890, 890, 890, 890, 890, 890, 890, 890,
+ 890, 890, 890, 890, 890, 890, 890, 890, 890, 890,
+
+ 890, 890, 890, 890, 890, 890, 890, 915, 195, 194,
+ 193, 915, 915, 915, 915, 915, 915, 915, 915, 915,
+ 915, 915, 192, 915, 191, 190, 915, 915, 915, 915,
+ 915, 915, 915, 915, 915, 915, 915, 915, 915, 915,
+ 915, 915, 915, 915, 915, 915, 915, 915, 915, 189,
+ 188, 915, 915, 915, 915, 915, 915, 915, 915, 915,
+ 915, 915, 915, 915, 915, 915, 915, 915, 915, 927,
+ 927, 927, 927, 927, 927, 927, 927, 927, 927, 927,
+ 1096, 187, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
+ 1096, 1096, 1097, 186, 1097, 1097, 1097, 1097, 1097, 1097,
+
+ 1097, 1097, 1097, 1097, 181, 177, 176, 927, 928, 928,
+ 928, 928, 928, 928, 928, 928, 928, 928, 928, 1098,
+ 172, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098,
+ 1098, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103,
+ 1103, 169, 165, 162, 159, 155, 928, 930, 1170, 1187,
+ 930, 150, 1170, 1187, 149, 148, 930, 930, 147, 146,
+ 930, 930, 145, 930, 930, 930, 930, 930, 930, 930,
+ 930, 930, 930, 930, 930, 930, 1170, 1187, 141, 930,
+ 930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
+ 930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
+
+ 930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
+ 930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
+ 930, 930, 930, 940, 135, 940, 940, 940, 940, 940,
+ 940, 940, 940, 940, 940, 1107, 133, 1107, 1107, 1107,
+ 1107, 1107, 1107, 129, 124, 123, 122, 1107, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1324, 1324,
+ 121, 120, 940, 941, 1324, 941, 941, 941, 941, 941,
+ 941, 941, 941, 941, 941, 1111, 119, 1111, 1111, 1111,
+ 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1113, 1113, 1113,
+ 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1325, 1325,
+
+ 115, 102, 941, 942, 1325, 942, 942, 942, 942, 942,
+ 942, 942, 942, 942, 942, 1114, 1114, 1114, 1114, 1114,
+ 1114, 1114, 1114, 1114, 1114, 1114, 1126, 1126, 1126, 1126,
+ 1126, 1126, 1126, 1126, 1126, 1126, 95, 88, 1326, 1326,
+ 87, 80, 942, 943, 1326, 943, 943, 943, 943, 943,
+ 943, 943, 943, 943, 943, 1127, 1127, 1127, 1127, 1127,
+ 1127, 1127, 1127, 1127, 1127, 1128, 79, 1128, 1128, 1128,
+ 1128, 1128, 1128, 1128, 1128, 1128, 1128, 74, 1329, 1329,
+ 73, 72, 943, 953, 1329, 953, 953, 953, 953, 953,
+ 953, 953, 953, 953, 953, 953, 956, 71, 956, 956,
+
+ 956, 956, 956, 956, 956, 956, 956, 956, 956, 66,
+ 64, 54, 956, 956, 956, 956, 956, 956, 1129, 53,
1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
- 1133, 0, 1133, 1133, 1133, 1133, 1133, 1133, 0, 0,
- 0, 998, 999, 1127, 999, 999, 999, 999, 999, 999,
- 999, 999, 999, 999, 0, 0, 1163, 1129, 1163, 1163,
- 1163, 1163, 1163, 1163, 1127, 0, 0, 0, 0, 1133,
- 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
- 0, 999, 1000, 0, 1000, 1000, 1000, 1000, 1000, 1000,
- 1000, 1000, 1000, 1000, 1136, 1163, 1136, 1136, 1136, 1136,
-
- 1136, 1136, 1136, 1136, 1136, 1136, 1137, 0, 1137, 1137,
- 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 0, 0,
- 0, 1000, 1001, 0, 1001, 1001, 1001, 1001, 1001, 1001,
- 1001, 1001, 1001, 1001, 1144, 0, 1144, 1144, 1144, 1144,
- 1144, 1144, 1144, 1144, 1144, 1144, 1151, 0, 0, 0,
- 1151, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
- 1153, 1001, 1010, 0, 1010, 1010, 1010, 1010, 1010, 1010,
- 1010, 1010, 1010, 1010, 1151, 1155, 0, 1155, 1155, 1155,
- 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1190, 0, 1190,
- 1190, 1190, 1190, 1190, 1190, 1151, 0, 1313, 1313, 0,
-
- 0, 1010, 1011, 1313, 1011, 1011, 1011, 1011, 1011, 1011,
- 1011, 1011, 1011, 1011, 1156, 0, 1156, 1156, 1156, 1156,
- 1156, 1156, 1156, 1156, 1156, 1156, 1190, 0, 0, 0,
- 0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
- 1159, 1011, 1025, 0, 1025, 1025, 1025, 1025, 1025, 1025,
- 1025, 1025, 1025, 1025, 1025, 1028, 0, 1028, 1028, 1028,
- 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1159, 0,
- 0, 1028, 1028, 1028, 1028, 1028, 1028, 1206, 0, 1206,
- 1206, 1206, 1206, 1206, 1206, 1164, 0, 0, 0, 1164,
- 1221, 1221, 1221, 1221, 1221, 1221, 0, 1028, 1028, 1028,
-
- 1028, 1028, 1028, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
- 1031, 1031, 1031, 1164, 0, 0, 1206, 1031, 1031, 1031,
- 1031, 1031, 1031, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
- 1168, 1168, 1168, 0, 1164, 1314, 1314, 1323, 0, 0,
- 1323, 1314, 1323, 1031, 1031, 1031, 1031, 1031, 1031, 1075,
- 0, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075,
- 1075, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169,
- 1169, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
- 1170, 1315, 1315, 0, 1318, 1318, 0, 1315, 1075, 1076,
- 1318, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
-
- 1076, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
- 1180, 1180, 1180, 1181, 0, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 0, 0, 0, 1076, 1083,
- 0, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1182, 0, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
- 1182, 1182, 1182, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
- 1186, 1186, 1186, 0, 1319, 1319, 0, 0, 1083, 1084,
- 1319, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,
- 1084, 1326, 1326, 1331, 0, 0, 1331, 1326, 1331, 0,
- 1186, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
-
- 1192, 1334, 1334, 0, 1341, 1341, 0, 1334, 1084, 1085,
- 1341, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
- 1085, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
- 1193, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
- 1197, 1344, 1344, 0, 1346, 1346, 0, 1344, 1085, 1095,
- 1346, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095,
- 1095, 1095, 1098, 0, 1098, 1098, 1098, 1098, 1098, 1098,
- 1098, 1098, 1098, 1098, 0, 0, 0, 0, 1098, 1098,
- 1098, 1098, 1098, 1098, 1199, 0, 1199, 1199, 1199, 1199,
- 1199, 1199, 1199, 1199, 1199, 1199, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 1098, 1098, 1098, 1098, 1098, 1098,
- 1123, 0, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
- 1123, 1123, 1200, 0, 1200, 1200, 1200, 1200, 1200, 1200,
- 1200, 1200, 1200, 1200, 1202, 1202, 1202, 1202, 1202, 1202,
- 1202, 1202, 1202, 1202, 0, 0, 0, 0, 0, 1123,
- 1124, 0, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
- 1124, 1124, 0, 0, 0, 1218, 1218, 1218, 1218, 1218,
- 1218, 1202, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
- 1207, 1207, 0, 1224, 1224, 1224, 1224, 1224, 1224, 1124,
- 1125, 0, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
-
- 1125, 1125, 1218, 0, 0, 0, 0, 0, 0, 1207,
- 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
- 1224, 0, 0, 0, 0, 0, 0, 0, 0, 1125,
- 1131, 0, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
- 1131, 1131, 0, 0, 0, 0, 0, 1208, 1209, 1209,
- 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1210, 1210,
- 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 0, 1131,
- 1132, 0, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
- 1132, 1132, 0, 0, 0, 1209, 1211, 1211, 1211, 1211,
- 1211, 1211, 1211, 1211, 1211, 1211, 1212, 1212, 1212, 1212,
-
- 1212, 1212, 1212, 1212, 1212, 1212, 0, 0, 0, 1132,
- 1161, 0, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
- 1161, 1161, 0, 0, 0, 1213, 1213, 1213, 1213, 1213,
- 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1214, 1214, 1214,
- 1214, 1214, 1214, 1214, 1214, 0, 0, 0, 0, 1161,
- 1162, 0, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
- 1162, 1162, 1213, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1214, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
- 1215, 1215, 1215, 0, 0, 0, 0, 0, 0, 1162,
- 1165, 0, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
-
- 1165, 1165, 0, 0, 0, 0, 0, 0, 0, 0,
- 1215, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
- 1217, 0, 0, 0, 0, 0, 0, 0, 0, 1165,
- 1166, 0, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
- 1166, 1166, 0, 0, 0, 0, 0, 0, 1217, 1220,
- 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1223,
- 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1166,
- 1167, 0, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
- 1167, 1167, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167,
- 1183, 0, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183,
- 1183, 1183, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1149, 51, 1149, 1149, 1149, 1149, 1149, 1149, 956, 956,
+ 956, 956, 956, 956, 959, 959, 959, 959, 959, 959,
+ 959, 959, 959, 959, 959, 50, 48, 38, 959, 959,
+ 959, 959, 959, 959, 1130, 32, 1130, 1130, 1130, 1130,
+ 1130, 1130, 1130, 1130, 1130, 1130, 1169, 26, 1169, 1169,
+ 1169, 1169, 1169, 1169, 959, 959, 959, 959, 959, 959,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+
+ 971, 971, 1007, 25, 1007, 1007, 1007, 1007, 1007, 1007,
+ 1007, 1007, 1007, 1007, 22, 1137, 21, 0, 1144, 1137,
+ 1144, 1144, 1144, 1144, 1144, 1144, 1138, 0, 0, 0,
+ 1138, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
+ 1140, 1007, 1008, 1137, 1008, 1008, 1008, 1008, 1008, 1008,
+ 1008, 1008, 1008, 1008, 1138, 0, 1215, 1144, 1215, 1215,
+ 1215, 1215, 1215, 1215, 1137, 1330, 1330, 0, 1140, 0,
+ 0, 1330, 1331, 1331, 1347, 1138, 0, 1347, 1331, 1347,
+ 0, 1008, 1009, 0, 1009, 1009, 1009, 1009, 1009, 1009,
+ 1009, 1009, 1009, 1009, 1145, 1145, 1145, 1145, 1145, 1145,
+
+ 1145, 1145, 1145, 1145, 1147, 0, 1147, 1147, 1147, 1147,
+ 1147, 1147, 1147, 1147, 1147, 1147, 0, 0, 0, 1163,
+ 0, 1009, 1010, 1163, 1010, 1010, 1010, 1010, 1010, 1010,
+ 1010, 1010, 1010, 1010, 1148, 0, 1148, 1148, 1148, 1148,
+ 1148, 1148, 1148, 1148, 1148, 1148, 1155, 1163, 1155, 1155,
+ 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 0, 0,
+ 0, 1010, 1019, 0, 1019, 1019, 1019, 1019, 1019, 1019,
+ 1019, 1019, 1019, 1019, 0, 0, 1163, 1165, 1165, 1165,
+ 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1167, 0, 1167,
+ 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 0,
+
+ 0, 1019, 1020, 0, 1020, 1020, 1020, 1020, 1020, 1020,
+ 1020, 1020, 1020, 1020, 1168, 0, 1168, 1168, 1168, 1168,
+ 1168, 1168, 1168, 1168, 1168, 1168, 0, 0, 0, 0,
+ 0, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
+ 1171, 1020, 1034, 0, 1034, 1034, 1034, 1034, 1034, 1034,
+ 1034, 1034, 1034, 1034, 1034, 1037, 0, 1037, 1037, 1037,
+ 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1171, 0,
+ 0, 1037, 1037, 1037, 1037, 1037, 1037, 1175, 0, 1175,
+ 1175, 1175, 1175, 1175, 1175, 1176, 1334, 1334, 0, 1176,
+ 1335, 1335, 1334, 0, 0, 0, 1335, 1037, 1037, 1037,
+
+ 1037, 1037, 1037, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
+ 1040, 1040, 1040, 1176, 0, 0, 1175, 1040, 1040, 1040,
+ 1040, 1040, 1040, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
+ 1180, 1180, 1180, 0, 1176, 1342, 1342, 0, 0, 0,
+ 0, 1342, 0, 1040, 1040, 1040, 1040, 1040, 1040, 1085,
+ 0, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
+ 1085, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
+ 1182, 1350, 1350, 0, 1357, 1357, 0, 1350, 1085, 1086,
+ 1357, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
+
+ 1086, 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
+ 1193, 1193, 1193, 1194, 0, 1194, 1194, 1194, 1194, 1194,
+ 1194, 1194, 1194, 1194, 1194, 0, 0, 0, 1086, 1093,
+ 0, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
+ 1093, 1195, 0, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
+ 1195, 1195, 1195, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
+ 1199, 1199, 1199, 0, 1360, 1360, 0, 0, 1093, 1094,
+ 1360, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 0, 1203, 0, 1203, 1203, 1203, 1203, 1203, 1203,
+ 1199, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
+
+ 1205, 1362, 1362, 0, 0, 0, 0, 1362, 1094, 1095,
+ 0, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095,
+ 1095, 1203, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
+ 1206, 1206, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 0, 0, 0, 0, 0, 0, 1095, 1105,
+ 0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
+ 1105, 1105, 1108, 0, 1108, 1108, 1108, 1108, 1108, 1108,
+ 1108, 1108, 1108, 1108, 0, 0, 0, 0, 1108, 1108,
+ 1108, 1108, 1108, 1108, 1213, 0, 1213, 1213, 1213, 1213,
+ 1213, 1213, 1213, 1213, 1213, 1213, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 1108, 1108, 1108, 1108, 1108, 1108,
+ 1134, 0, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
+ 1134, 1134, 1214, 0, 1214, 1214, 1214, 1214, 1214, 1214,
+ 1214, 1214, 1214, 1214, 1216, 1216, 1216, 1216, 1216, 1216,
+ 1216, 1216, 1216, 1216, 0, 0, 0, 0, 0, 1134,
+ 1135, 0, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
+ 1135, 1135, 0, 1220, 0, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1216, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
+ 1221, 1221, 0, 1233, 1233, 1233, 1233, 1233, 1233, 1135,
+ 1136, 0, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
+
+ 1136, 1136, 1220, 0, 0, 0, 0, 0, 0, 1221,
+ 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
+ 1233, 0, 0, 0, 0, 0, 0, 0, 0, 1136,
+ 1142, 0, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
+ 1142, 1142, 0, 0, 0, 0, 0, 1222, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1225, 1225,
+ 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 0, 1142,
+ 1143, 0, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
+ 1143, 1143, 0, 0, 0, 1223, 1226, 1226, 1226, 1226,
+ 1226, 1226, 1226, 1226, 1226, 1226, 1227, 1227, 1227, 1227,
+
+ 1227, 1227, 1227, 1227, 1227, 1227, 0, 0, 0, 1143,
+ 1173, 0, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173,
+ 1173, 1173, 0, 0, 0, 1228, 1228, 1228, 1228, 1228,
+ 1228, 1228, 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229,
+ 1229, 1229, 1229, 1229, 1229, 0, 0, 0, 0, 1173,
+ 1174, 0, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174,
+ 1174, 1174, 1228, 0, 0, 1240, 1240, 1240, 1240, 1240,
+ 1240, 0, 1229, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
+ 1230, 1230, 1230, 0, 0, 0, 0, 0, 0, 1174,
+ 1177, 0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+
+ 1177, 1177, 1240, 0, 0, 0, 0, 0, 0, 0,
+ 1230, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232,
+ 1232, 0, 0, 0, 0, 0, 0, 0, 0, 1177,
+ 1178, 0, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
+ 1178, 1178, 0, 0, 0, 0, 0, 0, 1232, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1239,
+ 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1178,
+ 1179, 0, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
+ 1179, 1179, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179,
+ 1196, 0, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
+ 1196, 1196, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1183,
- 1184, 0, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
- 1184, 1184, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1196,
+ 1197, 0, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
+ 1197, 1197, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1184,
- 1185, 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1197,
+ 1198, 0, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
- 1185, 1185, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1198, 1198, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1185,
- 1188, 0, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
- 1188, 1188, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198,
+ 1201, 0, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
+ 1201, 1201, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1188,
- 1189, 0, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
- 1189, 1189, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201,
+ 1202, 0, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202,
+ 1202, 1202, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189,
- 1204, 0, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
- 1204, 1204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202,
+ 1218, 0, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
+ 1218, 1218, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1204,
- 1205, 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
- 1205, 1205, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1218,
+ 1219, 0, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
+ 1219, 1219, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205,
- 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226,
-
- 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226,
- 1226, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
- 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
- 1227, 1227, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228,
- 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228,
- 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229, 1229, 1229,
- 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229,
- 1229, 1229, 1229, 1229, 1230, 1230, 1230, 1230, 1230, 1230,
- 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
- 1230, 1230, 1230, 1230, 1230, 1231, 1231, 1231, 1231, 1231,
-
- 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
- 1231, 1231, 1231, 1231, 1231, 1231, 1232, 0, 0, 1232,
- 0, 0, 0, 1232, 0, 1232, 0, 1232, 1232, 1232,
- 0, 0, 1232, 1232, 1232, 1232, 1232, 1233, 1233, 1233,
- 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233,
- 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1234, 0,
- 0, 1234, 0, 0, 1234, 1234, 0, 1234, 0, 1234,
- 1234, 1234, 1234, 0, 1234, 1234, 1234, 1234, 1234, 1235,
- 0, 0, 1235, 0, 0, 0, 1235, 0, 1235, 0,
- 1235, 1235, 1235, 0, 0, 1235, 1235, 1235, 1235, 1235,
-
- 1236, 0, 0, 1236, 1236, 1236, 0, 1236, 1236, 1236,
- 0, 1236, 1236, 1236, 0, 0, 1236, 1236, 1236, 1236,
- 1236, 1238, 1238, 0, 1238, 1238, 1238, 0, 1238, 1238,
- 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
- 1238, 1238, 1239, 0, 0, 1239, 1239, 1239, 0, 1239,
- 1239, 1239, 0, 1239, 1239, 1239, 0, 0, 1239, 1239,
- 1239, 1239, 1239, 1240, 1240, 0, 1240, 1240, 1240, 0,
- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
- 1240, 1240, 1240, 1240, 1241, 0, 0, 1241, 1241, 1241,
- 0, 1241, 1241, 1241, 0, 1241, 1241, 1241, 0, 1241,
-
- 1241, 0, 1241, 1241, 1241, 1242, 1242, 0, 1242, 1242,
- 1242, 0, 0, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
- 1242, 1242, 0, 1242, 1242, 1242, 1243, 1243, 1243, 1243,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1219,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1245, 0, 0,
- 1245, 1245, 0, 0, 1245, 1245, 1245, 0, 1245, 1245,
- 1245, 1245, 0, 1245, 1245, 1245, 1245, 1245, 1246, 1246,
+ 1243, 1243, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
+ 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
+ 1244, 1244, 1244, 1245, 1245, 1245, 1245, 1245, 1245, 1245,
+ 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245,
+ 1245, 1245, 1245, 1245, 1246, 1246, 1246, 1246, 1246, 1246,
1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246,
- 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1247,
- 1247, 0, 1247, 1247, 0, 1247, 1247, 1247, 1247, 1247,
+ 1246, 1246, 1246, 1246, 1246, 1247, 1247, 1247, 1247, 1247,
1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247,
- 1248, 0, 0, 1248, 0, 0, 1248, 1248, 0, 1248,
- 0, 1248, 1248, 1248, 1248, 0, 1248, 1248, 1248, 1248,
- 1248, 1249, 0, 0, 1249, 0, 0, 0, 1249, 0,
- 1249, 0, 1249, 1249, 1249, 0, 1249, 1249, 1249, 1249,
- 1249, 1249, 1250, 0, 0, 1250, 1250, 1250, 0, 1250,
- 1250, 1250, 0, 1250, 1250, 1250, 0, 1250, 1250, 1250,
- 1250, 1250, 1250, 1251, 1251, 0, 1251, 1251, 1251, 0,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1252, 0, 0, 0, 1252, 1252,
-
- 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
- 1252, 1252, 1252, 1252, 1252, 1253, 0, 0, 1253, 0,
- 0, 0, 1253, 0, 1253, 0, 1253, 1253, 1253, 0,
- 0, 1253, 1253, 1253, 1253, 1253, 1254, 0, 0, 1254,
- 0, 0, 1254, 1254, 0, 1254, 0, 1254, 1254, 1254,
- 1254, 0, 1254, 1254, 1254, 1254, 1254, 1255, 0, 0,
- 1255, 0, 0, 0, 1255, 0, 1255, 0, 1255, 1255,
- 1255, 0, 0, 1255, 1255, 1255, 1255, 1255, 1256, 0,
- 0, 1256, 1256, 1256, 0, 1256, 1256, 1256, 0, 1256,
- 1256, 1256, 0, 0, 1256, 1256, 1256, 1256, 1256, 1257,
-
- 1257, 0, 1257, 1257, 1257, 0, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
- 1258, 0, 0, 1258, 0, 0, 0, 1258, 0, 1258,
- 0, 1258, 1258, 1258, 0, 0, 1258, 1258, 1258, 1258,
- 1258, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259,
+ 1247, 1247, 1247, 1247, 1247, 1247, 1248, 0, 0, 1248,
+ 0, 0, 0, 1248, 0, 1248, 0, 1248, 1248, 1248,
+ 0, 0, 1248, 1248, 1248, 1248, 1248, 1249, 1249, 1249,
+ 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
+ 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1250, 0,
+ 0, 1250, 0, 0, 1250, 1250, 0, 1250, 0, 1250,
+ 1250, 1250, 1250, 0, 1250, 1250, 1250, 1250, 1250, 1251,
+ 0, 0, 1251, 0, 0, 0, 1251, 0, 1251, 0,
+ 1251, 1251, 1251, 0, 0, 1251, 1251, 1251, 1251, 1251,
+
+ 1252, 0, 0, 1252, 1252, 1252, 0, 1252, 1252, 1252,
+ 0, 1252, 1252, 1252, 0, 0, 1252, 1252, 1252, 1252,
+ 1252, 1254, 1254, 0, 1254, 1254, 1254, 0, 1254, 1254,
+ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
+ 1254, 1254, 1255, 0, 0, 1255, 1255, 1255, 0, 1255,
+ 1255, 1255, 0, 1255, 1255, 1255, 0, 0, 1255, 1255,
+ 1255, 1255, 1255, 1256, 1256, 0, 1256, 1256, 1256, 0,
+ 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256,
+ 1256, 1256, 1256, 1256, 1257, 0, 0, 1257, 1257, 1257,
+ 0, 1257, 1257, 1257, 0, 1257, 1257, 1257, 0, 1257,
+
+ 1257, 0, 1257, 1257, 1257, 1258, 1258, 0, 1258, 1258,
+ 1258, 0, 0, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
+ 1258, 1258, 0, 1258, 1258, 1258, 1259, 1259, 1259, 1259,
1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259,
- 1259, 1259, 1260, 1260, 0, 1260, 1260, 1260, 1260, 1260,
- 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
- 1260, 1260, 1260, 1261, 0, 0, 1261, 0, 0, 0,
- 1261, 0, 1261, 0, 1261, 1261, 1261, 0, 0, 1261,
-
- 1261, 1261, 1261, 1261, 1262, 0, 0, 1262, 0, 0,
- 0, 1262, 0, 1262, 0, 1262, 1262, 1262, 0, 0,
- 1262, 1262, 1262, 1262, 1262, 1263, 0, 0, 1263, 1263,
- 1263, 0, 1263, 1263, 1263, 0, 1263, 1263, 1263, 0,
- 0, 1263, 1263, 1263, 1263, 1263, 1264, 0, 0, 1264,
- 1264, 1264, 0, 1264, 1264, 1264, 0, 1264, 1264, 1264,
- 0, 0, 1264, 1264, 1264, 1264, 1264, 1267, 1267, 1267,
- 0, 0, 0, 0, 1267, 1268, 1268, 0, 1268, 1268,
- 1268, 0, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
- 1268, 1268, 1268, 1268, 1268, 1268, 1269, 1269, 0, 1269,
-
- 1269, 1269, 0, 1269, 1269, 1269, 1269, 1269, 1269, 1269,
- 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1270, 0, 0,
- 1270, 1270, 1270, 0, 1270, 1270, 1270, 0, 1270, 1270,
- 1270, 0, 0, 1270, 1270, 1270, 1270, 1270, 1271, 0,
- 0, 1271, 1271, 1271, 0, 1271, 1271, 1271, 0, 1271,
- 1271, 1271, 0, 0, 1271, 1271, 1271, 1271, 1271, 1272,
- 1272, 0, 1272, 1272, 1272, 0, 1272, 1272, 1272, 1272,
- 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272,
- 1273, 1273, 0, 1273, 1273, 1273, 0, 1273, 1273, 1273,
+ 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1261, 0, 0,
+ 1261, 1261, 0, 0, 1261, 1261, 1261, 0, 1261, 1261,
+ 1261, 1261, 0, 1261, 1261, 1261, 1261, 1261, 1262, 1262,
+ 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262,
+ 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1263,
+ 1263, 0, 1263, 1263, 0, 1263, 1263, 1263, 1263, 1263,
+
+ 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
+ 1264, 0, 0, 1264, 0, 0, 1264, 1264, 0, 1264,
+ 0, 1264, 1264, 1264, 1264, 0, 1264, 1264, 1264, 1264,
+ 1264, 1265, 0, 0, 1265, 0, 0, 0, 1265, 0,
+ 1265, 0, 1265, 1265, 1265, 0, 1265, 1265, 1265, 1265,
+ 1265, 1265, 1266, 0, 0, 1266, 1266, 1266, 0, 1266,
+ 1266, 1266, 0, 1266, 1266, 1266, 0, 1266, 1266, 1266,
+ 1266, 1266, 1266, 1267, 1267, 0, 1267, 1267, 1267, 0,
+ 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
+ 1267, 1267, 1267, 1267, 1268, 0, 0, 0, 1268, 1268,
+
+ 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
+ 1268, 1268, 1268, 1268, 1268, 1269, 0, 0, 1269, 0,
+ 0, 0, 1269, 0, 1269, 0, 1269, 1269, 1269, 0,
+ 0, 1269, 1269, 1269, 1269, 1269, 1270, 0, 0, 1270,
+ 0, 0, 1270, 1270, 0, 1270, 0, 1270, 1270, 1270,
+ 1270, 0, 1270, 1270, 1270, 1270, 1270, 1271, 0, 0,
+ 1271, 0, 0, 0, 1271, 0, 1271, 0, 1271, 1271,
+ 1271, 0, 0, 1271, 1271, 1271, 1271, 1271, 1272, 0,
+ 0, 1272, 1272, 1272, 0, 1272, 1272, 1272, 0, 1272,
+ 1272, 1272, 0, 0, 1272, 1272, 1272, 1272, 1272, 1273,
+
+ 1273, 0, 1273, 1273, 1273, 0, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
-
- 1273, 1274, 0, 0, 1274, 1274, 1274, 0, 1274, 1274,
- 1274, 0, 1274, 1274, 1274, 0, 1274, 1274, 0, 1274,
- 1274, 1274, 1275, 1275, 0, 1275, 1275, 1275, 0, 0,
- 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 0,
- 1275, 1275, 1275, 1277, 0, 0, 1277, 1277, 0, 0,
- 1277, 1277, 1277, 0, 1277, 1277, 1277, 1277, 0, 1277,
- 1277, 1277, 1277, 1277, 1278, 1278, 0, 1278, 1278, 0,
- 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278,
- 1278, 1278, 1278, 1278, 1278, 1279, 0, 0, 1279, 0,
- 0, 0, 1279, 0, 1279, 0, 1279, 1279, 1279, 0,
-
+ 1274, 0, 0, 1274, 0, 0, 0, 1274, 0, 1274,
+ 0, 1274, 1274, 1274, 0, 0, 1274, 1274, 1274, 1274,
+ 1274, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275,
+ 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275,
+ 1275, 1275, 1276, 1276, 0, 1276, 1276, 1276, 1276, 1276,
+ 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
+ 1276, 1276, 1276, 1277, 0, 0, 1277, 0, 0, 0,
+ 1277, 0, 1277, 0, 1277, 1277, 1277, 0, 0, 1277,
+
+ 1277, 1277, 1277, 1277, 1278, 0, 0, 1278, 0, 0,
+ 0, 1278, 0, 1278, 0, 1278, 1278, 1278, 0, 0,
+ 1278, 1278, 1278, 1278, 1278, 1279, 0, 0, 1279, 1279,
+ 1279, 0, 1279, 1279, 1279, 0, 1279, 1279, 1279, 0,
0, 1279, 1279, 1279, 1279, 1279, 1280, 0, 0, 1280,
- 0, 0, 0, 1280, 0, 1280, 0, 1280, 1280, 1280,
- 0, 1280, 1280, 1280, 1280, 1280, 1280, 1281, 0, 0,
- 1281, 1281, 0, 1281, 1281, 0, 0, 1281, 1281, 1282,
- 0, 0, 1282, 1282, 1282, 0, 1282, 1282, 1282, 0,
- 1282, 1282, 1282, 0, 1282, 1282, 1282, 1282, 1282, 1282,
- 1284, 0, 0, 0, 1284, 1284, 1284, 1284, 1284, 1284,
- 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
- 1284, 1285, 0, 0, 1285, 0, 0, 0, 1285, 0,
- 1285, 0, 1285, 1285, 1285, 0, 0, 1285, 1285, 1285,
-
- 1285, 1285, 1286, 0, 0, 1286, 0, 0, 0, 1286,
- 0, 1286, 0, 1286, 1286, 1286, 0, 0, 1286, 1286,
- 1286, 1286, 1286, 1287, 0, 0, 1287, 0, 0, 0,
- 1287, 0, 1287, 0, 1287, 1287, 1287, 0, 0, 1287,
- 1287, 1287, 1287, 1287, 1288, 0, 0, 1288, 1288, 1288,
- 0, 1288, 1288, 1288, 0, 1288, 1288, 1288, 0, 0,
- 1288, 1288, 1288, 1288, 1288, 1289, 0, 0, 1289, 1289,
- 1289, 0, 1289, 1289, 1289, 0, 1289, 1289, 1289, 0,
- 0, 1289, 1289, 1289, 1289, 1289, 1290, 1290, 0, 1290,
- 1290, 1290, 0, 1290, 1290, 1290, 1290, 1290, 1290, 1290,
-
- 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1291, 1291, 1291,
- 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
- 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1292, 1292,
- 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
- 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1293,
- 0, 0, 1293, 0, 0, 0, 1293, 0, 1293, 0,
- 1293, 1293, 1293, 0, 0, 1293, 1293, 1293, 1293, 1293,
- 1295, 1295, 1295, 0, 0, 0, 0, 1295, 1296, 1296,
- 0, 1296, 1296, 1296, 0, 1296, 1296, 1296, 1296, 1296,
- 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1297,
-
- 1297, 0, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1298, 1298, 0, 1298, 1298, 1298, 0, 1298, 1298, 1298,
- 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
- 1298, 1299, 1299, 0, 1299, 1299, 1299, 0, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1303, 1303, 1303, 0, 0, 0, 0, 1303,
- 1304, 1304, 1304, 0, 0, 0, 0, 1304, 1305, 1305,
- 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305,
- 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1306,
-
- 1306, 0, 1306, 1306, 1306, 0, 1306, 1306, 1306, 1306,
- 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306,
+ 1280, 1280, 0, 1280, 1280, 1280, 0, 1280, 1280, 1280,
+ 0, 0, 1280, 1280, 1280, 1280, 1280, 1283, 1283, 1283,
+ 0, 0, 0, 0, 1283, 1284, 1284, 0, 1284, 1284,
+ 1284, 0, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
+ 1284, 1284, 1284, 1284, 1284, 1284, 1285, 1285, 0, 1285,
+
+ 1285, 1285, 0, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
+ 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1286, 0, 0,
+ 1286, 1286, 1286, 0, 1286, 1286, 1286, 0, 1286, 1286,
+ 1286, 0, 0, 1286, 1286, 1286, 1286, 1286, 1287, 0,
+ 0, 1287, 1287, 1287, 0, 1287, 1287, 1287, 0, 1287,
+ 1287, 1287, 0, 0, 1287, 1287, 1287, 1287, 1287, 1288,
+ 1288, 0, 1288, 1288, 1288, 0, 1288, 1288, 1288, 1288,
+ 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
+ 1289, 1289, 0, 1289, 1289, 1289, 0, 1289, 1289, 1289,
+ 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289,
+
+ 1289, 1290, 0, 0, 1290, 1290, 1290, 0, 1290, 1290,
+ 1290, 0, 1290, 1290, 1290, 0, 1290, 1290, 0, 1290,
+ 1290, 1290, 1291, 1291, 0, 1291, 1291, 1291, 0, 0,
+ 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 0,
+ 1291, 1291, 1291, 1293, 0, 0, 1293, 1293, 0, 0,
+ 1293, 1293, 1293, 0, 1293, 1293, 1293, 1293, 0, 1293,
+ 1293, 1293, 1293, 1293, 1294, 1294, 0, 1294, 1294, 0,
+ 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294,
+ 1294, 1294, 1294, 1294, 1294, 1295, 0, 0, 1295, 0,
+ 0, 0, 1295, 0, 1295, 0, 1295, 1295, 1295, 0,
+
+ 0, 1295, 1295, 1295, 1295, 1295, 1296, 0, 0, 1296,
+ 0, 0, 0, 1296, 0, 1296, 0, 1296, 1296, 1296,
+ 0, 1296, 1296, 1296, 1296, 1296, 1296, 1297, 0, 0,
+ 1297, 1297, 0, 1297, 1297, 0, 0, 1297, 1297, 1298,
+ 0, 0, 1298, 1298, 1298, 0, 1298, 1298, 1298, 0,
+ 1298, 1298, 1298, 0, 1298, 1298, 1298, 1298, 1298, 1298,
+ 1300, 0, 0, 0, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1301, 0, 0, 1301, 0, 0, 0, 1301, 0,
+ 1301, 0, 1301, 1301, 1301, 0, 0, 1301, 1301, 1301,
+
+ 1301, 1301, 1302, 0, 0, 1302, 0, 0, 0, 1302,
+ 0, 1302, 0, 1302, 1302, 1302, 0, 0, 1302, 1302,
+ 1302, 1302, 1302, 1303, 0, 0, 1303, 0, 0, 0,
+ 1303, 0, 1303, 0, 1303, 1303, 1303, 0, 0, 1303,
+ 1303, 1303, 1303, 1303, 1304, 0, 0, 1304, 1304, 1304,
+ 0, 1304, 1304, 1304, 0, 1304, 1304, 1304, 0, 0,
+ 1304, 1304, 1304, 1304, 1304, 1305, 0, 0, 1305, 1305,
+ 1305, 0, 1305, 1305, 1305, 0, 1305, 1305, 1305, 0,
+ 0, 1305, 1305, 1305, 1305, 1305, 1306, 1306, 0, 1306,
+ 1306, 1306, 0, 1306, 1306, 1306, 1306, 1306, 1306, 1306,
+
+ 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1307, 1307, 1307,
+ 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307,
+ 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1308, 1308,
+ 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
+ 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1309,
+ 0, 0, 1309, 0, 0, 0, 1309, 0, 1309, 0,
+ 1309, 1309, 1309, 0, 0, 1309, 1309, 1309, 1309, 1309,
1311, 1311, 1311, 0, 0, 0, 0, 1311, 1312, 1312,
- 1312, 1312, 0, 0, 0, 0, 1312, 1316, 1316, 1316,
- 0, 0, 0, 0, 1316, 1317, 1317, 1317, 1317, 0,
- 0, 0, 0, 1317, 1320, 1320, 1320, 0, 0, 0,
- 0, 1320, 1321, 1321, 1321, 1321, 0, 0, 0, 0,
- 1321, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
+ 0, 1312, 1312, 1312, 0, 1312, 1312, 1312, 1312, 1312,
+ 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1313,
+
+ 1313, 0, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,
+ 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,
+ 1314, 1314, 0, 1314, 1314, 1314, 0, 1314, 1314, 1314,
+ 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314,
+ 1314, 1315, 1315, 0, 1315, 1315, 1315, 0, 1315, 1315,
+ 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315,
+ 1315, 1315, 1319, 1319, 1319, 0, 0, 0, 0, 1319,
+ 1320, 1320, 1320, 0, 0, 0, 0, 1320, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1322,
+
+ 1322, 0, 1322, 1322, 1322, 0, 1322, 1322, 1322, 1322,
1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
- 1322, 1322, 1324, 0, 0, 1324, 1324, 0, 1324, 1324,
-
- 0, 0, 1324, 1324, 1325, 0, 0, 1325, 0, 0,
- 0, 1325, 0, 1325, 0, 1325, 1325, 1325, 0, 0,
- 1325, 1325, 1325, 1325, 1325, 1327, 0, 1327, 1327, 0,
- 0, 0, 0, 1327, 1328, 1328, 1328, 0, 0, 0,
- 0, 1328, 1329, 1329, 1329, 1329, 0, 0, 0, 0,
- 1329, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330,
- 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330,
- 1330, 1330, 1332, 0, 0, 1332, 1332, 0, 1332, 1332,
- 0, 0, 1332, 1332, 1333, 0, 0, 1333, 0, 0,
- 0, 1333, 0, 1333, 0, 1333, 1333, 1333, 0, 0,
-
- 1333, 1333, 1333, 1333, 1333, 1335, 0, 1335, 1335, 0,
- 0, 0, 0, 1335, 1336, 1336, 1336, 0, 0, 0,
- 0, 1336, 1337, 1337, 1337, 0, 0, 0, 0, 0,
+ 1327, 1327, 1327, 0, 0, 0, 0, 1327, 1328, 1328,
+ 1328, 1328, 0, 0, 0, 0, 1328, 1332, 1332, 1332,
+ 0, 0, 0, 0, 1332, 1333, 1333, 1333, 1333, 0,
+ 0, 0, 0, 1333, 1336, 1336, 1336, 0, 0, 0,
+ 0, 1336, 1337, 1337, 1337, 1337, 0, 0, 0, 0,
1337, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
- 1338, 1338, 1339, 1339, 0, 1339, 1339, 1339, 1339, 1339,
- 0, 1339, 0, 1339, 1339, 1339, 0, 0, 1339, 1339,
- 1339, 1339, 1339, 1340, 1340, 0, 1340, 1340, 1340, 1340,
- 1340, 0, 1340, 0, 1340, 1340, 1340, 0, 0, 1340,
- 1340, 1340, 1340, 1340, 1342, 0, 1342, 1342, 0, 0,
-
- 0, 0, 1342, 1345, 0, 1345, 1345, 0, 0, 0,
- 0, 1345, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
- 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
- 1348, 1348, 1348, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
-
- 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225
+ 1338, 1338, 1340, 0, 0, 1340, 1340, 0, 1340, 1340,
+
+ 0, 0, 1340, 1340, 1341, 0, 0, 1341, 0, 0,
+ 0, 1341, 0, 1341, 0, 1341, 1341, 1341, 0, 0,
+ 1341, 1341, 1341, 1341, 1341, 1343, 0, 1343, 1343, 0,
+ 0, 0, 0, 1343, 1344, 1344, 1344, 0, 0, 0,
+ 0, 1344, 1345, 1345, 1345, 1345, 0, 0, 0, 0,
+ 1345, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
+ 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
+ 1346, 1346, 1348, 0, 0, 1348, 1348, 0, 1348, 1348,
+ 0, 0, 1348, 1348, 1349, 0, 0, 1349, 0, 0,
+ 0, 1349, 0, 1349, 0, 1349, 1349, 1349, 0, 0,
+
+ 1349, 1349, 1349, 1349, 1349, 1351, 0, 1351, 1351, 0,
+ 0, 0, 0, 1351, 1352, 1352, 1352, 0, 0, 0,
+ 0, 1352, 1353, 1353, 1353, 0, 0, 0, 0, 0,
+ 1353, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
+ 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
+ 1354, 1354, 1355, 1355, 0, 1355, 1355, 1355, 1355, 1355,
+ 0, 1355, 0, 1355, 1355, 1355, 0, 0, 1355, 1355,
+ 1355, 1355, 1355, 1356, 1356, 0, 1356, 1356, 1356, 1356,
+ 1356, 0, 1356, 0, 1356, 1356, 1356, 0, 0, 1356,
+ 1356, 1356, 1356, 1356, 1358, 0, 1358, 1358, 0, 0,
+
+ 0, 0, 1358, 1361, 0, 1361, 1361, 0, 0, 0,
+ 0, 1361, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
+ 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
+ 1364, 1364, 1364, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
+
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241
} ;
static yy_state_type yy_last_accepting_state;
@@ -3129,7 +3135,7 @@ int (*trace_print)(const char *msg) = sudoers_trace_print;
-#line 3127 "toke.c"
+#line 3133 "toke.c"
#define INITIAL 0
#define GOTDEFS 1
@@ -3352,7 +3358,7 @@ YY_DECL
{
#line 124 "toke.l"
-#line 3350 "toke.c"
+#line 3356 "toke.c"
while ( 1 ) /* loops until end-of-file is reached */
{
@@ -3380,7 +3386,7 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1226 )
+ if ( yy_current_state >= 1242 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -4157,6 +4163,18 @@ case 61:
YY_RULE_SETUP
#line 682 "toke.l"
{
+#ifdef HAVE_APPARMOR
+ LEXTRACE("APPARMOR_PROFILE ");
+ return APPARMOR_PROFILE;
+#else
+ goto got_alias;
+#endif
+ }
+ YY_BREAK
+case 62:
+YY_RULE_SETUP
+#line 690 "toke.l"
+{
#ifdef HAVE_PRIV_SET
LEXTRACE("PRIVS ");
return PRIVS;
@@ -4165,9 +4183,9 @@ YY_RULE_SETUP
#endif
}
YY_BREAK
-case 62:
+case 63:
YY_RULE_SETUP
-#line 691 "toke.l"
+#line 699 "toke.l"
{
#ifdef HAVE_PRIV_SET
LEXTRACE("LIMITPRIVS ");
@@ -4177,9 +4195,9 @@ YY_RULE_SETUP
#endif
}
YY_BREAK
-case 63:
+case 64:
YY_RULE_SETUP
-#line 700 "toke.l"
+#line 708 "toke.l"
{
got_alias:
if (!fill(sudoerstext, sudoersleng))
@@ -4188,9 +4206,9 @@ YY_RULE_SETUP
return ALIAS;
}
YY_BREAK
-case 64:
+case 65:
YY_RULE_SETUP
-#line 708 "toke.l"
+#line 716 "toke.l"
{
/* XXX - no way to specify digest for command */
/* no command args allowed for Defaults!/path */
@@ -4200,9 +4218,9 @@ YY_RULE_SETUP
return COMMAND;
}
YY_BREAK
-case 65:
+case 66:
YY_RULE_SETUP
-#line 717 "toke.l"
+#line 725 "toke.l"
{
digest_type = SUDO_DIGEST_SHA224;
BEGIN WANTDIGEST;
@@ -4210,9 +4228,9 @@ YY_RULE_SETUP
return SHA224_TOK;
}
YY_BREAK
-case 66:
+case 67:
YY_RULE_SETUP
-#line 724 "toke.l"
+#line 732 "toke.l"
{
digest_type = SUDO_DIGEST_SHA256;
BEGIN WANTDIGEST;
@@ -4220,9 +4238,9 @@ YY_RULE_SETUP
return SHA256_TOK;
}
YY_BREAK
-case 67:
+case 68:
YY_RULE_SETUP
-#line 731 "toke.l"
+#line 739 "toke.l"
{
digest_type = SUDO_DIGEST_SHA384;
BEGIN WANTDIGEST;
@@ -4230,9 +4248,9 @@ YY_RULE_SETUP
return SHA384_TOK;
}
YY_BREAK
-case 68:
+case 69:
YY_RULE_SETUP
-#line 738 "toke.l"
+#line 746 "toke.l"
{
digest_type = SUDO_DIGEST_SHA512;
BEGIN WANTDIGEST;
@@ -4240,9 +4258,9 @@ YY_RULE_SETUP
return SHA512_TOK;
}
YY_BREAK
-case 69:
+case 70:
YY_RULE_SETUP
-#line 745 "toke.l"
+#line 753 "toke.l"
{
BEGIN GOTCMND;
LEXTRACE("COMMAND ");
@@ -4250,9 +4268,9 @@ YY_RULE_SETUP
yyterminate();
} /* sudo -e */
YY_BREAK
-case 70:
+case 71:
YY_RULE_SETUP
-#line 752 "toke.l"
+#line 760 "toke.l"
{
BEGIN prev_state;
if (!fill(sudoerstext, sudoersleng))
@@ -4261,9 +4279,9 @@ YY_RULE_SETUP
return WORD;
}
YY_BREAK
-case 71:
+case 72:
YY_RULE_SETUP
-#line 760 "toke.l"
+#line 768 "toke.l"
{
/* directories can't have args... */
if (sudoerstext[sudoersleng - 1] == '/') {
@@ -4278,9 +4296,9 @@ YY_RULE_SETUP
yyterminate();
} /* a pathname */
YY_BREAK
-case 72:
+case 73:
YY_RULE_SETUP
-#line 774 "toke.l"
+#line 782 "toke.l"
{
if (sudoers_strict) {
if (!sudo_regex_compile(NULL, sudoerstext, &sudoers_errstr)) {
@@ -4294,9 +4312,9 @@ YY_RULE_SETUP
yyterminate();
} /* a regex */
YY_BREAK
-case 73:
+case 74:
YY_RULE_SETUP
-#line 787 "toke.l"
+#line 795 "toke.l"
{
LEXTRACE("BEGINSTR ");
sudoerslval.string = NULL;
@@ -4304,9 +4322,9 @@ YY_RULE_SETUP
BEGIN INSTR;
}
YY_BREAK
-case 74:
+case 75:
YY_RULE_SETUP
-#line 794 "toke.l"
+#line 802 "toke.l"
{
/* a word */
if (!fill(sudoerstext, sudoersleng))
@@ -4316,9 +4334,9 @@ YY_RULE_SETUP
}
YY_BREAK
-case 75:
+case 76:
YY_RULE_SETUP
-#line 803 "toke.l"
+#line 811 "toke.l"
{
/* include file/directory */
if (!fill(sudoerstext, sudoersleng))
@@ -4328,9 +4346,9 @@ YY_RULE_SETUP
return WORD;
}
YY_BREAK
-case 76:
+case 77:
YY_RULE_SETUP
-#line 812 "toke.l"
+#line 820 "toke.l"
{
LEXTRACE("BEGINSTR ");
sudoerslval.string = NULL;
@@ -4339,49 +4357,49 @@ YY_RULE_SETUP
}
YY_BREAK
-case 77:
+case 78:
YY_RULE_SETUP
-#line 820 "toke.l"
+#line 828 "toke.l"
{
LEXTRACE("( ");
return '(';
}
YY_BREAK
-case 78:
+case 79:
YY_RULE_SETUP
-#line 825 "toke.l"
+#line 833 "toke.l"
{
LEXTRACE(") ");
return ')';
}
YY_BREAK
-case 79:
+case 80:
YY_RULE_SETUP
-#line 830 "toke.l"
+#line 838 "toke.l"
{
LEXTRACE(", ");
return ',';
} /* return ',' */
YY_BREAK
-case 80:
+case 81:
YY_RULE_SETUP
-#line 835 "toke.l"
+#line 843 "toke.l"
{
LEXTRACE("= ");
return '=';
} /* return '=' */
YY_BREAK
-case 81:
+case 82:
YY_RULE_SETUP
-#line 840 "toke.l"
+#line 848 "toke.l"
{
LEXTRACE(": ");
return ':';
} /* return ':' */
YY_BREAK
-case 82:
+case 83:
YY_RULE_SETUP
-#line 845 "toke.l"
+#line 853 "toke.l"
{
if (sudoersleng & 1) {
LEXTRACE("!");
@@ -4389,10 +4407,10 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 83:
-/* rule 83 can match eol */
+case 84:
+/* rule 84 can match eol */
YY_RULE_SETUP
-#line 852 "toke.l"
+#line 860 "toke.l"
{
if (YY_START == INSTR) {
/* throw away old string */
@@ -4412,27 +4430,27 @@ YY_RULE_SETUP
return '\n';
} /* return newline */
YY_BREAK
-case 84:
+case 85:
YY_RULE_SETUP
-#line 871 "toke.l"
+#line 879 "toke.l"
{ /* throw away space/tabs */
sawspace = true; /* but remember for fill_args */
}
YY_BREAK
-case 85:
-/* rule 85 can match eol */
+case 86:
+/* rule 86 can match eol */
YY_RULE_SETUP
-#line 875 "toke.l"
+#line 883 "toke.l"
{
sawspace = true; /* remember for fill_args */
sudolineno++;
continued = true;
} /* throw away EOL after \ */
YY_BREAK
-case 86:
-/* rule 86 can match eol */
+case 87:
+/* rule 87 can match eol */
YY_RULE_SETUP
-#line 881 "toke.l"
+#line 889 "toke.l"
{
if (sudoerstext[sudoersleng - 1] == '\n') {
/* comment ending in a newline */
@@ -4448,9 +4466,9 @@ YY_RULE_SETUP
return '\n';
} /* comment, not uid/gid */
YY_BREAK
-case 87:
+case 88:
YY_RULE_SETUP
-#line 896 "toke.l"
+#line 904 "toke.l"
{
LEXTRACE("NOMATCH ");
return NOMATCH;
@@ -4466,18 +4484,18 @@ case YY_STATE_EOF(INSTR):
case YY_STATE_EOF(WANTDIGEST):
case YY_STATE_EOF(GOTINC):
case YY_STATE_EOF(EXPECTPATH):
-#line 901 "toke.l"
+#line 909 "toke.l"
{
if (!pop_include())
yyterminate();
}
YY_BREAK
-case 88:
+case 89:
YY_RULE_SETUP
-#line 906 "toke.l"
+#line 914 "toke.l"
ECHO;
YY_BREAK
-#line 4475 "toke.c"
+#line 4493 "toke.c"
case YY_END_OF_BUFFER:
{
@@ -4771,7 +4789,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1226 )
+ if ( yy_current_state >= 1242 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -4799,11 +4817,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1226 )
+ if ( yy_current_state >= 1242 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 1225);
+ yy_is_jam = (yy_current_state == 1241);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -5438,7 +5456,7 @@ void sudoersfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 906 "toke.l"
+#line 914 "toke.l"
struct path_list {
diff --git a/plugins/sudoers/toke.l b/plugins/sudoers/toke.l
index 91280739b..3cd4eecb8 100644
--- a/plugins/sudoers/toke.l
+++ b/plugins/sudoers/toke.l
@@ -679,6 +679,14 @@ ALL {
goto got_alias;
#endif
}
+<INITIAL>APPARMOR_PROFILE {
+#ifdef HAVE_APPARMOR
+ LEXTRACE("APPARMOR_PROFILE ");
+ return APPARMOR_PROFILE;
+#else
+ goto got_alias;
+#endif
+ }
<INITIAL>PRIVS {
#ifdef HAVE_PRIV_SET
LEXTRACE("PRIVS ");
diff --git a/plugins/sudoers/visudo.c b/plugins/sudoers/visudo.c
index 515158402..679d39da8 100644
--- a/plugins/sudoers/visudo.c
+++ b/plugins/sudoers/visudo.c
@@ -77,6 +77,7 @@ struct sudoersfile {
bool modified;
bool doedit;
int fd;
+ int errorline;
};
TAILQ_HEAD(sudoersfile_list, sudoersfile);
@@ -89,6 +90,7 @@ static char *get_editor(int *editor_argc, char ***editor_argv);
static bool check_syntax(const char *, bool, bool, bool, bool);
static bool edit_sudoers(struct sudoersfile *, char *, int, char **, int);
static bool install_sudoers(struct sudoersfile *, bool, bool);
+static bool visudo_track_error(const char *file, int line, int column, const char *fmt, va_list args);
static int print_unused(struct sudoers_parse_tree *, struct alias *, void *);
static bool reparse_sudoers(char *, int, char **, bool, bool);
static int run_command(char *, char **);
@@ -107,6 +109,7 @@ struct sudo_user sudo_user;
struct passwd *list_pw;
static struct sudoersfile_list sudoerslist = TAILQ_HEAD_INITIALIZER(sudoerslist);
static bool checkonly;
+static unsigned int errors;
static const char short_opts[] = "cf:hOPqsVx:";
static struct option long_opts[] = {
{ "check", no_argument, NULL, 'c' },
@@ -226,8 +229,16 @@ main(int argc, char *argv[])
usage(1);
}
- /* Check/set owner and mode for installed sudoers file. */
- if (!fflag) {
+ if (fflag) {
+ /* Looser owner/permission checks for an uninstalled sudoers file. */
+ if (!use_owner) {
+ sudoers_uid = -1;
+ sudoers_gid = -1;
+ }
+ if (!use_perms)
+ SET(sudoers_mode, S_IWUSR);
+ } else {
+ /* Check/set owner and mode for installed sudoers file. */
use_owner = true;
use_perms = true;
}
@@ -256,6 +267,9 @@ main(int argc, char *argv[])
}
get_hostname();
+ /* Hook the sudoers parser to track files with parse errors. */
+ sudoers_error_hook = visudo_track_error;
+
/* Setup defaults data structures. */
if (!init_defaults())
sudo_fatalx("%s", U_("unable to initialize sudoers default values"));
@@ -320,6 +334,28 @@ done:
exit(exitcode);
}
+static bool
+visudo_track_error(const char *file, int line, int column, const char *fmt,
+ va_list args)
+{
+ struct sudoersfile *sp;
+ debug_decl(visudo_track_error, SUDOERS_DEBUG_UTIL);
+
+ TAILQ_FOREACH(sp, &sudoerslist, entries) {
+ if (sp->errorline > 0)
+ continue; /* preserve the first error */
+
+ if (strcmp(file, sp->path) == 0 ||
+ (sp->tpath != NULL && strcmp(file, sp->tpath) == 0)) {
+ sp->errorline = line;
+ break;
+ }
+ }
+ errors++;
+
+ debug_return_bool(true);
+}
+
static char *
get_editor(int *editor_argc, char ***editor_argv)
{
@@ -564,7 +600,7 @@ done:
/*
* Check Defaults and Alias entries.
- * Sets parse_error on error and errorfile/errorlineno if possible.
+ * On error, visudo_track_error() will set the line number in sudoerslist.
*/
static void
check_defaults_and_aliases(bool strict, bool quiet)
@@ -572,19 +608,6 @@ check_defaults_and_aliases(bool strict, bool quiet)
debug_decl(check_defaults_and_aliases, SUDOERS_DEBUG_UTIL);
if (!check_defaults(&parsed_policy, quiet)) {
- struct defaults *d;
- sudo_rcstr_delref(errorfile);
- errorfile = NULL;
- errorlineno = -1;
- /* XXX - should edit all files with errors */
- TAILQ_FOREACH(d, &parsed_policy.defaults, entries) {
- if (d->error) {
- /* Defaults parse error, set errorfile/errorlineno. */
- errorfile = sudo_rcstr_addref(d->file);
- errorlineno = d->line;
- break;
- }
- }
parse_error = true;
}
if (check_aliases(&parsed_policy, strict, quiet, print_unused) != 0) {
@@ -608,6 +631,7 @@ reparse_sudoers(char *editor, int editor_argc, char **editor_argv,
/*
* Parse the edited sudoers files.
*/
+ errors = 0;
while ((sp = TAILQ_FIRST(&sudoerslist)) != NULL) {
last = TAILQ_LAST(&sudoerslist, sudoersfile_list);
fp = fopen(sp->tpath, "r+");
@@ -619,6 +643,7 @@ reparse_sudoers(char *editor, int editor_argc, char **editor_argv,
if (!init_defaults())
sudo_fatalx("%s", U_("unable to initialize sudoers default values"));
init_parser(sp->path, quiet, true);
+ sp->errorline = -1;
/* Parse the sudoers temp file(s) */
sudoersrestart(fp);
@@ -627,9 +652,6 @@ reparse_sudoers(char *editor, int editor_argc, char **editor_argv,
sudo_warnx(U_("unable to parse temporary file (%s), unknown error"),
sp->tpath);
parse_error = true;
- sudo_rcstr_delref(errorfile);
- if ((errorfile = sudo_rcstr_dup(sp->path)) == NULL)
- sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
}
fclose(sudoersin);
if (!parse_error) {
@@ -654,17 +676,11 @@ reparse_sudoers(char *editor, int editor_argc, char **editor_argv,
default:
/* Edit file with the parse error */
TAILQ_FOREACH(sp, &sudoerslist, entries) {
- if (errorfile == NULL || strcmp(sp->path, errorfile) == 0) {
+ if (errors == 0 || sp->errorline > 0) {
edit_sudoers(sp, editor, editor_argc, editor_argv,
- errorlineno);
- if (errorfile != NULL)
- break;
+ sp->errorline);
}
}
- if (errorfile != NULL && sp == NULL) {
- sudo_fatalx(U_("internal error, unable to find %s in list!"),
- sudoers);
- }
break;
}
}
@@ -957,9 +973,6 @@ check_syntax(const char *file, bool quiet, bool strict, bool check_owner,
if (!quiet)
sudo_warnx(U_("failed to parse %s file, unknown error"), file);
parse_error = true;
- sudo_rcstr_delref(errorfile);
- if ((errorfile = sudo_rcstr_dup(file)) == NULL)
- sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
}
if (!parse_error) {
(void) update_defaults(&parsed_policy, NULL,
@@ -1184,13 +1197,9 @@ visudo_cleanup(void)
static void
quit(int signo)
{
- struct sudoersfile *sp;
struct iovec iov[4];
- TAILQ_FOREACH(sp, &sudoerslist, entries) {
- if (sp->tpath != NULL)
- (void) unlink(sp->tpath);
- }
+ visudo_cleanup();
#define emsg " exiting due to signal: "
iov[0].iov_base = (char *)getprogname();
diff --git a/plugins/system_group/Makefile.in b/plugins/system_group/Makefile.in
index 4eaac7aa7..da93c1dfa 100644
--- a/plugins/system_group/Makefile.in
+++ b/plugins/system_group/Makefile.in
@@ -68,8 +68,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -131,7 +131,7 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .plog
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -146,7 +146,7 @@ $(shlib_opt): $(shlib_exp)
@$(SED) 's/^/+e /' $(shlib_exp) > $@
system_group.la: $(OBJS) $(LT_LIBS) @LT_LDDEP@
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) -shrext .so
pre-install:
@@ -215,7 +215,7 @@ system_group.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/system_group.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/system_group.c
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 \
diff --git a/po/cs.mo b/po/cs.mo
index b7dd032f1..426ae8463 100644
--- a/po/cs.mo
+++ b/po/cs.mo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 8f24a5a09..c95334d66 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-17 20:18+01:00\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-06-03 20:39+02:00\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
@@ -34,32 +34,33 @@ msgstr "registr nelze obnovit"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76
#: lib/util/json.c:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -71,36 +72,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "nelze alokovat paměť"
@@ -198,6 +199,15 @@ msgstr "%s je zapisovatelný pro všechny"
msgid "%s is group writable"
msgstr "%s je zapisovatelný pro skupinu"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "nepodaÅ™ilo se urÄit uzavÅ™ení AppArmoru"
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "profil AppArmoru nelze změnit na %s"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -232,95 +242,117 @@ msgstr "%s: chybná práva souboru: 0%o"
msgid "unable to restore current working directory"
msgstr "souÄasný pracovní adresář nelze obnovit"
-#: src/exec.c:130
+# This sets an inhertiable set of Solaris process privileges.
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "nelze nastavit množinu děditelných oprávnění"
+
+# This sets a limit set of Solaris process privileges.
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "nelze nastavit množinu omezující oprávnění"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "neznámá přihlašovací třída %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "nelze nastavit kontext uživatele"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "nelze nastavit prioritu procesu"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "kořenový adresář nelze změnit na %s"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "nelze změnit UID na (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "pracovní adresář nelze změnit na %s"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "zaÄíná se od %s"
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "obsluhu pro signál %d nelze nastavit"
+#: src/exec.c:391
+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:396
+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"
+
#: src/exec_common.c:56
msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT"
msgstr "z PRIV_LIMIT nelze odstranit PRIV_PROC_EXEC"
-#: src/exec_intercept.c:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "událost nelze přidat do fronty"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "neplatný požadavek PolicyCheckRequest"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "příkaz zamítnut politikou"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "chyba modulu s politikou"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "neplatný požadavek PolicyCheckRequest"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "požadavek od klienta je příliš dlouhý: %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "nelze rozbalit %s o velikosti %zu"
+
+#: src/exec_intercept.c:665
#, 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:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "zpráva serveru je příliš dlouhá: %zu"
@@ -334,73 +366,117 @@ msgstr "chyba pÅ™i Ätení z dvojice socketů"
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:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "řídicí terminál nelze nastavit"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "nelze vytvořit rouru"
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "od rodiÄe nelze pÅ™ijmout zprávu"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "nelze vytvořit potomka"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "nelze obnovit znaÄku TTY"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "%s nelze spustit"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "modul s politikami zrušil inicializaci relace"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "nelze vytvořit sockety"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "chyba ve smyÄce s událostmi"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "nedostatek místa pro argumenty volání execve"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "nelze obnovit obsluhu signálu %d"
+msgid "unable to read execve %s for process %d"
+msgstr "nelze pÅ™eÄíst %s volání execve pro proces %d"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "nelze nastavit registry pro proces %d"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "proces %d neÄekanÄ› skonÄil"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "nelze nastavit filtr seccomp"
+
+#: src/exec_ptrace.c:934
+#, 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:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, 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:1013
+#, 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:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "nelze získat registry procesu %d"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "nelze alokovat PTY"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "chyba vstupně-výstupního modulu"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "příkaz zamítnut vstupně-výstupním modulem"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "chyba pozastavování protokolu"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "chyba při měnění velikosti okna"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "nelze obnovit obsluhu signálu %d"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "dohlížejícímu procesu nelze odeslat zprávu"
@@ -466,48 +542,48 @@ msgstr "modul s politikou %s neobsahuje metodu check_policy"
msgid "internal error, %s overflow"
msgstr "vnitÅ™ní chyba, pÅ™eteÄení v %s"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "neplatný název proměnné prostředí: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
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:568
+#: src/parse_args.c:545
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:573
+#: src/parse_args.c:550
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:583
+#: src/parse_args.c:560
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:586
+#: src/parse_args.c:563
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:596
+#: src/parse_args.c:573
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:600
+#: src/parse_args.c:577
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:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "na této platformě není sudoedit podporován"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Smí být zadán pouze jeden z pÅ™epínaÄů -e, -h, -i, -K, -l, -s, -v nebo -V"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -516,7 +592,7 @@ msgstr ""
"%s – upraví soubory jako jiný uživatel\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -525,7 +601,7 @@ msgstr ""
"%s – vykoná příkaz jako jiný uživatel\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -533,131 +609,131 @@ msgstr ""
"\n"
"PÅ™epínaÄe:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "dotazuje se na heslo prostřednictvím pomocného programu"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "použije zadaný druh BSD autentizace"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "spustí příkaz na pozadí"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "při výzvě vydá zvukové znamení"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "uzavÅ™e vÅ¡echny deskriptory souboru >= Äíslu"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "spustí příkaz se zadanou přihlašovací třídou BSD"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "změní pracovní adresář před spuštěním příkazu"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "při spuštění příkazu zachová uživatelské prostředí"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "zachová urÄité promÄ›nné prostÅ™edí"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "místo spuštění příkazu upraví soubory"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "spustí příkaz jako skupina urÄení názvem nebo ID"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "nastaví proměnnou HOME na domovský adresář uživatele"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "zobrazí nápovÄ›du a skonÄí"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "spustí příkaz na stroji (je-li podporováno modulem)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "spustí přihlašovací shell jako cílový uživatel; příkaz lze rovněž zadat"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "úplnÄ› odstraní soubor s Äasovými údaji"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "zneplatní soubor s Äasovými údaji"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "vypíše oprávnÄ›ní uživatele nebo zkontroluje urÄitý příkaz; pro delší výstup použijte dvakrát"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "neinteraktivní režim, nepoužijí se žádné dotazy"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "zachová vektor skupin namísto nastavení na skupiny cíle"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "použije urÄený dotaz na heslo"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "změní kořenový adresář přes spuštěním příkazu"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "vytvoří selinuxový bezpeÄnostní kontext se zadanou rolí"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "naÄte heslo ze standardní vstupu"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "spustí shell jako cílový uživatel; příkaz lze rovněž zadat"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "vytvoří selinuxový bezpeÄnostní kontext se zadaným typem"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "po uplynutí zadaného Äasu ukonÄí příkaz"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "v režimu výpisu zobrazí oprávnění uživatele"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "spustí příkaz (nebo upraví soubor) jako uživatel urÄený jménem nebo ID"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "zobrazí údaje o verzi a skonÄí"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "aktualizuje Äasové údaje uživatele bez spuÅ¡tÄ›ní příkazu"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "přestane zpracovávat argumenty příkazového řádku"
@@ -871,115 +947,115 @@ msgstr "neexistujete v databázi %s"
msgid "unable to determine tty"
msgstr "nelze urÄit terminál"
-#: src/sudo.c:908
+#: src/sudo.c:925
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:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, 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:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, 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:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "nelze nastavit ID doplňkových skupin"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, c-format
msgid "unable to set effective gid to runas gid %u"
msgstr "efektivní GID nelze nastavit na %u"
-#: src/sudo.c:982
+#: src/sudo.c:999
#, c-format
msgid "unable to set gid to runas gid %u"
msgstr "GID nelze nastavit na %u"
-#: src/sudo.c:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "neoÄekávaný důvod ukonÄení potomka: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "modul s politikami nelze inicializovat"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, c-format
msgid "policy plugin %s is missing the \"check_policy\" method"
msgstr "modulu s politikami %s chybí metoda „check_policy“"
-#: src/sudo.c:1240
+#: src/sudo.c:1257
#, 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:1284
+#: src/sudo.c:1301
#, 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:1322
+#: src/sudo.c:1339
#, 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:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "chyba při inicializaci vstupně-výstupního modulu %s"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "chyba při inicializaci vstupně-výstupního modulu"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "chyba při inicializaci auditního modulu %s"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, c-format
msgid "%s: unable to log error event%s%s"
msgstr "%s nelze zaznamenat chybovou událost%s%s"
-#: src/sudo.c:1718
+#: src/sudo.c:1735
#, 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:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "chyba auditního modulu"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, c-format
msgid "%s: unable to log reject event%s%s"
msgstr "%s nelze zaznamenat zamítací událost%s%s "
-#: src/sudo.c:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "chyba při inicializaci schvalovacího modulu %s"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "příkaz zamítnut schvalovatelem"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "chyba schvalovacího modulu"
@@ -1059,17 +1135,17 @@ msgstr "po terminálu se vyžaduje naÄtení hesla; buÄ jej pÅ™eÄtÄ›te ze stan
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "program pro dotazování se na heslo nebyl zadán, zkuste nastavit SUDO_ASKPASS"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "GID nelze nastavit na %u"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "UID nelze nastavit na %u"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "%s nelze spustit"
diff --git a/po/de.mo b/po/de.mo
index 0c1820cdf..1ffb3872a 100644
--- a/po/de.mo
+++ b/po/de.mo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 94f095184..0c5d4ee5f 100644
--- a/po/de.po
+++ b/po/de.po
@@ -4,10 +4,10 @@
# Mario Blättermann <mario.blaettermann@gmail.com>, 2012, 2014-2017, 2019-2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-13 13:32+0100\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 11:15+0200\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\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 21.12.2\n"
+"X-Generator: Lokalize 22.04.1\n"
#: lib/util/aix.c:89 lib/util/aix.c:169
msgid "unable to open userdb"
@@ -34,32 +34,33 @@ 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:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -71,36 +72,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "Speicher konnte nicht zugewiesen werden"
@@ -197,6 +198,15 @@ msgstr "%s kann von allen verändert werden"
msgid "%s is group writable"
msgstr "%s kann von der Gruppe verändert werden"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "AppArmor-Zugriffskontrolle konnte nicht bestimmt werden."
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "AppArmor-Profil konnte nicht zu %s geändert werden"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -231,95 +241,115 @@ msgstr "%s: falscher Dateimodus: 0%o"
msgid "unable to restore current working directory"
msgstr "Aktueller Arbeitsordner konnte nicht wiederhergestellt werden"
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "Privilegien konnten nicht gesetzt werden"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "Privilegien konnten nicht eingeschränkt werden"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "Unbekannte Anmeldungsklasse %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "Benutzerkontext konnte nicht gesetzt werden"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "Prozesspriorität konnte nicht gesetzt werden"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "Wurzelverzeichnis konnte nicht zu %s geändert werden"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "Es konnte nicht zu »runas«-GID gewechselt werden (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "In Verzeichnis »%s« konnte nicht gewechselt werden"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "beginnend mit %s"
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "Handler für Signal %d konnte nicht gesetzt werden"
+#: src/exec.c:391
+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:396
+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"
+
#: src/exec_common.c:56
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:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "Ereignis konnte nicht zur Warteschlange hinzugefügt werden"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "ungültige PolicyCheckRequest"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "Befehl wurde durch Regelwerk abgewiesen"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "Regelwerk-Plugin-Fehler"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "ungültige PolicyCheckRequest"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "Client-Anfrage ist zu groß: %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "%s, Größe %zu, kann nicht entpackt werden"
+
+#: src/exec_intercept.c:665
#, 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:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "Server-Meldung ist zu groß: %zu"
@@ -333,73 +363,117 @@ msgstr "Fehler beim Lesen des Socket-Paars"
msgid "unexpected reply type on backchannel: %d"
msgstr "Unerwarteter Antworttyp auf Rückmeldungskanal: %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "Kontrollierendes TTY konnte nicht gesetzt werden"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "Weiterleitung konnte nicht erstellt werden"
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "Die Nachricht konnte nicht empfangen werden"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "Es konnte nicht geforkt werden"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "TTY-Kennzeichnung konnte nicht wiederhergestellt werden"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "%s konnte nicht ausgeführt werden"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "Regelwerks-Plugin konnte Sitzung nicht initialisieren"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "Sockets konnten nicht hergestellt werden"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "Fehler in Ereignisschleife"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "Ungenügender Speicher für execve-Argumente"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "Handler für Signal %d konnte nicht wiederhergestellt werden"
+msgid "unable to read execve %s for process %d"
+msgstr "execve %s konnte für Prozess %d nicht gelesen werden"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "Register konnten für Prozess %d nicht gesetzt werden"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "Prozess %d wurde unerwartet beendet"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "seccomp-Filter konnte nicht gesetzt werden"
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr "Pfadname passt nicht, »%s« wurde erwartet, »%s« erhalten"
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, c-format
+msgid "%s[%d] mismatch, expected \"%s\", got \"%s\""
+msgstr "%s[%d] passt nicht, »%s« wurde erwartet, »%s« erhalten"
+
+#: src/exec_ptrace.c:1013
+#, 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:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "Register konnten für Prozess %d nicht erhalten werden"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "PTY konnte nicht vergeben werden"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "E/A-Pluginfehler"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "Befehl wurde vom E/A-Plugin abgewiesen"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "Fehler bei der Aussetzung der Protokollierung"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "Fehler beim Ändern der Fenstergröße"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "Handler für Signal %d konnte nicht wiederhergestellt werden"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "Die Nachricht konnte nicht an den überwachenden Prozess verschickt werden"
@@ -465,48 +539,48 @@ msgstr "Das Regelwerks-Plugin %s enthält keine check_policy-Methode"
msgid "internal error, %s overflow"
msgstr "Interner Fehler: %s-Ãœberlauf"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "Unzulässiger Name der Umgebungsvariable: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
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:568
+#: src/parse_args.c:545
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:573
+#: src/parse_args.c:550
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:583
+#: src/parse_args.c:560
msgid "the -E option is not valid in edit mode"
msgstr "Die Option -E ist im Bearbeiten-Modus ungültig"
-#: src/parse_args.c:586
+#: src/parse_args.c:563
msgid "you may not specify environment variables in edit mode"
msgstr "Im Bearbeiten-Modus können keine Umgebungsvariablen gesetzt werden"
-#: src/parse_args.c:596
+#: src/parse_args.c:573
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:600
+#: src/parse_args.c:577
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:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "sudoedit ist auf dieser Plattform nicht verfügbar"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Nur eine der Optionen -e, -h, -i, -K, -l, -s, -v oder -V darf angegeben werden"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -515,7 +589,7 @@ msgstr ""
"%s - Dateien als anderer Benutzer verändern\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -524,7 +598,7 @@ msgstr ""
"%s - Einen Befehl als anderer Benutzer ausführen\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -532,131 +606,131 @@ msgstr ""
"\n"
"Optionen:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "Hilfsprogramm zum Eingeben des Passworts verwenden"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "Angegebenen BSD-Legitimierungstypen verwenden"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "Befehl im Hintergrund ausführen"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "Bei Eingabeaufforderung Systemklang abspielen"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "Alle Dateideskriptoren >= num schließen"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "Befehl unter angegebener Login-Klasse ausführen"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "Arbeitsverzeichnis vor der Ausführung des Befehls wechseln"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "Benutzerumgebung beim Starten des Befehls beibehalten"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "Spezifische Umgebungsvariablen beibehalten"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "Dateien bearbeiten, statt einen Befehl auszuführen"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "Befehl unter angegebenem Gruppennamen oder Gruppen-ID ausführen"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "HOME-Variable als Home-Verzeichnis des Zielbenutzers setzen"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "Hilfe ausgeben und beenden"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "Befehl auf entferntem System ausführen (falls vom Plugin unterstützt)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "Anmeldeshell als Zielbenutzer starten; es kann auch ein Befehl angegeben werden"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "Zeitstempeldateien komplett entfernen"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "Zeitstempeldatei ungültig machen"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "Benutzerrechte aufzählen oder einen bestimmten Befehl testen; für ein längeres Format zweimal angeben"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "Nicht-interaktiver Modus, es werden keine Eingabeaufforderungen verwendet"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "Gruppen-Vektor beibehalten, statt auf den des Zielbenutzers zu setzen"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "Angegebene Passwort-Eingabeaufforderung benutzen"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "Wurzelverzeichnis vor der Ausführung des Befehls wechseln"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "SELinux-Sicherheitskontext mit angegebener Funktion erstellen"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "Passwort von der Standardeingabe lesen"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "Shell als Zielbenutzer ausführen; es kann auch ein Befehl angegeben werden"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "SELinux-Sicherheitskontext mit angegebenem Typ erstellen"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "Befehlausführung nach der angegebenen Zeitbegrenzung abbrechen"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "im Aufzählungsmodus, Rechte des Benutzers anzeigen"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "Befehl oder Datei unter angegebenem Benutzernamen oder Benutzer-ID ausführen bzw. ändern"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "Versionsinformation anzeigen und beenden"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "Den Zeitstempel des Benutzers erneuern, ohne einen Befehl auszuführen"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "Aufhören, die Befehlszeilenargumente zu verarbeiten"
@@ -874,115 +948,115 @@ msgstr "Sie sind in der %s-Datenbank nicht enthalten"
msgid "unable to determine tty"
msgstr "TTY konnte nicht ermittelt werden"
-#: src/sudo.c:908
+#: src/sudo.c:925
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:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, 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:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, 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:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "Zusätzliche Gruppenkennungen konnten nicht gesetzt werden"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, 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:982
+#: src/sudo.c:999
#, c-format
msgid "unable to set gid to runas gid %u"
msgstr "GID konnte nicht auf »runas«-GID %u gesetzt werden"
-#: src/sudo.c:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "Unerwartete Abbruchbedingung eines Unterprozesses: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "Regelwerks-Plugin konnte nicht initialisiert werden"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, 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:1240
+#: src/sudo.c:1257
#, 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:1284
+#: src/sudo.c:1301
#, 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:1322
+#: src/sudo.c:1339
#, 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:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "E/A-Plugin %s konnte nicht initialisiert werden"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "E/A-Plugin konnte nicht initialisiert werden"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "Audit-Plugin %s konnte nicht initialisiert werden"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, c-format
msgid "%s: unable to log error event%s%s"
msgstr "%s: Fehlerereignis%s%s konnte nicht protokolliert werden"
-#: src/sudo.c:1718
+#: src/sudo.c:1735
#, 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:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "Audit-Pluginfehler"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, c-format
msgid "%s: unable to log reject event%s%s"
msgstr "%s: Ereignis%s%s wurde vom Protokoll abgewiesen"
-#: src/sudo.c:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "Genehmigungs-Plugin %s konnte nicht initialisiert werden"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "Befehl wurde vom Genehmigenden abgewiesen"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "Genehmigungs-Plugin-Fehler"
@@ -1062,17 +1136,17 @@ msgstr "Zum Lesen des Passworts ist ein Terminal erforderlich; verwenden Sie ent
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "Kein »askpass«-Programm angegeben, es wird versucht, SUDO_ASKPASS zu setzen"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "GID konnte nicht als %u festgelegt werden"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "UID konnte nicht als %u festgelegt werden"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "%s konnte nicht ausgeführt werden"
diff --git a/po/eo.mo b/po/eo.mo
index d5f144d48..038e1200c 100644
--- a/po/eo.mo
+++ b/po/eo.mo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 4f82739d3..ac8c7bb1d 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-13 12:38-0500\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 16:52-0400\n"
"Last-Translator: Keith Bowes <zooplah@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
"Language: eo\n"
@@ -35,32 +35,33 @@ msgstr "ne eblas restarigi registrejon"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76
#: lib/util/json.c:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -72,36 +73,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "ne eblas generi memoron"
@@ -198,6 +199,15 @@ msgstr "%s estas skribebla de ĉiuj"
msgid "%s is group writable"
msgstr "%s estas skribebla de la tuta grupo"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "ne povas determini AppArmon-enfermon."
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "ne eblas ÅanÄi AppArmor-profilon al %s"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -232,95 +242,115 @@ msgstr "%s: malbona dosiera reÄimo: 0%o"
msgid "unable to restore current working directory"
msgstr "ne eblas restarigi nune kurantan dosierujon"
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "ne eblas agordi rajtojn"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "ne eblas limigi rajtojn"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "nekonata ensaluta klaso %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "ne eblas elekti uzanto-kuntekston"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "ne eblas elekti procezan prioritaton"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "ne eblas ÅanÄi ĉefuzanton al %s"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "ne eblas ÅanÄi al plenumigkiela uid (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "ne eblas ÅanÄi dosierujon al %s"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "komenciÄas de %s"
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "ne eblas difini traktilon por la signalo %d"
+#: src/exec.c:391
+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:396
+msgid "unable to log sub-commands with SELinux RBAC on this system"
+msgstr "ne eblas protokoli subkomandojn kun SELinux-RBAC en ĉi tiu sistemo"
+
#: src/exec_common.c:56
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:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "ne eblas aldoni al la atendovico eventon"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "nevalida PolicyCheckRequest"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "komando rifuzita pro konduto-regularo"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "eraro de konduta kromprogramo"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "nevalida PolicyCheckRequest"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "klienta peto tro granda: %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "ne eblas malpaki %s, grando %zu"
+
+#: src/exec_intercept.c:665
#, 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:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "servila mesaÄo tro granda: %zu"
@@ -334,73 +364,117 @@ msgstr "eraro dum legi la konektingan paron"
msgid "unexpected reply type on backchannel: %d"
msgstr "neatendita respondotipo ĉe la postkanalo: %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "ne eblas elekti la regan tty-on"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "ne eblas krei tubon"
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "ne eblas ricevi mesaÄon el supre"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "ne eblas forki"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "ne eblis reatingi tty-etikedon"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "ne eblas plenumigi: %s"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "konduta kromprogramo fiaskis dum seanca komenciÄo"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "ne eblas krei konektingojn"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "eraro en la eventa iteracio"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "nesufiĉa spaco por execve-parametroj"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "ne eblas restarigi traktilon por la signalo %d"
+msgid "unable to read execve %s for process %d"
+msgstr "ne eblas legi execve %s por procezo %d"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "ne eblas ÅanÄi registrejojn por procezo %d"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "procezo %d neatendite finiÄis"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "ne eblas elekti seccomp-filtrilon"
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr "vojnomo malkongruaĵo, atendita \"%s\", ricevita \"%s\""
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, c-format
+msgid "%s[%d] mismatch, expected \"%s\", got \"%s\""
+msgstr "%s[%d] malkongruaĵo, atendita \"%s\", ricevita \"%s\""
+
+#: src/exec_ptrace.c:1013
+#, 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:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "ne eblas atingi registrejojn por procezo %d"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "ne eblis generi pty-on"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "En/eliga kromprograma eraro"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "komando rifuzita de en/eliga kromprogramo"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "ni paÅ­zas la protokoladon de eraroj"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "eraro dum ÅanÄo de fenestro-grando"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "ne eblas restarigi traktilon por la signalo %d"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "ne eblas sendi mesaÄon al observa procezo"
@@ -466,48 +540,48 @@ msgstr "konduta kromprogramo %s ne inkluzivas la metodon check_policy"
msgid "internal error, %s overflow"
msgstr "interna eraro, superfluo en %s"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "malvalida medivariabla nomo: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
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:568
+#: src/parse_args.c:545
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:573
+#: src/parse_args.c:550
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:583
+#: src/parse_args.c:560
msgid "the -E option is not valid in edit mode"
msgstr "la parametro -E ne validas en redakta reÄimo"
-#: src/parse_args.c:586
+#: src/parse_args.c:563
msgid "you may not specify environment variables in edit mode"
msgstr "vi ne rajtas specifi medivariablojn en redakta reÄimo"
-#: src/parse_args.c:596
+#: src/parse_args.c:573
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:600
+#: src/parse_args.c:577
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:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "sudoedit ne estas havebla en ĉi tiu platformon"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Vi rajtas specifi nur unu el -e, -h, -i, -K, -l, -s, -v aÅ­ -V"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -516,7 +590,7 @@ msgstr ""
"%s - redakti dosierojn kiel alia uzanto\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -525,7 +599,7 @@ msgstr ""
"%s - plenumigi komandon kiel alia uzanto\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -533,131 +607,131 @@ msgstr ""
"\n"
"Parametroj:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "uzi helpoprogrogramon por pasvortilo"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "uzi specifitan BSD-konstatan tipon"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "plenumigi komandon fone"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "sonigi pepon kiam invitanta"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "fermi ĉiujn dosierpriskribilojn >= numeron"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "plenumigi komandon per specifita BSD-ensaluta klaso"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "ÅanÄu la kurantan dosierujon antaÅ­ plenumi komandon"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "konservi uzanto-medivariablojn dum plenumigi komandon"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "konservi specifajn medivariablojn"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "redakti dosierojn anstataÅ­ plenumigi komandon"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "plenumigi komandon kiel la specifitan grupnomon aÅ­ identigilon"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "valorizi medivariablon HOME je la hejma dosierujo de la cela uzanto"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "elmontri helpan mesaÄon kaj eliri"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "plenumigi komandon en gastiganto (se permesata de kromprogramo)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "plenumigi ensalutan Åelon kiel celan uzanton; komando ankaÅ­ enmeteblas"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "tute forigi tempo-indikilan dosieron"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "eksvalidigi tempo-indikilan dosieron"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "listigi privilegiojn de la uzanto aÅ­ kontroli specifan komandon; uzu dufoje por pli longa formato"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "neinteraga reÄimo, ne demandos al uzanto"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "konservi grupan vektoron anstataÅ­ elekti celan"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "uzi specifitan pasvortilon"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "ÅanÄu la radikan dosierujon antaÅ­ ol plenumigi komandon"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "krei SELinux-sekurecan kuntekston kun specifita rolo"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "legi pasvorton el norma enigo"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "plenumigi Åelon kiel cela uzanto; komando ankaÅ­ specifebla"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "krei SELinux-sekurecan kuntekston kun specifita rolo"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "finigi la komandon post la specifita tempolimo"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "en lista reÄimo elmontri privilegiojn por uzanto"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "plenumigi komandon (aÅ­ redakti dosieron) kiel specifita uzanto"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "elmontri eldonan informon kaj eliri"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "Äisdatigi la tempo-indikilon de la uzanto, sed ne plenumigi komandon"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "ĉesigi procedi komandliniajn parametrojn"
@@ -871,115 +945,115 @@ msgstr "vi ne ekzistas en la datumbazo %s"
msgid "unable to determine tty"
msgstr "ne eblas determini tty-on"
-#: src/sudo.c:908
+#: src/sudo.c:925
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:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, 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:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, 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:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "ne eblas elekti suplementajn grupajn identigilojn"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, 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:982
+#: src/sudo.c:999
#, 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:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "neatendita ido finiÄis laÅ­ la kondiĉo: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "ne eblas komenci konduktan kromprogramon"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, 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:1240
+#: src/sudo.c:1257
#, c-format
msgid "policy plugin %s does not support listing privileges"
msgstr "konduta kromprogramo %s ne komprenas listigon de privilegioj"
-#: src/sudo.c:1284
+#: src/sudo.c:1301
#, c-format
msgid "policy plugin %s does not support the -v option"
msgstr "konduta kromprogramo %s ne komprenas la parametron -v"
-#: src/sudo.c:1322
+#: src/sudo.c:1339
#, 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:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "eraro dum lanĉo de eneliga kromprogramo %s"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "eraro dum lanĉo de eneliga kromprogramo"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "eraro dum lanĉo de ekzamena kromprogramo %s"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, c-format
msgid "%s: unable to log error event%s%s"
msgstr "%smaleblas protokoli eraro-eventon%s%s"
-#: src/sudo.c:1718
+#: src/sudo.c:1735
#, c-format
msgid "%s: unable to log accept event%s%s"
msgstr "%s: maleblas protokoli akcepto-eventon%s%s"
-#: src/sudo.c:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "Kontrolo-kromprograma eraro"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, c-format
msgid "%s: unable to log reject event%s%s"
msgstr "%s: neeblas protokoli malakcepto-eventon%s%s"
-#: src/sudo.c:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "eraro dum lanĉo de aproba kromprogramo %s"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "komando rifuzita de aprobanto"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "eraro de aproba kromprogramo"
@@ -1059,17 +1133,17 @@ msgstr "terminalo estas postulata por legi la pasvorton; uzu la parametron -S po
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "neniu programo askpass indikita, provu difini SUDO_ASKPASS"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "ne eblas elekti gid-on al %u"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "ne eblas elekti uid-on al %u"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "ne eblas plenumigi: %s"
diff --git a/po/fr.mo b/po/fr.mo
index 50f27e09b..e31a94728 100644
--- a/po/fr.mo
+++ b/po/fr.mo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 9c1b0b47d..63170ea1e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-14 06:53+0100\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 11:22+0200\n"
"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -35,32 +35,33 @@ 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:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -72,36 +73,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "impossible d'allouer la mémoire"
@@ -198,6 +199,15 @@ msgstr "%s peut être écrit par tout le monde"
msgid "%s is group writable"
msgstr "%s peut être écrit par le groupe"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "impossible de déterminer le confinement de AppArmor"
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "impossible de changer le profil de AppArmor en %s"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -232,95 +242,115 @@ msgstr "%s: mauvais mode de fichier : 0%o"
msgid "unable to restore current working directory"
msgstr "impossible de rétablir le répertoire de travail actuel"
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "impossible de définir les privilèges"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "impossible de définir la limite des privilèges"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "classe de login %s inconnue"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "impossible de changer le contexte utilisateur"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "impossible de changer la priorité du processus"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "impossible de changer root en %s"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "impossible de changer vers runas uid (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "impossible de changer le répertoire vers %s"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "au départ de %s"
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "impossible de spécifier le gestionnaire pour le signal %d"
+#: src/exec.c:391
+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:396
+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"
+
#: src/exec_common.c:56
msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT"
msgstr "impossible de supprimer PRIV_PROC_EXEC de PRIV_LIMIT"
-#: src/exec_intercept.c:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "impossible d'ajouter l'événement à la queue"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "PolicyCheckRequest invalide"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "commande rejetée par la politique"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "erreur du greffon de politique"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "PolicyCheckRequest invalide"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "demande client trop grand : %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "impossible de décompresser %s avec une taille de %zu"
+
+#: src/exec_intercept.c:665
#, 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:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "message serveur trop grand : %zu"
@@ -334,73 +364,117 @@ msgstr "erreur de lecture sur la paire de sockets"
msgid "unexpected reply type on backchannel: %d"
msgstr "réponse inattendue sur le backchannel : %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "impossible de choisir le tty de contrôle"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "impossible de créer le tube"
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "impossible de recevoir un message du parent"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "erreur de fork"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "impossible de rétablir l'étiquette du tty"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "impossible d'exécuter %s"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
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:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "impossible de créer des sockets"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "erreur dans la boucle des événements"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "espace insuffisant pour les arguments de execve"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "impossible de rétablir le gestionnaire pour le signal %d"
+msgid "unable to read execve %s for process %d"
+msgstr "impossible de lire execve %s pour le processus %d"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "impossible de définir les registres pour le processus %d"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "le processus %d s'est terminé de manière inattendue"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "impossible de définir le filtre seccomp"
+
+#: src/exec_ptrace.c:934
+#, 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:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, c-format
+msgid "%s[%d] mismatch, expected \"%s\", got \"%s\""
+msgstr "désaccord dans %s[%d], « %s » attendu, « %s » obtenu"
+
+#: src/exec_ptrace.c:1013
+#, 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:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "impossible d'obtenir les registres pour le processus %d"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "impossible d'allouer le pty"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "erreur du greffon d'E/S"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "commande rejetée par le greffon d'E/S"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "l'enregistrement des erreurs est suspendu"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "erreur lors du changement de la taille de la fenêtre"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "impossible de rétablir le gestionnaire pour le signal %d"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "impossible d'envoyer le message au processus de monitoring"
@@ -466,48 +540,48 @@ msgstr "le greffon de règles %s ne contient pas de méthode check_policy"
msgid "internal error, %s overflow"
msgstr "erreur interne, débordement %s"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "nom de variable d'environnement invalide: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
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:568
+#: src/parse_args.c:545
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:573
+#: src/parse_args.c:550
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:583
+#: src/parse_args.c:560
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:586
+#: src/parse_args.c:563
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:596
+#: src/parse_args.c:573
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:600
+#: src/parse_args.c:577
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:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "sudoedit n'est pas pris en charge sur cette plate-forme"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Seule une des options -e, -h, -i, -K, -l, -s, -v ou -V peut être spécifiée"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -516,7 +590,7 @@ msgstr ""
"%s – édite les fichiers en tant qu'un autre utilisateur\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -525,7 +599,7 @@ msgstr ""
"%s – exécute une commande en tant qu'un autre utilisateur\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -533,131 +607,131 @@ msgstr ""
"\n"
"Options:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "utiliser un programme adjoint pour demander le mot de passe"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "utiliser le type d'authentification BSD spécifié"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "exécuter la commande en arrière-plan"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "émettre un signal sonore lors d'une demande"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "fermer tous les descripteurs de fichiers >= n°"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "exécuter la commande avec la classe de login BSD"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "changer le répertoire de travail avant d'exécuter la commande"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "préserver l'environnement de l'utilisateur en exécutant la commande"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "préserver les variables d'environnement spécifiques"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "éditer les fichiers au lieu d'exécuter une commande"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "exécuter la commande en tant que le nom ou ID de groupe spécifié"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "assigner à la variable HOME le répertoire personnel de l'utilisateur cible"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "afficher le message d'aide et terminer"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "exécuter la commande sur l'hôte (si supporté par le greffon)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "exécuter le shell de login comme l'utilisateur cible. Une commande peut aussi être spécifiée"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "supprime complètement le fichier d'horodatage"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "invalide le fichier d'horodatage"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "afficher les privilèges de l'utilisateur ou vérifie une commande spécifique. Utilisez deux fois pour une forme plus longue"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "mode non interactif, aucune invite utilisée"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "préserve le vecteur des groupes au lieu de le changer en celui de la cible"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "utiliser l'invite de mot de passe spécifié"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "changer le répertoire racine avant d'exécuter la commande"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "créer le contexte de sécurité SELinux avec le rôle spécifié"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "lire le mot de passe depuis l'entrée standard"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "exécuter le shell en tant que l'utilisateur cible. Une commande peut aussi être spécifiée"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "créer le contexte de sécurité SELinux avec le type spécifié"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "terminer la commande après la limite de temps spécifiée"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "en mode liste, afficher les privilèges de l'utilisateur"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "exécuter la commande (ou éditer le fichier) sous le nom d'utilisateur ou le ID spécifié"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "afficher les informations de version et terminer"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "mettre à jour l'horodatage de l'utilisateur sans exécuter de commande"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "arrêter de traiter les arguments en ligne de commande"
@@ -871,115 +945,115 @@ msgstr "vous n'existez pas dans la base de données %s"
msgid "unable to determine tty"
msgstr "impossible de déterminer le tty"
-#: src/sudo.c:908
+#: src/sudo.c:925
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:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, 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:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, 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:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "impossible d'attribuer les ID de groupe supplémentaires"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, 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:982
+#: src/sudo.c:999
#, c-format
msgid "unable to set gid to runas gid %u"
msgstr "impossible de changer le gid à runas gid %u"
-#: src/sudo.c:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "condition de fin de l'enfant inconnue: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "impossible d'initialiser le greffon de règles"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, 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:1240
+#: src/sudo.c:1257
#, 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:1284
+#: src/sudo.c:1301
#, 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:1322
+#: src/sudo.c:1339
#, 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:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "erreur à l'initialisation du greffon E/S %s"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "erreur à l'initialisation du greffon E/S"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "erreur à l'initialisation du greffon d'audit %s"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, 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:1718
+#: src/sudo.c:1735
#, 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:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "erreur du greffon d'audit"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, 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:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "erreur à l'initialisation du greffon d'approbation %s"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "commande rejetée par l'approbateur"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "erreur du greffon d'approbation"
@@ -1059,17 +1133,17 @@ msgstr "un terminal est requis pour lire le mot de passe; utilisez soit l'option
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "pas de programme askpass spécifié, essayez avec SUDO_ASKPASS"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "impossible de changer le gid en %u"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "impossible de changer le uid en %u"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "impossible d'exécuter %s"
diff --git a/po/hr.mo b/po/hr.mo
index ed4bea466..a8dcaad39 100644
--- a/po/hr.mo
+++ b/po/hr.mo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 2b59b3f54..a36db58aa 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 <tomislav.krznar@gmail.com>, 2012, 2013.
-# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2017, 2018, 2019, 2020, 2021.
+# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2017, 2018, 2019, 2020, 2021, 2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudo-1.9.10b1\n"
+"Project-Id-Version: sudo-1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-13 16:11-0800\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-30 11:14-0700\n"
"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
"Language: hr\n"
@@ -37,32 +37,33 @@ 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:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -74,36 +75,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "nije moguće dodijeliti memoriju"
@@ -200,6 +201,15 @@ msgstr "%s može svatko mijenjati/pisati"
msgid "%s is group writable"
msgstr "%s može svaki Älan grupe mijenjati/pisati"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "nije uspjelo utvrditi AppArmor ograniÄenje"
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "nije moguće promijeniti AppArmor profil na %s"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -234,96 +244,116 @@ msgstr "%s: loÅ¡ datoteÄni naÄin: 0%o"
msgid "unable to restore current working directory"
msgstr "nije moguće obnoviti trenutni radni direktorij"
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "nije moguće postaviti privilegije"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "nije moguće postaviti ograniÄenja na privilegije"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "nepoznata prijavniÄka klasa %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "nije moguće uspostaviti korisniÄki kontekst"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "nije moguće uspostaviti prioritet procesa"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "nije moguće promijeniti root na %s"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "nije moguće promijeniti na runas UID (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "nije moguće promijeniti direktorij na %s"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "poÄevÅ¡i od %s"
# Handler, an asynchronous callback (computer programming) subroutine in computing
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "nije moguće postaviti rukovatelja za signal %d"
+#: src/exec.c:391
+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:396
+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"
+
#: src/exec_common.c:56
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:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "nije moguće dodati dogaÄ‘aj u red Äekanja"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "nevaljani PolicyCheckRequest"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "pravilnik (policy) je odbio izvršiti naredbu"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "greška plugina s pravilima (policy plugin)"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "nevaljani PolicyCheckRequest"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "zahtjev klijenta je prevelik: %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "nije moguće raspakirati %s veliÄinu %zu"
+
+#: src/exec_intercept.c:665
#, 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:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "poruka servera je prevelika: %zu"
@@ -337,74 +367,118 @@ msgstr "greÅ¡ka pri Äitanju iz para utiÄnica"
msgid "unexpected reply type on backchannel: %d"
msgstr "neoÄekivana vrsta odgovora na povratnom kanalu: %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "nije moguće uspostaviti upravljaÄki TTY"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "nije moguće napraviti cijev"
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "nije moguće primiti poruku od pretka (roditelja)"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "nije moguće kreirati potomka (dijete)"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "nije moguće obnoviti TTY etiketu"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "nije moguće izvršiti %s"
# initialization > inicirati > dati/davati inicijativu, pobudu; pokrenuti/pokretati, zapoÄeti/zapoÄinjati
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "plugin s pravilima nije uspio pokrenuti inicijalizaciju sesije"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "nije moguće napraviti utiÄnice"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "greška u petlji događaja"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "nema dovoljno mjesta za execve argumente"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "nije moguće obnoviti rukovatelja za signal %d"
+msgid "unable to read execve %s for process %d"
+msgstr "nije moguće proÄitati execve %s za proces %d"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "nije moguće postaviti registre za proces %d"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "%d proces zavrÅ¡io je neoÄekivano"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "nije moguće postaviti seccomp filtar"
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr "nepodudaranje imena staza, oÄekivano „%s“, a dobiveno je „%s“"
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, 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:1013
+#, 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:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "nije moguće dobiti registre za proces %d"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "nije moguće dodijeliti PTY"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
-msgstr "greška I/O plugina (plugin za U/I)"
+msgstr "greška U/I plugina (I/O plugin)"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "U/I plugin je odbio izvršiti naredbu"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "obustava evidentiranja greški"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "pogreÅ¡ka pri mijenjanju veliÄine prozora"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "nije moguće obnoviti rukovatelja za signal %d"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "nije moguće poslati poruku za praćenje procesa"
@@ -428,7 +502,7 @@ msgstr "%s za pisanje mora biti dostupan samo vlasniku"
#: src/load_plugins.c:241 src/load_plugins.c:312
#, c-format
msgid "ignoring duplicate plugin \"%s\" in %s, line %d"
-msgstr "ignorira se duplikat plugina „%s“ u %s, redak %d"
+msgstr "zanemareni duplikat plugina „%s“ u %s, redak %d"
#: src/load_plugins.c:279
#, c-format
@@ -448,7 +522,7 @@ msgstr "nekompatibilni plugin inaÄica %d (oÄekivana %d) pronaÄ‘en u %s"
#: src/load_plugins.c:317
#, c-format
msgid "ignoring policy plugin \"%s\" in %s, line %d"
-msgstr "ignorira se plugin s pravilima „%s“ u %s, redak %d"
+msgstr "zanemareni plugin s pravilima „%s“ u %s, redak %d"
#: src/load_plugins.c:320
msgid "only a single policy plugin may be specified"
@@ -470,48 +544,48 @@ msgstr "plugin s pravilima %s ne sadrži metodu check_policy"
msgid "internal error, %s overflow"
msgstr "**interna greška**, %s prelijevanje"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "nevaljano ime varijable okoline: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
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:568
+#: src/parse_args.c:545
msgid "you may not specify both the -i and -s options"
msgstr "ne smijete navesti istovremeno opcije -i i -s"
-#: src/parse_args.c:573
+#: src/parse_args.c:550
msgid "you may not specify both the -i and -E options"
msgstr "ne smijete navesti istovremeno opcije -i i -E"
-#: src/parse_args.c:583
+#: src/parse_args.c:560
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:586
+#: src/parse_args.c:563
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:596
+#: src/parse_args.c:573
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:600
+#: src/parse_args.c:577
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:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "sudoedit nije podržan na ovoj platformi"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Smije se navesti samo jedna od opcija -e, -h, -i, -K, -l, -s, -v i -V"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -520,7 +594,7 @@ msgstr ""
"%s - redigira datoteku kao neki drugi korisnik\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -529,7 +603,7 @@ msgstr ""
"%s - izvrši naredbu kao neki drugi korisnik\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -537,131 +611,131 @@ msgstr ""
"\n"
"Opcije:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "zahtjev za lozinku koristi pomoćni program"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "rabi navedenu BSD autentifikaciju"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "pokrene naredbu u pozadini"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "pozvoni kad treba ulaz ili kad nešto pita"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "zatvara sve deskriptore datoteka >= num"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "pokrene naredbu s navedenom BSD klasom prijave"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "promijenite radni direktorij prije pokretanja naredbe"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "saÄuva okolinu korisnika pri izvrÅ¡enju naredbe"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "saÄuva specifiÄne varijable okoline"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "redigira datoteke umjesto pokretanja naredbe"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "izvrši naredbu kao navedeno group ime ili ID"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "var HOME postavi na osobni direktorij korisnika"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "pokaže ovu pomoć i iziđe"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "pokrene naredbu na host raÄunalu (ako to plugin podržava)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "pokrene prijavnu ljusku kao ciljani korisnik; može se navesti i naredba"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "sasvim ukloni datoteku s vremenskim oznakama"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "poništi datoteku s vremenskim oznakama"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "privilegije korisnika ili test specifiÄne naredbe; rabite -ll za duži popis"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "ne-interaktivni mÈd; bez prompta"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "saÄuva grupni vektor umjesto postavljanja na ciljanu grupu"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "koristi navedeni prompt za unos lozinke"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "promijenite root direktorij prije pokretanja naredbe"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "stvori SELinux sigurnosni kontekst s navedenom role ulogom"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "Äita lozinku iz standardnog ulaza"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "pokrene ljusku kao ciljani korisnik; može se navesti i naredba"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "stvori SELinux sigurnosni kontekst s navedenom type ulogom"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
-msgstr "naredba zavrÅ¡i nakon navedenoga vremenskog ograniÄenja"
+msgstr "naredba zavrÅ¡i nakon navedenog vremenskog ograniÄenja"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "izlista popis privilegija user korisnika"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "pokreni naredbu (ili redigira datoteku) kao navedeni user korisnik"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "informira o inaÄici ovog programa i iziÄ‘e"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "obnovi vremensku oznaku korisnika bez pokretanja naredbe"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "prestane s obradom argumenata na naredbenom retku"
@@ -877,115 +951,115 @@ msgstr "vas nema u %s bazi podataka"
msgid "unable to determine tty"
msgstr "nije moguće odrediti TTY"
-#: src/sudo.c:908
+#: src/sudo.c:925
msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root."
msgstr "Flag „no new privileges“ je podignut, i to sprjeÄava da sudo da postane root."
-#: src/sudo.c:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, 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:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, 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:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "nije moguće postaviti ID dodatnih grupa"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, 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:982
+#: src/sudo.c:999
#, c-format
msgid "unable to set gid to runas gid %u"
msgstr "nije moguće postaviti GID na runas GID %u"
-#: src/sudo.c:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "neoÄekivano stanje zavrÅ¡etka potomka (dijete-procesa) : %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "nije moguće inicijalizirati plugin s pravilima"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, c-format
msgid "policy plugin %s is missing the \"check_policy\" method"
msgstr "pluginu s pravilima %s nedostaje metoda „check_policy“"
-#: src/sudo.c:1240
+#: src/sudo.c:1257
#, c-format
msgid "policy plugin %s does not support listing privileges"
msgstr "plugin s pravilima %s ne podržava ispis ovlasti"
-#: src/sudo.c:1284
+#: src/sudo.c:1301
#, 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:1322
+#: src/sudo.c:1339
#, 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:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "greška pri inicijalizaciji U/I plugina %s"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "greška pri inicijalizaciji U/I plugina"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "greška pri inicijalizaciji plugina za reviziju %s"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, 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:1718
+#: src/sudo.c:1735
#, 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:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "pogreška u pluginu za reviziju"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, 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:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "greška pri inicijalizaciji plugina za odobrenje %s"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "odobravatelj je odbio izvršiti naredbu"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "greška plugina za odobravanje"
@@ -1065,17 +1139,17 @@ msgstr "za Äitanje lozinke trebate terminal; rabite opciju -S za Äitanje sa st
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "nije specificiran askpass program, pokušajte postaviti SUDO_ASKPASS"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "nije moguće postaviti GID na %u"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "nije moguće postaviti UID na %u"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "nije moguće pokrenuti %s"
diff --git a/po/ka.mo b/po/ka.mo
new file mode 100644
index 000000000..8b7ba0fd9
--- /dev/null
+++ b/po/ka.mo
Binary files differ
diff --git a/po/ka.po b/po/ka.po
new file mode 100644
index 000000000..2a021deb2
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,1084 @@
+# Portable object template file for sudo
+# This file is put in the public domain.
+# Todd C. Miller <Todd.Miller@sudo.ws>, 2011-2018
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: sudo 1.9.10b1\n"
+"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
+"POT-Creation-Date: 2022-02-12 09:31-0700\n"
+"PO-Revision-Date: 2022-04-27 15:21+0200\n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: Georgian <(nothing)>\n"
+"Language: ka\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"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 3.0.1\n"
+
+#: lib/util/aix.c:89 lib/util/aix.c:169
+msgid "unable to open userdb"
+msgstr "userdb-ის გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: lib/util/aix.c:224
+#, c-format
+msgid "unable to switch to registry \"%s\" for %s"
+msgstr "რეესტრზე(\"%s\") გáƒáƒ“áƒáƒ áƒ—ვის შეცდáƒáƒ›áƒ %s-თვის"
+
+#: lib/util/aix.c:249
+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:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
+#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
+#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
+#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
+#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
+#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
+#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
+#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
+#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
+#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
+#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
+#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
+#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
+#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
+#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
+#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
+#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
+#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
+#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
+#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
+#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
+#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
+#: src/sudo_intercept_common.c:317
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
+#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
+#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
+#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
+#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
+#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
+#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
+#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
+#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
+#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
+#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
+#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
+#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
+#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
+#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
+#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
+#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
+#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
+#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
+#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
+#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
+#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
+#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
+#: src/sudo_intercept_common.c:317
+msgid "unable to allocate memory"
+msgstr "მეხსიერების გáƒáƒ›áƒáƒ§áƒáƒ¤áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: lib/util/mkdir_parents.c:63
+#, c-format
+msgid "unable to stat %.*s"
+msgstr "%.*s-ის áƒáƒ¦áƒ›áƒáƒ©áƒ”ნის შეცდáƒáƒ›áƒ"
+
+#: lib/util/mkdir_parents.c:69
+#, c-format
+msgid "%.*s exists but is not a directory (0%o)"
+msgstr "%.*s áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს, მáƒáƒ’რáƒáƒ› სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე áƒáƒ áƒáƒ (0%o)"
+
+#: lib/util/mkdir_parents.c:102 lib/util/sudo_conf.c:704 src/selinux.c:235
+#: src/selinux.c:265 src/sudo.c:371 src/sudo_edit.c:494 src/sudo_edit.c:559
+#, c-format
+msgid "unable to open %s"
+msgstr "%s-ის გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: lib/util/mkdir_parents.c:119 lib/util/mkdir_parents.c:127
+#: lib/util/mkdir_parents.c:136
+#, c-format
+msgid "unable to open %.*s"
+msgstr "%.*s-ის გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: lib/util/mkdir_parents.c:157
+#, c-format
+msgid "unable to mkdir %.*s"
+msgstr "%.*s-ის mkdir-ის შეცდáƒáƒ›áƒ"
+
+#: lib/util/regex.c:103
+msgid "regular expression too large"
+msgstr "რეგულáƒáƒ áƒ£áƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრძáƒáƒšáƒ˜áƒáƒœ გრძელიáƒ"
+
+#: lib/util/strsignal.c:50
+msgid "Unknown signal"
+msgstr "უცნáƒáƒ‘ი სიგნáƒáƒšáƒ˜"
+
+#: lib/util/strtoid.c:87 lib/util/strtomode.c:52 lib/util/strtonum.c:148
+#: lib/util/strtonum.c:187 src/sesh.c:146 src/sesh.c:159
+msgid "invalid value"
+msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მნიშვნელáƒáƒ‘áƒ"
+
+#: lib/util/strtomode.c:58 lib/util/strtonum.c:160
+msgid "value too large"
+msgstr "მნიშვნელáƒáƒ‘რძáƒáƒšáƒ˜áƒáƒœ გრძელიáƒ"
+
+#: lib/util/strtomode.c:58 lib/util/strtonum.c:154
+msgid "value too small"
+msgstr "მნიშვნელáƒáƒ‘რძáƒáƒšáƒ˜áƒáƒœ პáƒáƒ¢áƒáƒ áƒáƒ"
+
+#: lib/util/sudo_conf.c:237
+#, c-format
+msgid "invalid Path value \"%s\" in %s, line %u"
+msgstr "ბილიკის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მისáƒáƒ›áƒáƒ áƒ—ი (\"%s\") %s-ში, %u ხáƒáƒ–ზე"
+
+#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:419 lib/util/sudo_conf.c:472
+#, c-format
+msgid "invalid value for %s \"%s\" in %s, line %u"
+msgstr "%s -ის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მნიშვნელáƒáƒ‘რ\"%s\", %s-ში, %u-ე ხáƒáƒ–ზე"
+
+#: lib/util/sudo_conf.c:440
+#, c-format
+msgid "unsupported group source \"%s\" in %s, line %u"
+msgstr "ჯგუფის მხáƒáƒ áƒ“áƒáƒ£áƒ­áƒ”რელი წყáƒáƒ áƒ \"%s\" %s-ში, %u-ე ხáƒáƒ–ზე"
+
+#: lib/util/sudo_conf.c:456
+#, c-format
+msgid "invalid max groups \"%s\" in %s, line %u"
+msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მáƒáƒ¥áƒ¡. ჯგუფები \"%s\" %s-ში, %u-ე ხáƒáƒ–ზე"
+
+#: lib/util/sudo_conf.c:681 src/copy_file.c:150
+#, c-format
+msgid "unable to stat %s"
+msgstr "%s-ის áƒáƒ¦áƒ›áƒáƒ©áƒ”ნის შეცდáƒáƒ›áƒ"
+
+#: lib/util/sudo_conf.c:684
+#, c-format
+msgid "%s is not a regular file"
+msgstr "%s: áƒáƒ  წáƒáƒ áƒ›áƒáƒáƒ“გენს ჩვეულებრივ ფáƒáƒ˜áƒšáƒ¡"
+
+#: lib/util/sudo_conf.c:687 src/copy_file.c:163
+#, c-format
+msgid "%s is owned by uid %u, should be %u"
+msgstr "%s-ის მფლáƒáƒ‘ლის UID-ირ%u. უნდრიყáƒáƒ¡ %u"
+
+#: lib/util/sudo_conf.c:691
+#, c-format
+msgid "%s is world writable"
+msgstr "%s ყველáƒáƒ¡ მიერ ჩáƒáƒ¬áƒ”რáƒáƒ“იáƒ"
+
+#: lib/util/sudo_conf.c:694
+#, c-format
+msgid "%s is group writable"
+msgstr "%s ჯგუფის მიერ ჩáƒáƒ¬áƒ”რáƒáƒ“იáƒ"
+
+#: src/copy_file.c:93
+#, c-format
+msgid "%s: truncate %s to zero bytes? (y/n) [n] "
+msgstr "%s: შევკვეცრ%s ნულ ბáƒáƒ˜áƒ¢áƒáƒ›áƒ“ე? (y/n) [n] "
+
+#: src/copy_file.c:97
+#, c-format
+msgid "not overwriting %s"
+msgstr "áƒáƒ  გáƒáƒ“áƒáƒ•áƒáƒ¬áƒ”რ %s-ს"
+
+#: src/copy_file.c:119
+#, c-format
+msgid "unable to read from %s"
+msgstr "%s-დáƒáƒœ წáƒáƒ™áƒ˜áƒ—ხვრშეუძლებელიáƒ"
+
+#: src/copy_file.c:136 src/sudo_edit.c:320
+#, c-format
+msgid "unable to write to %s"
+msgstr "%s-ში ჩáƒáƒ¬áƒ”რრშეუძლებელიáƒ"
+
+#: src/copy_file.c:154 src/sesh.c:218 src/sudo_edit.c:197
+#, c-format
+msgid "%s: not a regular file"
+msgstr "%s: áƒáƒ  წáƒáƒ áƒ›áƒáƒáƒ“გენს ჩვეულებრივ ფáƒáƒ˜áƒšáƒ¡"
+
+#: src/copy_file.c:158
+#, c-format
+msgid "%s: bad file mode: 0%o"
+msgstr "%s: ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ რეჟიმი: 0%o"
+
+#: src/edit_open.c:331
+msgid "unable to restore current working directory"
+msgstr "მიმდინáƒáƒ áƒ” სáƒáƒ›áƒ£áƒ¨áƒáƒ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის áƒáƒ¦áƒ“გენრშეუძლებელიáƒ"
+
+#: src/exec.c:130
+#, c-format
+msgid "unknown login class %s"
+msgstr "შესვლის უცნáƒáƒ‘ი კლáƒáƒ¡áƒ˜: %s"
+
+#: src/exec.c:142
+msgid "unable to set user context"
+msgstr "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის კáƒáƒœáƒ¢áƒ”ქსტის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/exec.c:158
+msgid "unable to set process priority"
+msgstr "პრáƒáƒªáƒ”სის პრიáƒáƒ áƒ˜áƒ¢áƒ”ტის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/exec.c:175
+#, c-format
+msgid "unable to change root to %s"
+msgstr "root სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის %s-ზე გáƒáƒ“áƒáƒ áƒ—ვის"
+
+#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#, c-format
+msgid "unable to change to runas uid (%u, %u)"
+msgstr "გáƒáƒ›áƒ¨áƒ•áƒ”ბ UID-ზე (%u, %u) გáƒáƒ“áƒáƒ áƒ—ვის შეცდáƒáƒ›áƒ"
+
+#: src/exec.c:219
+#, c-format
+msgid "unable to change directory to %s"
+msgstr "სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის შეცვლის შეცდáƒáƒ›áƒ: %s"
+
+#: src/exec.c:223
+#, c-format
+msgid "starting from %s"
+msgstr "%s-დáƒáƒœ დáƒáƒ¬áƒ§áƒ”ბული"
+
+#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
+#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
+#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#, c-format
+msgid "unable to set handler for signal %d"
+msgstr "სიგნáƒáƒ’ლისთვის (%d) სáƒáƒ®áƒ”ლურის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/exec_common.c:56
+msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT"
+msgstr "pRIV_LIMIT-დáƒáƒœ PRIV_PROC_EXEC-ის წáƒáƒ¨áƒšáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/exec_intercept.c:112 src/exec_intercept.c:116 src/exec_intercept.c:667
+#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
+#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
+#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
+#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
+#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
+#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
+#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
+#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
+#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
+#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
+#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
+#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
+#: src/exec_pty.c:1816
+msgid "unable to add event to queue"
+msgstr "რიგში მáƒáƒ•áƒšáƒ”ნის ჩáƒáƒ›áƒáƒ¢áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/exec_intercept.c:314
+msgid "invalid PolicyCheckRequest"
+msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ PolicyCheckRequest"
+
+#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+msgid "command rejected by policy"
+msgstr "ბრძáƒáƒœáƒ”ბრუáƒáƒ áƒ§áƒáƒ¤áƒ˜áƒšáƒ˜áƒ წესის მიერ"
+
+#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
+#: src/sudo.c:1377
+msgid "policy plugin error"
+msgstr "წესის დáƒáƒ›áƒáƒ¢áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/exec_intercept.c:561
+#, c-format
+msgid "client request too large: %zu"
+msgstr "კლიენტის მáƒáƒ—ხáƒáƒ•áƒœáƒ ძáƒáƒšáƒ˜áƒáƒœ დიდიáƒ: %zu"
+
+#: src/exec_intercept.c:659
+#, c-format
+msgid "unexpected type_case value %d in %s from %s"
+msgstr "type_case-ის მáƒáƒ£áƒšáƒáƒ“ნელი მნიშვნელáƒáƒ‘რ%d %s-ში %s-დáƒáƒœ"
+
+#: src/exec_intercept.c:694
+#, c-format
+msgid "server message too large: %zu"
+msgstr "სერვერის შეტყáƒáƒ‘ინებრძáƒáƒšáƒ˜áƒáƒœ დიდიáƒ: %zu"
+
+#: src/exec_monitor.c:360
+msgid "error reading from socketpair"
+msgstr "socketpair-დáƒáƒœ წáƒáƒ™áƒ˜áƒ—ხვის შეცდáƒáƒ›áƒ"
+
+#: src/exec_monitor.c:377
+#, c-format
+msgid "unexpected reply type on backchannel: %d"
+msgstr "blackchannel-ის პáƒáƒ¡áƒ£áƒ®áƒ˜áƒ¡ მáƒáƒ£áƒšáƒáƒ“ნელი ტიპი: %d"
+
+#: src/exec_monitor.c:583
+msgid "unable to set controlling tty"
+msgstr "სáƒáƒ™áƒáƒœáƒ¢áƒ áƒáƒšáƒ tty-ის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
+#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+msgid "unable to create pipe"
+msgstr "ფáƒáƒ˜áƒ¤áƒ˜áƒ¡ შექმნის შეცდáƒáƒ›áƒ"
+
+#: src/exec_monitor.c:601
+msgid "unable to receive message from parent"
+msgstr "მშáƒáƒ‘ლისგáƒáƒœ შეტყáƒáƒ‘ინების მიღების შეცდáƒáƒ›áƒ"
+
+#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
+#: src/sudo_edit.c:361 src/tgetpass.c:311
+msgid "unable to fork"
+msgstr "პრáƒáƒªáƒ”სის გáƒáƒœáƒ¢áƒáƒ¢áƒ•áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+msgid "unable to restore tty label"
+msgstr "tty-ის ჭდის áƒáƒ¦áƒ“გენის შეცდáƒáƒ›áƒ"
+
+#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#, c-format
+msgid "unable to execute %s"
+msgstr "%s-ის გáƒáƒ¨áƒ•áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/exec_nopty.c:363 src/exec_pty.c:1420
+msgid "policy plugin failed session initialization"
+msgstr "წესების დáƒáƒ›áƒáƒ¢áƒ”ბის შეცდáƒáƒ›áƒ სესიის ინიციáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡áƒáƒ¡"
+
+#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+msgid "unable to create sockets"
+msgstr "სáƒáƒ™áƒ”ტების შექმნის შეცდáƒáƒ›áƒ"
+
+#: src/exec_nopty.c:459 src/exec_pty.c:1666
+msgid "error in event loop"
+msgstr "მáƒáƒ•áƒšáƒ”ნების მáƒáƒ áƒ§áƒ£áƒŸáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "სიგნáƒáƒšáƒ˜áƒ¡áƒ—ვის სáƒáƒ®áƒ”ლურის áƒáƒ¦áƒ“გენის შეცდáƒáƒ›áƒ: %d"
+
+#: src/exec_pty.c:158
+msgid "unable to allocate pty"
+msgstr "pty-ის გáƒáƒ›áƒáƒ§áƒáƒ¤áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
+#: src/exec_pty.c:404
+msgid "I/O plugin error"
+msgstr "I/O დáƒáƒ›áƒáƒ¢áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
+#: src/exec_pty.c:408
+msgid "command rejected by I/O plugin"
+msgstr "ბრძáƒáƒœáƒ”ბრუáƒáƒ áƒ§áƒáƒ¤áƒ˜áƒšáƒ˜áƒ I/O დáƒáƒ›áƒáƒ¢áƒ”ბის მიერ"
+
+#: src/exec_pty.c:455
+msgid "error logging suspend"
+msgstr "ჟურნáƒáƒšáƒ¨áƒ˜ ჩáƒáƒ¬áƒ”რის შეჩერებრშეუძლებელიáƒ"
+
+#: src/exec_pty.c:489
+msgid "error changing window size"
+msgstr "ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ ზáƒáƒ›áƒ˜áƒ¡ შეცვლრშეუძლებელიáƒ"
+
+#: src/exec_pty.c:1615
+msgid "unable to send message to monitor process"
+msgstr "მáƒáƒ§áƒ£áƒ áƒ”ბელი პრáƒáƒªáƒ”სისთვის შეტყáƒáƒ‘ინების გáƒáƒ’ზáƒáƒ•áƒœáƒ შეუძლებელიáƒ"
+
+#: src/load_plugins.c:108 src/load_plugins.c:122 src/load_plugins.c:128
+#: src/load_plugins.c:277 src/load_plugins.c:287 src/load_plugins.c:297
+#: src/load_plugins.c:344
+#, c-format
+msgid "error in %s, line %d while loading plugin \"%s\""
+msgstr "%s-ის შეცდáƒáƒ›áƒ %d ხáƒáƒ–ზე \"%s\"დáƒáƒ›áƒáƒ¢áƒ”ბის ჩáƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვისáƒáƒ¡"
+
+#: src/load_plugins.c:124
+#, c-format
+msgid "%s must be owned by uid %d"
+msgstr "%s-ის მფლáƒáƒ‘ლის UID %d უნდრიყáƒáƒ¡"
+
+#: src/load_plugins.c:130
+#, c-format
+msgid "%s must be only be writable by owner"
+msgstr "%s ჩáƒáƒ¬áƒ”რáƒáƒ“ი მხáƒáƒšáƒáƒ“ მფლáƒáƒ‘ლის მიერ უნდრიყáƒáƒ¡"
+
+#: src/load_plugins.c:241 src/load_plugins.c:312
+#, c-format
+msgid "ignoring duplicate plugin \"%s\" in %s, line %d"
+msgstr "áƒáƒ áƒ¯áƒ”რ áƒáƒ¦áƒ¬áƒ”რილი დáƒáƒ›áƒáƒ¢áƒ”ბრ\"%s\", \"%s\"-ში, %d-ე ხáƒáƒ–ზე"
+
+#: src/load_plugins.c:279
+#, c-format
+msgid "unable to load %s: %s"
+msgstr "%s-ის ჩáƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვის შეცდáƒáƒ›áƒ: %s"
+
+#: src/load_plugins.c:289
+#, c-format
+msgid "unable to find symbol \"%s\" in %s"
+msgstr "სიმბáƒáƒšáƒ \"%s\"-ის %s-ში პáƒáƒ•áƒœáƒ შეუძლებელიáƒ"
+
+#: src/load_plugins.c:299
+#, c-format
+msgid "incompatible plugin major version %d (expected %d) found in %s"
+msgstr "დáƒáƒ›áƒáƒ¢áƒ”ბის შეუთáƒáƒ•áƒ¡áƒ”ბელი ძირითáƒáƒ“ი ვერსიáƒ: %d (ველáƒáƒ“ებáƒáƒ“ით %d-ს), რáƒáƒ›áƒ”ლიც ნáƒáƒžáƒáƒ•áƒœáƒ˜áƒ %s-ში"
+
+#: src/load_plugins.c:317
+#, c-format
+msgid "ignoring policy plugin \"%s\" in %s, line %d"
+msgstr "წესებს დáƒáƒ›áƒáƒ¢áƒ”ბის (\"%s\") იგნáƒáƒ áƒ˜ %s-ში, %d-ე ხáƒáƒ–ზე"
+
+#: src/load_plugins.c:320
+msgid "only a single policy plugin may be specified"
+msgstr "დáƒáƒ¨áƒ•áƒ”ბულირწესების მხáƒáƒšáƒáƒ“ ერთი დáƒáƒ›áƒáƒ¢áƒ”ბის მითითებáƒ"
+
+#: src/load_plugins.c:346
+#, c-format
+msgid "unknown plugin type %d found in %s"
+msgstr "დáƒáƒ›áƒáƒ¢áƒ”ბის ტიპი (%d) უცნáƒáƒ‘იáƒ. ნáƒáƒžáƒáƒ•áƒœáƒ˜áƒ %s-ში"
+
+#: src/load_plugins.c:529
+#, c-format
+msgid "policy plugin %s does not include a check_policy method"
+msgstr "წესების დáƒáƒ›áƒáƒ¢áƒ”ბრ%s áƒáƒ  შეიცáƒáƒ•áƒ¡ check_policy მეთáƒáƒ“ს"
+
+#: src/net_ifs.c:210 src/net_ifs.c:376 src/net_ifs.c:437 src/net_ifs.c:624
+#: src/net_ifs.c:855 src/sudo.c:486 src/sudo_edit.c:398 src/sudo_edit.c:406
+#, c-format
+msgid "internal error, %s overflow"
+msgstr "შიდრშეცდáƒáƒ›áƒ: %s-ის გáƒáƒ“áƒáƒ•áƒ¡áƒ”ბáƒ"
+
+#: src/parse_args.c:234
+#, c-format
+msgid "invalid environment variable name: %s"
+msgstr "გáƒáƒ áƒ”მáƒáƒ¡ ცვლáƒáƒ“ის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ სáƒáƒ®áƒ”ლი: %s"
+
+#: src/parse_args.c:337
+msgid "the argument to -C must be a number greater than or equal to 3"
+msgstr "-C -ის áƒáƒ áƒ’უმენტი რიცხვი უნდრიყáƒáƒ¡, 3 áƒáƒœ მეტი"
+
+#: src/parse_args.c:568
+msgid "you may not specify both the -i and -s options"
+msgstr "-i დრ-s პáƒáƒ áƒáƒ›áƒ”ტრების ერთáƒáƒ“ მითითებრáƒáƒ™áƒ áƒ«áƒáƒšáƒ£áƒšáƒ˜áƒ"
+
+#: src/parse_args.c:573
+msgid "you may not specify both the -i and -E options"
+msgstr "-i დრ-E პáƒáƒ áƒáƒ›áƒ”ტრების ერთáƒáƒ“ მითითებრáƒáƒ™áƒ áƒ«áƒáƒšáƒ£áƒšáƒ˜áƒ"
+
+#: src/parse_args.c:583
+msgid "the -E option is not valid in edit mode"
+msgstr "ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბის რეჟიმში -E-ის მითითებრáƒáƒ™áƒ áƒ«áƒáƒšáƒ£áƒšáƒ˜áƒ"
+
+#: src/parse_args.c:586
+msgid "you may not specify environment variables in edit mode"
+msgstr "ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბის რეჟიმში გáƒáƒ áƒ”მáƒáƒ¡ ცვლáƒáƒ“ების მითითებრáƒáƒ  შეგიძლიáƒáƒ—"
+
+#: src/parse_args.c:596
+msgid "the -U option may only be used with the -l option"
+msgstr "პáƒáƒ áƒáƒ›áƒ”ტრები -U დრ-I შეუთáƒáƒ•áƒ¡áƒ”ბლებიáƒ"
+
+#: src/parse_args.c:600
+msgid "the -A and -S options may not be used together"
+msgstr "პáƒáƒ áƒáƒ›áƒ”ტრები -A დრ-S შეუთáƒáƒ•áƒ¡áƒ”ბლებიáƒ"
+
+#: src/parse_args.c:693
+msgid "sudoedit is not supported on this platform"
+msgstr "áƒáƒ› პლáƒáƒ¢áƒ¤áƒáƒ áƒ›áƒáƒ–ე sudoedit-ი მხáƒáƒ áƒ“áƒáƒ£áƒ­áƒ”რელიáƒ"
+
+#: src/parse_args.c:776
+msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
+msgstr "შესáƒáƒ«áƒšáƒ პáƒáƒ áƒáƒ›áƒ”ტრებირ-e, -h, -I, -K, -l, -s, -v, -V"
+
+#: src/parse_args.c:792
+#, c-format
+msgid ""
+"%s - edit files as another user\n"
+"\n"
+msgstr ""
+"%s - ფáƒáƒ˜áƒšáƒ”ბის სხვრმáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლით ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბáƒ\n"
+"\n"
+
+#: src/parse_args.c:794
+#, c-format
+msgid ""
+"%s - execute a command as another user\n"
+"\n"
+msgstr "%s - sსხვ\n"
+
+#: src/parse_args.c:800
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"პáƒáƒ áƒáƒ›áƒ”ტრები:\n"
+
+#: src/parse_args.c:802
+msgid "use a helper program for password prompting"
+msgstr "პáƒáƒ áƒáƒšáƒ˜áƒ¡ მáƒáƒ¡áƒáƒ—ხáƒáƒ•áƒœáƒáƒ“ დáƒáƒ›áƒ®áƒ›áƒáƒ áƒ” პრáƒáƒ’რáƒáƒ›áƒ˜áƒ¡ გáƒáƒ›áƒáƒ§áƒ”ნებáƒ"
+
+#: src/parse_args.c:805
+msgid "use specified BSD authentication type"
+msgstr "bsd áƒáƒ•áƒ—ენტიკáƒáƒªáƒ˜áƒ˜áƒ¡ მáƒáƒ—ხáƒáƒ•áƒœáƒ˜áƒšáƒ˜ ტიპის გáƒáƒ›áƒáƒ§áƒ”ნებáƒ"
+
+#: src/parse_args.c:809
+msgid "run command in the background"
+msgstr "ბრძáƒáƒœáƒ”ბის ფáƒáƒœáƒ£áƒ  რეჟიმში გáƒáƒ¨áƒ•áƒ”ბáƒ"
+
+#: src/parse_args.c:812
+msgid "ring bell when prompting"
+msgstr "მáƒáƒ—ხáƒáƒ•áƒœáƒ˜áƒ¡áƒáƒ¡ ზáƒáƒ áƒ˜áƒ¡ დáƒáƒ áƒ”კვáƒ"
+
+#: src/parse_args.c:814
+msgid "close all file descriptors >= num"
+msgstr "ყველრიმ ფáƒáƒ˜áƒšáƒ˜áƒ¡ დესკრიპტáƒáƒ áƒ˜áƒ¡ დáƒáƒ®áƒ£áƒ áƒ•áƒ, რáƒáƒ›áƒšáƒ˜áƒ¡ ნáƒáƒ›áƒ”რიც >= რიცხვზე"
+
+#: src/parse_args.c:817
+msgid "run command with the specified BSD login class"
+msgstr "ბრძáƒáƒœáƒ”ბის BSD-ის მითითებული კლáƒáƒ¡áƒ˜áƒ— გáƒáƒ¨áƒ•áƒ”ბáƒ"
+
+#: src/parse_args.c:820
+msgid "change the working directory before running command"
+msgstr "ბრძáƒáƒœáƒ”ბის გáƒáƒ¨áƒ•áƒ”ბáƒáƒ›áƒ“ე სáƒáƒ›áƒ£áƒ¨áƒáƒ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის შეცვლáƒ"
+
+#: src/parse_args.c:823
+msgid "preserve user environment when running command"
+msgstr "ბრძáƒáƒœáƒ”ბის გáƒáƒ¨áƒ•áƒ”ბისáƒáƒ¡ მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის გáƒáƒ áƒ”მáƒáƒ¡ შენáƒáƒ áƒ©áƒ£áƒœáƒ”ბáƒ"
+
+#: src/parse_args.c:825
+msgid "preserve specific environment variables"
+msgstr "გáƒáƒ áƒ”მáƒáƒ¡ მითითებული ცვლáƒáƒ“ების შენáƒáƒ áƒ©áƒ£áƒœáƒ”ბáƒ"
+
+#: src/parse_args.c:827
+msgid "edit files instead of running a command"
+msgstr "ბრძáƒáƒœáƒ”ბის გáƒáƒ¨áƒ•áƒ”ბის მáƒáƒ’იერ ფáƒáƒ˜áƒšáƒ”ბის ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბáƒ"
+
+#: src/parse_args.c:830
+msgid "run command as the specified group name or ID"
+msgstr "ბრძáƒáƒœáƒ”ბის მითითებული ჯგუფის სáƒáƒ®áƒ”ლით áƒáƒœ ID-ით გáƒáƒ¨áƒ•áƒ”ბáƒ"
+
+#: src/parse_args.c:833
+msgid "set HOME variable to target user's home dir"
+msgstr "გáƒáƒ áƒ”მáƒáƒ¡ ცვლáƒáƒ“ის HOME მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის სáƒáƒ¬áƒ§áƒ˜áƒ¡ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეზე დáƒáƒ§áƒ”ნებáƒ"
+
+#: src/parse_args.c:836
+msgid "display help message and exit"
+msgstr "დáƒáƒ®áƒ›áƒáƒ áƒ”ბის გáƒáƒ›áƒáƒ¢áƒáƒœáƒ დრგáƒáƒ›áƒáƒ¡áƒ•áƒšáƒ"
+
+#: src/parse_args.c:838
+msgid "run command on host (if supported by plugin)"
+msgstr "ჰáƒáƒ¡áƒ¢áƒ–ე ბრძáƒáƒœáƒ”ბის გáƒáƒ¨áƒ•áƒ”ბრ(თუ მხáƒáƒ áƒ“áƒáƒ­áƒ”რილირდáƒáƒ›áƒáƒ¢áƒ”ბის მიერ)"
+
+#: src/parse_args.c:841
+msgid "run login shell as the target user; a command may also be specified"
+msgstr "შესვლის გáƒáƒ áƒ¡áƒ˜áƒ¡ სáƒáƒ›áƒ˜áƒ–ნე მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლით გáƒáƒ¨áƒ•áƒ”ბáƒ; áƒáƒ¡áƒ”ვე შეიძლებრმიეთითáƒáƒ¡ ბრძáƒáƒœáƒ”ბáƒáƒª"
+
+#: src/parse_args.c:843
+msgid "remove timestamp file completely"
+msgstr "timestamp ფáƒáƒ˜áƒšáƒ˜áƒ¡ სრულáƒáƒ“ წáƒáƒ¨áƒšáƒ"
+
+#: src/parse_args.c:846
+msgid "invalidate timestamp file"
+msgstr "timestamp ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒáƒ“ გáƒáƒ›áƒáƒªáƒ®áƒáƒ“ებáƒ"
+
+#: src/parse_args.c:849
+msgid "list user's privileges or check a specific command; use twice for longer format"
+msgstr "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის პრივილეგიების სიის áƒáƒœ მითითებული ბრძáƒáƒœáƒ”ბის გáƒáƒ›áƒáƒ¢áƒáƒœáƒ; მეტი ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡áƒ—ვის მიუთითეთ áƒáƒ áƒ¯áƒ”რ"
+
+#: src/parse_args.c:852
+msgid "non-interactive mode, no prompts are used"
+msgstr "áƒáƒ áƒáƒ˜áƒœáƒ¢áƒ”რáƒáƒ¥áƒ¢áƒ˜áƒ£áƒ áƒ˜ რეჟიმი. შეყვáƒáƒœáƒ მáƒáƒ—ხვნილი áƒáƒ  იქნებáƒ"
+
+#: src/parse_args.c:855
+msgid "preserve group vector instead of setting to target's"
+msgstr "სáƒáƒ›áƒ˜áƒ–ნის დáƒáƒ§áƒ”ნების მáƒáƒ’იერ ჯგუფის ვექტáƒáƒ áƒ˜áƒ¡ შენáƒáƒ áƒ©áƒ£áƒœáƒ”ბáƒ"
+
+#: src/parse_args.c:858
+msgid "use the specified password prompt"
+msgstr "პáƒáƒ áƒáƒšáƒ˜áƒ¡ მითითებული ტიპის მáƒáƒ—ხáƒáƒ•áƒœáƒ˜áƒ¡ გáƒáƒ›áƒáƒ§áƒ”ნებáƒ"
+
+#: src/parse_args.c:860
+msgid "change the root directory before running command"
+msgstr "ბრძáƒáƒœáƒ”ბის გáƒáƒ¨áƒ•áƒ”ბáƒáƒ›áƒ“ე root სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის შეცვლáƒ"
+
+#: src/parse_args.c:863
+msgid "create SELinux security context with specified role"
+msgstr "მითითებული რáƒáƒšáƒ˜áƒ— SELinux-ის სáƒáƒ£áƒ¤áƒ áƒ—ხáƒáƒ”ბის კáƒáƒœáƒ¢áƒ”ქსტის შექმნáƒ"
+
+#: src/parse_args.c:866
+msgid "read password from standard input"
+msgstr "პáƒáƒ áƒáƒšáƒ˜áƒ¡ სტáƒáƒœáƒ“áƒáƒ áƒ¢áƒ£áƒšáƒ˜ შეტáƒáƒœáƒ˜áƒ¡ მექáƒáƒœáƒ˜áƒ–მიდáƒáƒœ წáƒáƒ™áƒ˜áƒ—ხვáƒ"
+
+#: src/parse_args.c:869
+msgid "run shell as the target user; a command may also be specified"
+msgstr "გáƒáƒ áƒ¡áƒ˜áƒ¡ სáƒáƒ›áƒ˜áƒ–ნე მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლით გáƒáƒ¨áƒ•áƒ”ბáƒ; áƒáƒ¡áƒ”ვე შეიძლებრმიეთითáƒáƒ¡ ბრძáƒáƒœáƒ”ბáƒáƒª"
+
+#: src/parse_args.c:873
+msgid "create SELinux security context with specified type"
+msgstr "მითითებული ტიპის SELinux-ის უსáƒáƒ¤áƒ áƒ—ხáƒáƒ”ბის კáƒáƒœáƒ¢áƒ”ქსტის შექმნáƒ"
+
+#: src/parse_args.c:876
+msgid "terminate command after the specified time limit"
+msgstr "ბრძáƒáƒœáƒ”ბის შესრულების მითითებული დრáƒáƒ˜áƒ¡ შემდეგ შეწყვეტáƒ"
+
+#: src/parse_args.c:879
+msgid "in list mode, display privileges for user"
+msgstr "სიის რეჟიმის დრáƒáƒ¡ მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის პრივილეგიების ჩვენებáƒ"
+
+#: src/parse_args.c:882
+msgid "run command (or edit file) as specified user name or ID"
+msgstr "ბრძáƒáƒœáƒ”ბის მითითებული სáƒáƒ®áƒ”ლით áƒáƒœ ID-ით გáƒáƒ¨áƒ•áƒ”ბრ(áƒáƒœ ფáƒáƒ˜áƒšáƒ˜áƒ¡ ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბáƒ)"
+
+#: src/parse_args.c:884
+msgid "display version information and exit"
+msgstr "ვერსიის ჩვენებრდრგáƒáƒ¡áƒ•áƒšáƒ"
+
+#: src/parse_args.c:887
+msgid "update user's timestamp without running a command"
+msgstr "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის timestamp-ის ბრძáƒáƒœáƒ”ბის გáƒáƒ¨áƒ•áƒ”ბის გáƒáƒ áƒ”შე გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ"
+
+#: src/parse_args.c:890
+msgid "stop processing command line arguments"
+msgstr "ბრძáƒáƒœáƒ”ბის სტრიქáƒáƒœáƒ˜áƒ“áƒáƒœ ჩáƒáƒ¬áƒáƒ“ებული áƒáƒ áƒ’უმენტების დáƒáƒ›áƒ£áƒ¨áƒáƒ•áƒ”ბის შეწყვეტáƒ"
+
+#: src/selinux.c:83
+msgid "unable to open audit system"
+msgstr "áƒáƒ£áƒ“იტის სისტემის გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/selinux.c:93
+msgid "unable to send audit message"
+msgstr "áƒáƒ£áƒ“იტის შეტყáƒáƒ‘ინების გáƒáƒ’ზáƒáƒ•áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/selinux.c:129
+#, c-format
+msgid "unable to fgetfilecon %s"
+msgstr "fgetfilecon %s-ის შეცდáƒáƒ›áƒ"
+
+#: src/selinux.c:134
+#, c-format
+msgid "%s changed labels"
+msgstr "%s-ის ჭდეები შეცვლილიáƒ"
+
+#: src/selinux.c:142
+#, c-format
+msgid "unable to restore context for %s"
+msgstr "%s-ის კáƒáƒœáƒ¢áƒ”ქსტის áƒáƒ¦áƒ“გენრშეუძლებელიáƒ"
+
+#: src/selinux.c:190
+#, c-format
+msgid "unable to open %s, not relabeling tty"
+msgstr "%s-ის გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ. tty-ზე ჭდე თáƒáƒ•áƒ˜áƒ“áƒáƒœ áƒáƒ  დáƒáƒ”დებáƒ"
+
+#: src/selinux.c:194 src/selinux.c:239 src/selinux.c:269
+#, c-format
+msgid "%s is not a character device, not relabeling tty"
+msgstr "%s áƒáƒ  წáƒáƒ áƒ›áƒáƒáƒ“გენს სერიულ მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘áƒáƒ¡. tty-ზე ჭდე თáƒáƒ•áƒ˜áƒ“áƒáƒœ áƒáƒ  დáƒáƒ”დებáƒ"
+
+#: src/selinux.c:203
+msgid "unable to get current tty context, not relabeling tty"
+msgstr "tty-ის მიმდინáƒáƒ áƒ” კáƒáƒœáƒ¢áƒ”ქსტის მიღებრშეუძლებელიáƒ. tty-ზე ჭდე თáƒáƒ•áƒ˜áƒ“áƒáƒœ áƒáƒ  დáƒáƒ”დებáƒ"
+
+#: src/selinux.c:210
+msgid "unknown security class \"chr_file\", not relabeling tty"
+msgstr "უსáƒáƒ¤áƒ áƒ—ხáƒáƒ”ბის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ კლáƒáƒ¡áƒ˜: \"chr_file\". tty-ზე ჭდე თáƒáƒ•áƒ˜áƒ“áƒáƒœ áƒáƒ  დáƒáƒ”დებáƒ"
+
+#: src/selinux.c:215
+msgid "unable to get new tty context, not relabeling tty"
+msgstr "tty-ის áƒáƒ®áƒáƒšáƒ˜ კáƒáƒœáƒ¢áƒ”ქსტის მიღებრშეუძლებელიáƒ. tty-ზე ჭდე თáƒáƒ•áƒ˜áƒ“áƒáƒœ áƒáƒ  დáƒáƒ”დებáƒ"
+
+#: src/selinux.c:224
+msgid "unable to set new tty context"
+msgstr "tty-ის áƒáƒ®áƒáƒšáƒ˜ კáƒáƒœáƒ¢áƒ”ქსტის დáƒáƒ§áƒ”ნებრშეუძლებელიáƒ"
+
+#: src/selinux.c:323
+#, c-format
+msgid "you must specify a role for type %s"
+msgstr "გთხáƒáƒ•áƒ— მიუთითáƒáƒ— %s-ის ტიპის რáƒáƒšáƒ˜"
+
+#: src/selinux.c:329
+#, c-format
+msgid "unable to get default type for role %s"
+msgstr "%s-ის ტიპის რáƒáƒšáƒ˜áƒ¡ მიღებრშეუძლებელიáƒ"
+
+#: src/selinux.c:341
+msgid "failed to get new context"
+msgstr "áƒáƒ®áƒáƒšáƒ˜ კáƒáƒœáƒ¢áƒ”ქსტის მიღების შეცდáƒáƒ›áƒ"
+
+#: src/selinux.c:350
+#, c-format
+msgid "failed to set new role %s"
+msgstr "áƒáƒ®áƒáƒšáƒ˜ რáƒáƒšáƒ˜áƒ¡ (%s) დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/selinux.c:354
+#, c-format
+msgid "failed to set new type %s"
+msgstr "áƒáƒ®áƒáƒšáƒ˜ ტიპის (%s) დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/selinux.c:366
+#, c-format
+msgid "%s is not a valid context"
+msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ კáƒáƒœáƒ¢áƒ”ქსტი: %s"
+
+#: src/selinux.c:394
+msgid "failed to get old context"
+msgstr "ძველი კáƒáƒœáƒ¢áƒ”ქსტის მიღების შეცდáƒáƒ›áƒ"
+
+#: src/selinux.c:400
+msgid "unable to determine enforcing mode."
+msgstr "selinux-ის რეჟიმის დáƒáƒ“გენის შეცდáƒáƒ›áƒ."
+
+#: src/selinux.c:425
+#, c-format
+msgid "unable to set exec context to %s"
+msgstr "%s-ზე გáƒáƒ¨áƒ•áƒ”ბის კáƒáƒœáƒ¢áƒ”ქსტის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/selinux.c:432
+#, c-format
+msgid "unable to set key creation context to %s"
+msgstr "%s-ზე გáƒáƒ¡áƒáƒ¦áƒ”ბის შექმნის კáƒáƒœáƒ¢áƒ”ქსტის დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/sesh.c:72
+msgid "requires at least one argument"
+msgstr "სáƒáƒ­áƒ˜áƒ áƒáƒ ერთი áƒáƒ áƒ’უმენტი მáƒáƒ˜áƒœáƒª"
+
+#: src/sesh.c:104
+#, c-format
+msgid "invalid file descriptor number: %s"
+msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ დესკრიპტáƒáƒ áƒ˜áƒ¡ áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ნáƒáƒ›áƒ”რი: %s"
+
+#: src/sesh.c:118
+#, c-format
+msgid "unable to run %s as a login shell"
+msgstr "%s - სწáƒáƒ  შესვლის გáƒáƒ áƒ¡áƒ¡ áƒáƒ  წáƒáƒ áƒ›áƒáƒáƒ“გენს"
+
+#: src/sesh.c:200 src/sesh.c:300 src/sudo_edit.c:204
+#, c-format
+msgid "%s: editing symbolic links is not permitted"
+msgstr "%s: სიმბმულების ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბრშეუძლებელიáƒ"
+
+#: src/sesh.c:203 src/sesh.c:303 src/sudo_edit.c:207
+#, c-format
+msgid "%s: editing files in a writable directory is not permitted"
+msgstr "%s: ჩáƒáƒ¬áƒ”რáƒáƒ“ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეში ფáƒáƒ˜áƒšáƒ”ბის ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბრáƒáƒ™áƒ áƒ«áƒáƒšáƒ£áƒšáƒ˜áƒ"
+
+#: src/sesh.c:287 src/sesh.c:308 src/sesh.c:317 src/sesh.c:325
+#: src/sudo_edit.c:331
+#, c-format
+msgid "contents of edit session left in %s"
+msgstr "ნáƒáƒžáƒáƒ•áƒœáƒ˜áƒ ჩáƒáƒ¡áƒ¬áƒáƒ áƒ”ბის სესიის ნáƒáƒ áƒ©áƒ”ნი შემცველáƒáƒ‘áƒ: %s"
+
+#: src/sesh.c:416 src/sudo_edit.c:94
+msgid "unable to get group list"
+msgstr "ჯგუფების სიის მიღების შეცდáƒáƒ›áƒ"
+
+#: src/signal.c:79
+#, c-format
+msgid "unable to save handler for signal %d"
+msgstr "სáƒáƒ®áƒ”ლურის შენáƒáƒ®áƒ•áƒ˜áƒ¡ შეცდáƒáƒ›áƒ სიგნáƒáƒšáƒ˜áƒ¡áƒ—ვის \"%d\""
+
+#: src/solaris.c:72
+msgid "resource control limit has been reached"
+msgstr "მიღწეულირრესურსების კáƒáƒœáƒ¢áƒ áƒáƒšáƒ˜áƒ¡ ლიმიტი"
+
+#: src/solaris.c:75
+#, c-format
+msgid "user \"%s\" is not a member of project \"%s\""
+msgstr "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბელი \"%s\" áƒáƒ  წáƒáƒ áƒ›áƒáƒáƒ“გენს ჯგუფ \"%s\"-ის წევრს"
+
+#: src/solaris.c:79
+msgid "the invoking task is final"
+msgstr "ჩáƒáƒ¬áƒáƒ“ების áƒáƒ›áƒáƒªáƒáƒœáƒ სáƒáƒ‘áƒáƒšáƒáƒáƒ"
+
+#: src/solaris.c:82
+#, c-format
+msgid "could not join project \"%s\""
+msgstr "პრáƒáƒ”ქტში შეერთების შეცდáƒáƒ›áƒ: \"%s\""
+
+#: src/solaris.c:89
+#, c-format
+msgid "no resource pool accepting default bindings exists for project \"%s\""
+msgstr "რესურსების პული, რáƒáƒ›áƒ”ლიც ეთáƒáƒœáƒ®áƒ›áƒ”ბრნáƒáƒ’ულისხმებ ბმებს, áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს პრáƒáƒ”ქტისთვის: \"%s\""
+
+#: src/solaris.c:93
+#, c-format
+msgid "specified resource pool does not exist for project \"%s\""
+msgstr "რესურსების სპეციáƒáƒšáƒ£áƒ áƒ˜ პული áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს პრáƒáƒ”ქტისთვის: \"%s\""
+
+#: src/solaris.c:97
+#, c-format
+msgid "could not bind to default resource pool for project \"%s\""
+msgstr "ნáƒáƒ’ულისხმებ რესურსების პულთáƒáƒœ მიბმის შეცდáƒáƒ›áƒ პრáƒáƒ”ქტისთვის: %s"
+
+#: src/solaris.c:104
+#, c-format
+msgid "setproject failed for project \"%s\""
+msgstr "setproject-ის შეცდáƒáƒ›áƒ პრáƒáƒ”ქტისთვის: \"%s\""
+
+#: src/solaris.c:106
+#, c-format
+msgid "warning, resource control assignment failed for project \"%s\""
+msgstr "ყურáƒáƒ“ღებით. რესურსების კáƒáƒœáƒ¢áƒ áƒáƒšáƒ˜áƒ¡ მინიჭების შეცდáƒáƒ›áƒ პრáƒáƒ”ქტისთვის \"%s\""
+
+#: src/sudo.c:216
+#, c-format
+msgid "Sudo version %s\n"
+msgstr "SUDO-ის ვერსიáƒáƒ %s\n"
+
+#: src/sudo.c:218
+#, c-format
+msgid "Configure options: %s\n"
+msgstr "მáƒáƒ áƒ’ების პáƒáƒ áƒáƒ›áƒ”ტრები: %s\n"
+
+#: src/sudo.c:226
+msgid "fatal error, unable to load plugins"
+msgstr "ფáƒáƒ¢áƒáƒšáƒ£áƒ áƒ˜ შეცდáƒáƒ›áƒ. დáƒáƒ›áƒáƒ¢áƒ”ბების ჩáƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვრშეუძლებელიáƒ"
+
+#: src/sudo.c:272
+msgid "plugin did not return a command to execute"
+msgstr "დáƒáƒ›áƒáƒ¢áƒ”ბáƒáƒ¡ შესáƒáƒ¡áƒ áƒ£áƒšáƒ”ბელი ბრძáƒáƒœáƒ”ბრáƒáƒ  დáƒáƒ£áƒ‘რუნებიáƒ"
+
+#: src/sudo.c:305
+#, c-format
+msgid "unexpected sudo mode 0x%x"
+msgstr "sudo-ის მáƒáƒ£áƒšáƒáƒ“ნელი რეჟიმი: 0x%x"
+
+#: src/sudo.c:553
+#, c-format
+msgid "you do not exist in the %s database"
+msgstr "ბáƒáƒ–áƒáƒ¨áƒ˜ \"%s\" თქვენ áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘თ"
+
+#: src/sudo.c:610
+msgid "unable to determine tty"
+msgstr "tty-ის დáƒáƒ“გენრშეუძლებელიáƒ"
+
+#: src/sudo.c:908
+msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root."
+msgstr "დáƒáƒ§áƒ”ნებულირáƒáƒšáƒáƒ›áƒ˜ \"áƒáƒ®áƒáƒšáƒ˜ პრივილეგიების გáƒáƒ áƒ”შე\", რáƒáƒ›áƒ”ლიც sudo-ს სáƒáƒ¨áƒ£áƒáƒšáƒ”ბáƒáƒ¡ áƒáƒ  áƒáƒ«áƒšáƒ”ვს, root-ით გáƒáƒ”შვáƒáƒ¡."
+
+#: src/sudo.c:910
+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:944
+#, c-format
+msgid "%s must be owned by uid %d and have the setuid bit set"
+msgstr "%s-ის მფლáƒáƒ‘ელი UID %d უნდრიყáƒáƒ¡. áƒáƒ¡áƒ”ვე დáƒáƒ§áƒ”ნებული უნდრჰქáƒáƒœáƒ“ეს setuid ბიტი"
+
+#: src/sudo.c:947
+#, 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:953
+#, c-format
+msgid "effective uid is not %d, is sudo installed setuid root?"
+msgstr "მიმდინáƒáƒ áƒ” uid %d-ს áƒáƒ  უდრის. შეáƒáƒ›áƒáƒ¬áƒ›áƒ”თ, áƒáƒ¥áƒ•áƒ¡ sudo-ს setuid ბიტი მინიჭებული?"
+
+#: src/sudo.c:969 src/tgetpass.c:333
+msgid "unable to set supplementary group IDs"
+msgstr "ჯგუფის დáƒáƒ›áƒáƒ¢áƒ”ბითი ID-ების დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/sudo.c:976
+#, c-format
+msgid "unable to set effective gid to runas gid %u"
+msgstr "მიმდინáƒáƒ áƒ” gid-ის შესრულებáƒáƒ“ gid(%u)-áƒáƒ“ დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/sudo.c:982
+#, c-format
+msgid "unable to set gid to runas gid %u"
+msgstr "gid-ის შესრულებáƒáƒ“ gid(%u)-áƒáƒ“ დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/sudo.c:1025
+#, c-format
+msgid "unexpected child termination condition: %d"
+msgstr "შვილეული პრáƒáƒªáƒ”სის დáƒáƒ¡áƒ áƒ£áƒšáƒ”ბის მáƒáƒ£áƒšáƒáƒ“ნელი პირáƒáƒ‘áƒ: %d"
+
+#: src/sudo.c:1132
+msgid "unable to initialize policy plugin"
+msgstr "წესების დáƒáƒ›áƒáƒ¢áƒ”ბის ინიციáƒáƒªáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/sudo.c:1194
+#, c-format
+msgid "policy plugin %s is missing the \"check_policy\" method"
+msgstr "წესების დáƒáƒ›áƒáƒ¢áƒ”ბრ%s áƒáƒ  შეიცáƒáƒ•áƒ¡ check_policy მეთáƒáƒ“ს"
+
+#: src/sudo.c:1240
+#, c-format
+msgid "policy plugin %s does not support listing privileges"
+msgstr "წესების დáƒáƒ›áƒáƒ¢áƒ”ბრ%s-ს პრივილეგიების ჩáƒáƒ›áƒáƒ—ვლის მხáƒáƒ áƒ“áƒáƒ­áƒ”რრáƒáƒ  გáƒáƒáƒ©áƒœáƒ˜áƒ"
+
+#: src/sudo.c:1284
+#, c-format
+msgid "policy plugin %s does not support the -v option"
+msgstr "წესების დáƒáƒ›áƒáƒ¢áƒ”ბრ%s-ს -v პáƒáƒ áƒáƒ›áƒ”ტრის მხáƒáƒ áƒ“áƒáƒ­áƒ”რრáƒáƒ  გáƒáƒáƒ©áƒœáƒ˜áƒ"
+
+#: src/sudo.c:1322
+#, c-format
+msgid "policy plugin %s does not support the -k/-K options"
+msgstr "წესების დáƒáƒ›áƒáƒ¢áƒ”ბრ%s-ს -k/-K პáƒáƒ áƒáƒ›áƒ”ტრების მხáƒáƒ áƒ“áƒáƒ­áƒ”რრáƒáƒ  გáƒáƒáƒ©áƒœáƒ˜áƒ"
+
+#: src/sudo.c:1451
+#, c-format
+msgid "error initializing I/O plugin %s"
+msgstr "i/o დáƒáƒ›áƒáƒ¢áƒ”ბის (%s) ინიციáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/sudo.c:1454
+msgid "error initializing I/O plugin"
+msgstr "i/o დáƒáƒ›áƒáƒ¢áƒ”ბის ინიციáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/sudo.c:1603
+#, c-format
+msgid "error initializing audit plugin %s"
+msgstr "áƒáƒ£áƒ“იტის დáƒáƒ›áƒáƒ¢áƒ”ბის (%s) ინიციáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/sudo.c:1682
+#, c-format
+msgid "%s: unable to log error event%s%s"
+msgstr "%s: ჟურნáƒáƒšáƒ¨áƒ˜ შეცდáƒáƒ›áƒ˜áƒ¡ მáƒáƒ•áƒšáƒ”ნის ჩáƒáƒ¡áƒ¬áƒ”რის შეცდáƒáƒ›áƒ (%s%s)"
+
+#: src/sudo.c:1718
+#, c-format
+msgid "%s: unable to log accept event%s%s"
+msgstr "%s: ჟურნáƒáƒšáƒ¨áƒ˜ თáƒáƒœáƒ®áƒ›áƒáƒ‘ის მáƒáƒ•áƒšáƒ”ნის ჩáƒáƒ¡áƒ¬áƒ”რის შეცდáƒáƒ›áƒ (%s%s)"
+
+#: src/sudo.c:1723 src/sudo.c:1761
+msgid "audit plugin error"
+msgstr "áƒáƒ£áƒ“იტის დáƒáƒ›áƒáƒ¢áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/sudo.c:1756
+#, c-format
+msgid "%s: unable to log reject event%s%s"
+msgstr "%s: ჟურნáƒáƒšáƒ¨áƒ˜ უáƒáƒ áƒ§áƒáƒ¤áƒ˜áƒ¡ მáƒáƒ•áƒšáƒ”ნის ჩáƒáƒ¡áƒ¬áƒ”რის შეცდáƒáƒ›áƒ (%s%s)"
+
+#: src/sudo.c:1816
+#, c-format
+msgid "error initializing approval plugin %s"
+msgstr "ნებáƒáƒ“áƒáƒ›áƒ áƒ—ველი დáƒáƒ›áƒáƒ¢áƒ”ბის (%s)"
+
+#: src/sudo.c:1886
+msgid "command rejected by approver"
+msgstr "ბრძáƒáƒœáƒ”ბრუáƒáƒ áƒ§áƒáƒ¤áƒ˜áƒšáƒ˜áƒ ნებáƒáƒ“áƒáƒ›áƒ áƒ—ველის მიერ"
+
+#: src/sudo.c:1896
+msgid "approval plugin error"
+msgstr "ნებáƒáƒ“áƒáƒ›áƒ áƒ—ველი დáƒáƒ›áƒáƒ¢áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/sudo_edit.c:113
+msgid "no writable temporary directory found"
+msgstr "áƒáƒ áƒªáƒ”რთი დრáƒáƒ”ბითი სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე ჩáƒáƒ¬áƒ”რáƒáƒ“ი áƒáƒ áƒáƒ"
+
+#: src/sudo_edit.c:291
+#, c-format
+msgid "%s left unmodified"
+msgstr "%s áƒáƒ  შეცვლილáƒ"
+
+#: src/sudo_edit.c:304 src/sudo_edit.c:571
+#, c-format
+msgid "%s unchanged"
+msgstr "%s შეუცვლელიáƒ"
+
+#: src/sudo_edit.c:481
+msgid "sesh: internal error: odd number of paths"
+msgstr "sesh: შიდრშეცდáƒáƒ›áƒ: ბილიკების კენტი რიცხვი"
+
+#: src/sudo_edit.c:483
+msgid "sesh: unable to create temporary files"
+msgstr "sesh: დრáƒáƒ”ბითი ფáƒáƒ˜áƒšáƒ”ბის შექმნის შეცდáƒáƒ›áƒ"
+
+#: src/sudo_edit.c:485 src/sudo_edit.c:609
+msgid "sesh: killed by a signal"
+msgstr "sesh: გáƒáƒ áƒ“áƒáƒ˜áƒªáƒ•áƒáƒšáƒ სიგნáƒáƒšáƒ˜áƒ—"
+
+#: src/sudo_edit.c:487 src/sudo_edit.c:612
+#, c-format
+msgid "sesh: unknown error %d"
+msgstr "sesh: უცნáƒáƒ‘ი შეცდáƒáƒ›áƒ (%d)"
+
+#: src/sudo_edit.c:602
+msgid "unable to copy temporary files back to their original location"
+msgstr "დრáƒáƒ”ბითი ფáƒáƒ˜áƒšáƒ”ბის თáƒáƒ•áƒ˜áƒáƒœáƒ— პირველáƒáƒ“ მდებáƒáƒ áƒ”áƒáƒ‘áƒáƒ–ე კáƒáƒžáƒ˜áƒ áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/sudo_edit.c:606
+msgid "unable to copy some of the temporary files back to their original location"
+msgstr "ზáƒáƒ’იერთი დრáƒáƒ”ბითი ფáƒáƒ˜áƒšáƒ˜áƒ¡ პირველáƒáƒ“ მდებáƒáƒ áƒ”áƒáƒ‘áƒáƒ–ე კáƒáƒžáƒ˜áƒ áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/sudo_edit.c:649
+#, c-format
+msgid "unable to change uid to root (%u)"
+msgstr "uid-ის root-ზე(%u) გáƒáƒ“áƒáƒ áƒ—ვის შეცდáƒáƒ›áƒ"
+
+#: src/sudo_edit.c:670
+msgid "plugin error: missing file list for sudoedit"
+msgstr "დáƒáƒ›áƒáƒ¢áƒ”ბის შეცდáƒáƒ›áƒ: sudoedit-ს ფáƒáƒ˜áƒšáƒ”ბის სირესáƒáƒ­áƒ˜áƒ áƒáƒ”ბáƒ"
+
+#: src/sudo_edit.c:713 src/sudo_edit.c:727
+msgid "unable to read the clock"
+msgstr "სáƒáƒáƒ—ის წáƒáƒ™áƒ˜áƒ—ხვის შეცდáƒáƒ›áƒ"
+
+#: src/sudo_intercept_common.c:341
+msgid "intercept port not set"
+msgstr "გáƒáƒ“áƒáƒ­áƒ”რის პáƒáƒ áƒ¢áƒ˜ დáƒáƒ§áƒ”ნებული áƒáƒ áƒáƒ"
+
+#: src/tgetpass.c:95
+msgid "timed out reading password"
+msgstr "პáƒáƒ áƒáƒšáƒ˜áƒ¡ წáƒáƒ™áƒ˜áƒ—ხვის ვáƒáƒ“რგáƒáƒ•áƒ˜áƒ“áƒ"
+
+#: src/tgetpass.c:98
+msgid "no password was provided"
+msgstr "პáƒáƒ áƒáƒšáƒ˜ მითითებული áƒáƒ áƒáƒ"
+
+#: src/tgetpass.c:101
+msgid "unable to read password"
+msgstr "პáƒáƒ áƒáƒšáƒ˜áƒ¡ წáƒáƒ™áƒ˜áƒ—ხვის შეცდáƒáƒ›áƒ"
+
+#: src/tgetpass.c:141
+msgid "a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper"
+msgstr "პáƒáƒ áƒáƒšáƒ˜áƒ¡ წáƒáƒ¡áƒáƒ™áƒ˜áƒ—ხáƒáƒ“ áƒáƒ£áƒªáƒ˜áƒšáƒ”ბელირტერმინáƒáƒšáƒ˜; áƒáƒœ გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნეთ -S პáƒáƒ áƒáƒ›áƒ”ტრი, áƒáƒœ askpass-ის ტიპის დáƒáƒ›áƒ®áƒ›áƒáƒ áƒ” მáƒáƒ˜áƒ áƒ’ეთ"
+
+#: src/tgetpass.c:152
+msgid "no askpass program specified, try setting SUDO_ASKPASS"
+msgstr "askpass-ის ტიპის პრáƒáƒ’რáƒáƒ›áƒ მითითებული áƒáƒ áƒáƒ. სცáƒáƒ“ეთ დáƒáƒáƒ§áƒ”ნáƒáƒ— SUDO_ASKPASS"
+
+#: src/tgetpass.c:328
+#, c-format
+msgid "unable to set gid to %u"
+msgstr "gid-ის %u-ზე დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/tgetpass.c:338
+#, c-format
+msgid "unable to set uid to %u"
+msgstr "uid-ის %u-ზე დáƒáƒ§áƒ”ნების შეცდáƒáƒ›áƒ"
+
+#: src/tgetpass.c:343
+#, c-format
+msgid "unable to run %s"
+msgstr "%s-ის გáƒáƒ¨áƒ•áƒ”ბის შეცდáƒáƒ›áƒ"
+
+#: src/utmp.c:288
+msgid "unable to save stdin"
+msgstr "stdin-ის შენáƒáƒ®áƒ•áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
+
+#: src/utmp.c:290
+msgid "unable to dup2 stdin"
+msgstr "stdin-ის dup2-ის შეცდáƒáƒ›áƒ"
+
+#: src/utmp.c:293
+msgid "unable to restore stdin"
+msgstr "stdin-ის áƒáƒ¦áƒ“გენის შეცდáƒáƒ›áƒ"
diff --git a/po/ko.mo b/po/ko.mo
index e3fa8dda6..bf8baf1ab 100644
--- a/po/ko.mo
+++ b/po/ko.mo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
index 5e9e39a95..1ecf3c28d 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-14 13:15+0900\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 20:52+0900\n"
"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
"Language: ko\n"
@@ -35,32 +35,33 @@ msgstr "레지스트리를 ë³µì›í•  수 없습니다"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76
#: lib/util/json.c:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -72,36 +73,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "메모리를 할당할 수 없습니다"
@@ -198,6 +199,15 @@ msgstr "%sì— ëª¨ë‘ê°€ 기ë¡í•  수 있습니다"
msgid "%s is group writable"
msgstr "%sì— ê·¸ë£¹ 구성ì›ì´ 기ë¡í•  수 있습니다"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "AppArmor 격리 여부를 알 수 없습니다"
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "AppArmor 프로파ì¼ì„ %s(으)ë¡œ 바꿀 수 없습니다"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -232,95 +242,115 @@ msgstr "%s: ìž˜ëª»ëœ íŒŒì¼ ëª¨ë“œ: 0%o"
msgid "unable to restore current working directory"
msgstr "현재 ìž‘ì—… 디렉터리를 ë³µì›í•  수 없습니다"
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "ê¶Œí•œì„ ì„¤ì •í•  수 없습니다"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "권한 한계를 설정할 수 없습니다"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "ì•Œ 수 없는 ë¡œê·¸ì¸ í´ëž˜ìŠ¤ %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "ì‚¬ìš©ìž ì»¨í…스트를 설정할 수 없습니다"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "프로세스 우선순위를 설정할 수 없습니다"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "루트를 %s(으)로 바꿀 수 없습니다"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "실행 uid로 바꿀 수 없습니다 (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "%s 디렉터리로 바꿀 수 없습니다"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "%sì—ì„œ 시작 중"
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "%d 시그ë„ì˜ í•¸ë“¤ëŸ¬ë¥¼ 설정할 수 없습니다"
+#: src/exec.c:391
+msgid "intercept mode is not supported with SELinux RBAC on this system"
+msgstr "ì´ ì‹œìŠ¤í…œì˜ SELinux RBACì—서는 가로채기 모드를 지ì›í•˜ì§€ 않습니다"
+
+#: src/exec.c:396
+msgid "unable to log sub-commands with SELinux RBAC on this system"
+msgstr "ì´ ì‹œìŠ¤í…œì˜ SELinux RBACì—서는 하위 ëª…ë ¹ì„ ê¸°ë¡í•  수 없습니다"
+
#: src/exec_common.c:56
msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT"
msgstr "PRIV_LIMITì—ì„œ PRIV_PROC_EXEC를 제거할 수 없습니다"
-#: src/exec_intercept.c:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "íì— ì´ë²¤íŠ¸ë¥¼ 추가할 수 없습니다"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "부ì ì ˆí•œ PolicyCheckRequest"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "ì •ì±…ì„ í†µí•´ ëª…ë ¹ì„ ê±°ë¶€ 했습니다"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "ì •ì±… í”ŒëŸ¬ê·¸ì¸ ì˜¤ë¥˜"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "부ì ì ˆí•œ PolicyCheckRequest"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "í´ë¼ì´ì–¸íŠ¸ ìš”ì²­ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤: %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "%2$zu í¬ê¸°ì˜ %1$sì„(를) 언팩할 수 없습니다"
+
+#: src/exec_intercept.c:665
#, 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:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "서버 메시지 길ì´ê°€ 너무 ê¹ë‹ˆë‹¤: %zu"
@@ -334,74 +364,118 @@ msgstr "ì†Œì¼“ìŒ ì½ê¸° 오류"
msgid "unexpected reply type on backchannel: %d"
msgstr "ë°± 채ë„ì— ìž˜ëª»ëœ ì‘답 형ì‹: %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "처리 tty를 설정할 수 없습니다"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "파ì´í”„를 만들 수 없습니다"
# parentê°€ 정확히 무슨 ì˜ë¯¸ì¸ì§€ ì•Œ 수 ì—†ìŒ
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "ìƒìœ„로부터 메시지를 ë°›ì„ ìˆ˜ 없습니다"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "í¬í‚¹í•  수 없습니다"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "tty ë ˆì´ë¸”ì„ ë³µì›í•  수 없습니다"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "%sì„(를) 실행할 수 없습니다"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "ì •ì±… 플러그ì¸ì—ì„œ 세션 ì´ˆê¸°í™”ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "ì†Œì¼“ì„ ë§Œë“¤ 수 없습니다"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "ì´ë²¤íŠ¸ ë£¨í”„ì— ì˜¤ë¥˜"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "execve ì¸ìž ê³µê°„ì´ ë¶€ì¡±í•©ë‹ˆë‹¤"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "%d 시그ë„ì˜ í•¸ë“¤ëŸ¬ë¥¼ ë³µì›í•  수 없습니다"
+msgid "unable to read execve %s for process %d"
+msgstr "프로세스 %2$dë²ˆì˜ %1$s execve를 ì½ì„ 수 없습니다"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "프로세스 %dë²ˆì˜ ë ˆì§€ìŠ¤í„°ë¥¼ 설정할 수 없습니다"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "프로세스 %dë²ˆì´ ê°‘ìžê¸° ë났습니다"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "seccomp 필터를 설정할 수 없습니다"
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr "경로 ì´ë¦„ì´ ì¼ì¹˜í•˜ì§€ 않습니다. \"%s\"ì„(를) 예ìƒí–ˆì§€ë§Œ, \"%s\"ì´(ê°€) 나왔습니다"
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, c-format
+msgid "%s[%d] mismatch, expected \"%s\", got \"%s\""
+msgstr "%s[%d]ì´(ê°€) ì¼ì¹˜í•˜ì§€ 않습니다. \"%s\"ì„(를) 예ìƒí–ˆì§€ë§Œ, \"%s\"ì´(ê°€) 나왔습니다"
+
+#: src/exec_ptrace.c:1013
+#, c-format
+msgid "unable to get event message for process %d"
+msgstr "프로세스 %dë²ˆì˜ ì´ë²¤íŠ¸ 메시지를 가져올 수 없습니다"
+
+#: src/exec_ptrace.c:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "프로세스 %dë²ˆì˜ ë ˆì§€ìŠ¤í„°ë¥¼ 가져올 수 없습니다"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "pty를 할당할 수 없습니다"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "입출력 í”ŒëŸ¬ê·¸ì¸ ì˜¤ë¥˜"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "입출력 플러그ì¸ì—ì„œ ëª…ë ¹ì„ ê±°ë¶€í–ˆìŠµë‹ˆë‹¤"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "오류 로깅 대기"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "윈ë„ìš° í¬ê¸° 변경 오류"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "%d 시그ë„ì˜ í•¸ë“¤ëŸ¬ë¥¼ ë³µì›í•  수 없습니다"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "ê°ì‚¬ í”„ë¡œì„¸ìŠ¤ì— ë©”ì‹œì§€ë¥¼ 보낼 수 없습니다"
@@ -467,48 +541,48 @@ msgstr "%s ì •ì±… 플러그ì¸ì— check_policy 메서드가 없습니다"
msgid "internal error, %s overflow"
msgstr "내부 오류, %s 오버플로우"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "부ì ì ˆí•œ 환경 변수 ì´ë¦„: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
msgid "the argument to -C must be a number greater than or equal to 3"
msgstr "-Cì˜ ì¸ìž ê°’ì€ 3보다 í¬ê±°ë‚˜ 같아야 합니다"
-#: src/parse_args.c:568
+#: src/parse_args.c:545
msgid "you may not specify both the -i and -s options"
msgstr "-i 옵션과 -s ì˜µì…˜ì„ í•¨ê»˜ 지정할 수 없습니다"
-#: src/parse_args.c:573
+#: src/parse_args.c:550
msgid "you may not specify both the -i and -E options"
msgstr "-i 옵션과 -E ì˜µì…˜ì„ í•¨ê»˜ 지정할 수 없습니다"
-#: src/parse_args.c:583
+#: src/parse_args.c:560
msgid "the -E option is not valid in edit mode"
msgstr "-E ì˜µì…˜ì€ íŽ¸ì§‘ 모드ì—ì„œ 유효하지 않습니다"
-#: src/parse_args.c:586
+#: src/parse_args.c:563
msgid "you may not specify environment variables in edit mode"
msgstr "편집 모드ì—ì„œ 환경 변수를 지정할 수 없습니다"
-#: src/parse_args.c:596
+#: src/parse_args.c:573
msgid "the -U option may only be used with the -l option"
msgstr "-U 옵션ì—는 -l 옵션만 함께 쓸 수 있습니다"
-#: src/parse_args.c:600
+#: src/parse_args.c:577
msgid "the -A and -S options may not be used together"
msgstr "-A 옵션과 -S ì˜µì…˜ì„ í•¨ê»˜ 쓸 수 없습니다"
-#: src/parse_args.c:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "ì´ í”Œëž«í¼ì—ì„œ sudoedit를 지ì›í•˜ì§€ 않습니다"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "-e, -h, -i, -K, -l, -s, -v, -V 옵션 중 하나를 지정해야 합니다"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -517,7 +591,7 @@ msgstr ""
"%s - 다른 ì‚¬ìš©ìž ê¶Œí•œìœ¼ë¡œ 파ì¼ì„ 편집합니다\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -526,7 +600,7 @@ msgstr ""
"%s - 다른 ì‚¬ìš©ìž ê¶Œí•œìœ¼ë¡œ ëª…ë ¹ì„ ì‹¤í–‰í•©ë‹ˆë‹¤\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -534,131 +608,131 @@ msgstr ""
"\n"
"옵션:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "암호 ì§ˆë¬¸ì— ë³´ì¡° 프로그램 활용"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "지정 BSD ì¸ì¦ í˜•ì‹ í™œìš©"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "백그ë¼ìš´ë“œì—ì„œ 명령 실행"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "프롬프트를 ë„울 ë•Œ 알림 소리를 냅니다"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "num 보다 í¬ê±°ë‚˜ ê°™ì€ ëª¨ë“  íŒŒì¼ ì„œìˆ ìžë¥¼ 닫습니다"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "지정 BSD ë¡œê·¸ì¸ í´ëž˜ìŠ¤ë¡œ ëª…ë ¹ì„ ì‹¤í–‰í•©ë‹ˆë‹¤"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "명령 실행 전 작업 디렉터리를 바꿉니다"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "ëª…ë ¹ì„ ì‹¤í–‰í•  ë•Œ ì‚¬ìš©ìž í™˜ê²½ì„ ìœ ì§€í•©ë‹ˆë‹¤"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "지정 환경 변수 ê°’ì„ ìœ ì§€í•©ë‹ˆë‹¤"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "ëª…ë ¹ì„ ì‹¤í–‰í•˜ëŠ” 대신 파ì¼ì„ 편집합니다"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "지정 그룹 ì´ë¦„ ë˜ëŠ” IDë¡œ ëª…ë ¹ì„ ì‹¤í–‰í•©ë‹ˆë‹¤"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "ëŒ€ìƒ ì‚¬ìš©ìžì˜ ë‚´ í´ë”ì— HOME 변수를 지정합니다"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "ë„움ë§ì„ 보여주고 빠져나갑니다"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "(플러그ì¸ì—ì„œ 지ì›í•œë‹¤ë©´)호스트ì—ì„œ ëª…ë ¹ì„ ì‹¤í–‰í•©ë‹ˆë‹¤"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "ëŒ€ìƒ ì‚¬ìš©ìž ìžê²©ìœ¼ë¡œ ì…¸ì— ë¡œê·¸ì¸í•˜ë©° ëª…ë ¹ì„ ì§€ì •í•  수 있습니다"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "타임스탬프 파ì¼ì„ 완전히 제거합니다"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "타임스탬프 파ì¼ì„ 초기화합니다"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "ì‚¬ìš©ìž ê¶Œí•œì„ ë³´ì—¬ì£¼ê±°ë‚˜ 지정 ëª…ë ¹ì„ í™•ì¸í•©ë‹ˆë‹¤. 긴 형ì‹ìœ¼ë¡œ 보려면 ì˜µì…˜ì„ ë‘ ë²ˆ 사용하십시오"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "비대화형 모드. 프롬프트를 사용하지 않습니다"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "대ìƒì„ 설정하는 대신 그룹 벡터를 유지합니다"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "지정 암호 프롬프트를 활용합니다"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "명령 실행 전 루트 디렉터리를 바꿉니다"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "지정 ì—­í• ì„ ì§€ë‹Œ SELinux 보안 컨í…스트를 만듭니다"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "표준 입력으로 암호를 입력 받습니다"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "ì…¸ì„ ëŒ€ìƒ ì‚¬ìš©ìž ëª…ì˜ë¡œ 실행하며 ëª…ë ¹ì„ ì§€ì •í•  수 있습니다"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "지정 ìœ í˜•ì˜ SELinux 보안 컨í…스트를 만듭니다"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "지정 제한 시간 ì´í›„ë¡œ 명령 ì‹¤í–‰ì„ ë©ˆì¶¥ë‹ˆë‹¤"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "ëª©ë¡ ëª¨ë“œì—ì„œ ì‚¬ìš©ìž ê¶Œí•œì„ ë³´ì—¬ì¤ë‹ˆë‹¤"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "지정한 ì‚¬ìš©ìž ì´ë¦„ ë˜ëŠ” IDë¡œ ëª…ë ¹ì„ ì‹¤í–‰(ë˜ëŠ” íŒŒì¼ íŽ¸ì§‘)"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "버전 정보를 보여주고 나갑니다"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "ëª…ë ¹ì„ ì‹¤í–‰í•˜ì§€ ì•Šê³  ì‚¬ìš©ìž íƒ€ìž„ìŠ¤íƒ¬í”„ë¥¼ ì—…ë°ì´íŠ¸í•©ë‹ˆë‹¤"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "명령행 ì¸ìž 처리를 멈춥니다"
@@ -872,115 +946,115 @@ msgstr "%s ë°ì´í„°ë² ì´ìŠ¤ì— 없는 사용ìžìž…니다"
msgid "unable to determine tty"
msgstr "tty를 지정할 수 없습니다"
-#: src/sudo.c:908
+#: src/sudo.c:925
msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root."
msgstr "sudo를 루트 권한으로 실행하지 못하게 하는 \"no new privileges\" 플래그를 설정했습니다."
-#: src/sudo.c:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, c-format
msgid "%s must be owned by uid %d and have the setuid bit set"
msgstr "%sì€(는) %d uid를 소유해야 하며 setuid 비트를 설정해야 합니다"
-#: src/sudo.c:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, c-format
msgid "effective uid is not %d, is sudo installed setuid root?"
msgstr "%dì€(는) 유효한 uidê°€ 아닙니다. sudoì— setuid root를 설치했습니까?"
-#: src/sudo.c:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "추가 그룹 ID를 설정할 수 없습니다"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, c-format
msgid "unable to set effective gid to runas gid %u"
msgstr "유효한 gid를 %u 실행 gid로 설정할 수 없습니다"
-#: src/sudo.c:982
+#: src/sudo.c:999
#, c-format
msgid "unable to set gid to runas gid %u"
msgstr "gid를 실행 gid %u(으)로 설정할 수 없습니다"
-#: src/sudo.c:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "예ìƒì¹˜ 못한 하위 프로세스 중단 ìƒíƒœ: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "ì •ì±… 플러그ì¸ì„ 초기화할 수 없습니다"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, c-format
msgid "policy plugin %s is missing the \"check_policy\" method"
msgstr "%s ì •ì±… 플러그ì¸ì— \"check_policy\" 메서드가 빠졌습니다"
-#: src/sudo.c:1240
+#: src/sudo.c:1257
#, c-format
msgid "policy plugin %s does not support listing privileges"
msgstr "%s ì •ì±… 플러그ì¸ì—ì„œ 권한 조회를 지ì›í•˜ì§€ 않습니다"
-#: src/sudo.c:1284
+#: src/sudo.c:1301
#, c-format
msgid "policy plugin %s does not support the -v option"
msgstr "%s ì •ì±… 플러그ì¸ì—ì„œ -v ì˜µì…˜ì„ ì§€ì›í•˜ì§€ 않습니다"
-#: src/sudo.c:1322
+#: src/sudo.c:1339
#, c-format
msgid "policy plugin %s does not support the -k/-K options"
msgstr "%s ì •ì±… 플러그ì¸ì—ì„œ -k/-K ì˜µì…˜ì„ ì§€ì›í•˜ì§€ 않습니다"
-#: src/sudo.c:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "%s 입출력 í”ŒëŸ¬ê·¸ì¸ ì´ˆê¸°í™” 오류"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "입출력 í”ŒëŸ¬ê·¸ì¸ ì´ˆê¸°í™” 오류"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "%s ê°ì‚¬ í”ŒëŸ¬ê·¸ì¸ ì´ˆê¸°í™” 오류"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, c-format
msgid "%s: unable to log error event%s%s"
msgstr "%s: %s%s 오류 ì´ë²¤íŠ¸ë¥¼ 기ë¡í•  수 없습니다"
-#: src/sudo.c:1718
+#: src/sudo.c:1735
#, c-format
msgid "%s: unable to log accept event%s%s"
msgstr "%s: %s%s 허용 ì´ë²¤íŠ¸ë¥¼ 기ë¡í•  수 없습니다"
-#: src/sudo.c:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "ê°ì‚¬ í”ŒëŸ¬ê·¸ì¸ ì˜¤ë¥˜"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, c-format
msgid "%s: unable to log reject event%s%s"
msgstr "%s: %s%s 거부 ì´ë²¤íŠ¸ë¥¼ 기ë¡í•  수 없습니다"
-#: src/sudo.c:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "%s ìŠ¹ì¸ í”ŒëŸ¬ê·¸ì¸ ì´ˆê¸°í™” 오류"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "승ì¸ìžê°€ ëª…ë ¹ì„ ê±°ë¶€í–ˆìŠµë‹ˆë‹¤"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "ìŠ¹ì¸ í”ŒëŸ¬ê·¸ì¸ ì˜¤ë¥˜"
@@ -1060,17 +1134,17 @@ msgstr "암호를 ì½ìœ¼ë ¤ë©´ 터미ë„ì´ í•„ìš”í•©ë‹ˆë‹¤. -S ì˜µì…˜ì„ ì‚¬ìš©
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "askpass í”„ë¡œê·¸ëž¨ì„ ì§€ì •í•˜ì§€ 않았습니다. SUDO_ASKPASS를 설정해보십시오"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "gid를 %u(으)로 설정할 수 없습니다"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "uid를 %u(으)로 설정할 수 없습니다"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "%sì„(를) 실행할 수 없습니다"
diff --git a/po/pl.mo b/po/pl.mo
index 18982cd19..9245c40f5 100644
--- a/po/pl.mo
+++ b/po/pl.mo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index aa1122c1e..f1766782f 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-13 20:21+0100\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 21:12+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -32,32 +32,33 @@ 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:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -69,36 +70,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "nie udało się przydzielić pamięci"
@@ -195,6 +196,15 @@ msgstr "%s jest zapisywalny dla świata"
msgid "%s is group writable"
msgstr "%s jest zapisywalny dla grupy"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "nie udało się określić ograniczeń AppArmor"
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "nie udało się zmienić profilu AppArmor na %s"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -229,95 +239,115 @@ msgstr "%s: błędny tryb pliku: 0%o"
msgid "unable to restore current working directory"
msgstr "nie udało się odtworzyć bieżącego kartalogu roboczego"
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "nie udało się ustawić uprawnień"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "nie udało się ustawić ograniczonych uprawnień"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "nieznana klasa logowania %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "nie udało się ustawić kontekstu użytkownika"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "nie udało się ustawić priorytetu procesu"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "nie udało się zmienić katalogu głównego na %s"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "nie udało się zmienić uid-ów, aby działać jako (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "nie udało się zmienić katalogu na %s"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "zaczynajÄ…c od %s"
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, 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:391
+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:396
+msgid "unable to log sub-commands with SELinux RBAC on this system"
+msgstr "nie można logować podpoleceń z RBAC SELinux na tym systemie"
+
#: src/exec_common.c:56
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:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "nie udało się dodać zdarzenia do kolejki"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "błędne żądanie PolicyCheckRequest"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "polecenie odrzucone przez politykÄ™"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "błąd wtyczki polityki"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "błędne żądanie PolicyCheckRequest"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "żądanie klienta zbyt duże: %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "nie udało się rozpakować %s, rozmiar %zu"
+
+#: src/exec_intercept.c:665
#, 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:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "komunikat serwera zbyt duży: %zu"
@@ -331,73 +361,117 @@ msgstr "błąd odczytu z pary gniazd"
msgid "unexpected reply type on backchannel: %d"
msgstr "nieoczekiwany typ odpowiedzi z kanału zwrotnego: %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "nie udało się ustawić sterującego tty"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "nie udało się utworzyć potoku"
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "nie udało się odebrać komunikatu od rodzica"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "nie udało się wykonać fork"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "nie udało się przywrócić etykiety tty"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "nie udało się wykonać %s"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "nie udało się zainicjować sesji przez wtyczkę polityki"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "nie udało się utworzyć gniazd"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "błąd w pętli zdarzeń"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "za mało miejsca na argumenty execve"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "nie udało się przywrócić procedury obsługi dla sygnału %d"
+msgid "unable to read execve %s for process %d"
+msgstr "nie udało się odczytać execve %s dla procesu %d"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "nie udało się ustawić rejestrów dla procesu %d"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "proces %d nieoczekiwanie zakończył się"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "nie udało się ustawić filtra seccomp"
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr "niezgodność ścieżki, oczekiwano \"%s\", napotkano \"%s\""
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, c-format
+msgid "%s[%d] mismatch, expected \"%s\", got \"%s\""
+msgstr "niezgodność %s[%d], oczekiwano \"%s\", napotkano \"%s\""
+
+#: src/exec_ptrace.c:1013
+#, 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:1019
+#, 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:163
msgid "unable to allocate pty"
msgstr "nie udało się przydzielić pty"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "błąd wtyczki we/wy"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "polecenie odrzucone przez wtyczkÄ™ we/wy"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "błąd logowania odroczenia"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "błąd zmiany rozmiaru okna"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "nie udało się przywrócić procedury obsługi dla sygnału %d"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "nie udało się wysłać komunikatu do procesu monitorującego"
@@ -463,48 +537,48 @@ msgstr "wtyczka polityki %s nie zawiera metody check_policy"
msgid "internal error, %s overflow"
msgstr "błąd wewnętrzny, przepełnienie %s"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "błędna nazwa zmiennej środowiskowej: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
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:568
+#: src/parse_args.c:545
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:573
+#: src/parse_args.c:550
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:583
+#: src/parse_args.c:560
msgid "the -E option is not valid in edit mode"
msgstr "opcja -E nie jest poprawna w trybie edycji"
-#: src/parse_args.c:586
+#: src/parse_args.c:563
msgid "you may not specify environment variables in edit mode"
msgstr "w trybie edycji nie można przekazywać zmiennych środowiskowych"
-#: src/parse_args.c:596
+#: src/parse_args.c:573
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:600
+#: src/parse_args.c:577
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:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "sudoedit nie jest obsługiwane na tej platformie"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Można podać tylko jedną z opcji -e, -h, -i, -K, -l, -s, -v lub -V"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -513,7 +587,7 @@ msgstr ""
"%s - modyfikowanie plików jako inny użytkownik\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -522,7 +596,7 @@ msgstr ""
"%s - wykonywanie poleceń jako inny użytkownik\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -530,131 +604,131 @@ msgstr ""
"\n"
"Opcje:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "użycie programu pomocniczego do pytań o hasło"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "użycie podanego rodzaju uwierzytelnienia BSD"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "uruchomienie polecenia w tle"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "dzwonek przy zapytaniu"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "zamknięcie wszystkich deskryptorów >= fd"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "uruchomienie polecenia z podanÄ… klasÄ… logowania BSD"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "zmiana katalogu roboczego przed uruchomieniem polecenia"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "zachowanie środowiska użytkownika przy uruchamianiu polecenia"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "zachowanie określonych zmiennych środowiskowych"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "modyfikowanie plików zamiast uruchomienia polecenia"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "wywołanie polecenia jako określona grupa lub ID"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "ustawienie zmiennej HOME na katalog domowy użytkownika docelowego"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "wyświetlenie opisu i zakończenie"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "uruchomienie polecenia na hoście (jeśli obsługiwane przez wtyczkę)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "uruchomienie powłoki logowania jako użytkownik docelowy; można także podać polecenie"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "całkowite usunięcie pliku znacznika czasu"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "unieważnienie pliku znacznika czasu"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "wypisanie uprawnień użytkownika lub sprawdzenie określonego polecenia; dwukrotne użycie to dłuższy format"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "tryb nieinteraktywny, bez pytań"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "zachowanie wektora grup zamiast ustawiania docelowych"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "użycie podanego pytania o hasło"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "zmiana katalogu głównego przed uruchomieniem polecenia"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "utworzenie kontekstu bezpieczeństwa SELinuksa z podaną rolą"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "odczyt hasła ze standardowego wejścia"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "uruchomienie powłoki jako użytkownik docelowy; można także podać polecenie"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "utworzenie kontekstu bezpieczeństwa SELinuksa z podanym typem"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "zakończenie polecenia po zadanym limicie czasu"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "w trybie listy - wyświetlenie uprawnień użytkownika"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "uruchomienie polecenia (lub modyfikowanie pliku) jako podany użytkownik lub ID"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "wyświetlenie informacji o wersji i zakończenie"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "uaktualnienie znacznika czasu użytkownika bez uruchamiania polecenia"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "zakończenie przetwarzania argumentów linii poleceń"
@@ -868,115 +942,115 @@ msgstr "nie istniejesz w bazie danych %s"
msgid "unable to determine tty"
msgstr "nie udało się określić tty"
-#: src/sudo.c:908
+#: src/sudo.c:925
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:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, 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:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, 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:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "nie udało się ustawić ID dodatkowych grup"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, 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:982
+#: src/sudo.c:999
#, 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:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "nieoczekiwane zakończenie procesu potomnego: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "nie udało się zainicjować wtyczki polityki"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, c-format
msgid "policy plugin %s is missing the \"check_policy\" method"
msgstr "wtyczka polityki %s nie zawiera metody \"check_policy\""
-#: src/sudo.c:1240
+#: src/sudo.c:1257
#, c-format
msgid "policy plugin %s does not support listing privileges"
msgstr "wtyczka polityki %s nie obsługuje wypisywania uprawnień"
-#: src/sudo.c:1284
+#: src/sudo.c:1301
#, c-format
msgid "policy plugin %s does not support the -v option"
msgstr "wtyczka polityki %s nie obsługuje opcji -v"
-#: src/sudo.c:1322
+#: src/sudo.c:1339
#, 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:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "błąd inicjalizacji wtyczki we/wy %s"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "błąd inicjowania wtyczki we/wy"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "błąd inicjowania wtyczki audytu %s"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, 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:1718
+#: src/sudo.c:1735
#, 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:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "błąd wtyczki audytu"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, 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:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "błąd inicjowania wtyczki zgody %s"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "polecenie odrzucone przez wtyczkÄ™ zgody"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "błąd wtyczki zgody"
@@ -1034,7 +1108,7 @@ msgstr "nie udało się odczytać zegara"
#: src/sudo_intercept_common.c:341
msgid "intercept port not set"
-msgstr "port przechwycenia nie ustawiony"
+msgstr "port przechwytywania nie ustawiony"
#: src/tgetpass.c:95
msgid "timed out reading password"
@@ -1056,17 +1130,17 @@ msgstr "do odczytu hasła wymagany jest terminal; należy użyć opcji -S, aby c
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "nie podano programu pytającego o hasło, proszę spróbować ustawić SUDO_ASKPASS"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "nie udało się ustawić gid-a na %u"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "nie udało się ustawić uid-a na %u"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "nie udało się uruchomić %s"
diff --git a/po/ro.mo b/po/ro.mo
index e7a52c8f1..5f0524dbb 100644
--- a/po/ro.mo
+++ b/po/ro.mo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 18cf2a69e..54e3f5a3d 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -1,16 +1,21 @@
# Portable object template file for sudo
# This file is put in the public domain.
+# Todd C. Miller <Todd.Miller@sudo.ws>, 2011-2018
# This file is distributed under the same license as the sudo package.
-#
-# Todd C. Miller <Todd.Miller@sudo.ws>, 2011-2018.
# Florentina Mușat <florentina.musat.28@gmail.com>, 2020.
# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2021, 2022.
+#
+# Cronologia traducerii fiÈ™ierului „sudoâ€:
+# Traducera inițială, făcută de FM, pentru versiunea sudoers 1.9.2rc1.
+# Actualizare a algoritmului formelor de plural (de la „trei-vechi†la „trei-nouâ€).
+# Actualizare a traducerii pentru versiunea 1.9.10b1, făcută de R-GC.
+# Actualizare a traducerii pentru versiunea 1.9.11b1, făcută de R-GC.
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-13 17:54+0100\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 20:01+0200\n"
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
@@ -37,32 +42,33 @@ 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:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -74,36 +80,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "nu se poate aloca memoria"
@@ -208,6 +214,21 @@ msgstr "%s este inscriptibil global"
msgid "%s is group writable"
msgstr "%s este inscriptibil de către grup"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "nu s-a reușit să se determine confinarea (izolarea) AppArmor"
+
+# Modificat, de la:
+# „nu se poate schimba de root laâ€, la:
+# „nu se poate schimba directorul rădăcină laâ€
+# ***
+# asta, cînd mesajul în engleză, era:
+# „unable to change root to %sâ€
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "nu se poate schimba profilul AppArmor la %s"
+
# Notă:
# de întrebat băieții de la sudo, dacă se poate traduce (y/n) precum (d/n) sau nu...
# și bineînțeles..., ca programul să răspundă cu
@@ -248,38 +269,48 @@ msgstr "%s: mod de fișier defectuos: 0%o"
msgid "unable to restore current working directory"
msgstr "nu se poate restaura directorul de lucru curent"
-#: src/exec.c:130
+# Schimbat de la: 1linia de asamblareâ€
+# la: „tubul conectorâ€
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "nu se pot stabili privilegiile"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "nu se poate stabili limita privilegiilor"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "clasă de autentificare necunoscută %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "nu se poate stabili contextul utilizatorului"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "nu se poate stabili prioritatea procesului"
# Modificat, de la:
# „nu se poate schimba de root laâ€, la:
# „nu se poate schimba directorul rădăcină laâ€
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "nu se poate schimba directorul rădăcină la %s"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "nu se poate schimba la uid-ul run_as (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "nu se poate schimba directorul la %s"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "începând de la %s"
@@ -287,51 +318,58 @@ 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:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "nu se poate stabili manipulantul pentru semnalul %d"
+#: src/exec.c:391
+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:396
+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"
+
#: src/exec_common.c:56
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:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "nu se poate adăuga evenimentul la coadă"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "PolicyCheckRequest nevalid"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "comandă respinsă de politică"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "eroare de modul de politică"
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "PolicyCheckRequest nevalid"
+
# Notă:
# am tradus mesajul ca:
# „cererea clientului este prea mareâ€
@@ -341,21 +379,26 @@ msgstr "eroare de modul de politică"
# 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:561
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "cererea clientului este prea mare: %zu"
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "nu se poate despacheta %s cu dimensiunea %zu"
+
# Am tradus:
# „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:659
+#: src/exec_intercept.c:665
#, 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:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "mesaj de la server prea mare: %zu"
@@ -376,61 +419,97 @@ msgstr "eroare la citirea de la socketpair"
msgid "unexpected reply type on backchannel: %d"
msgstr "tip de răspuns neașteptat pe backchannel: %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "nu se poate stabili tty de control"
-# Schimbat de la: 1linia de asamblareâ€
+# Schimbat de la: „linia de asamblareâ€
# la: „tubul conectorâ€
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "nu se poate crea „tubul conectorâ€(pipe)"
# Modificat de la: „de la superiorâ€
# la: „de la procesul părinteâ€
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
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:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "nu se poate bifurca"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "nu se poate restaura eticheta tty"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "nu se poate executa %s"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "modulul de politică a eșuat la inițializarea sesiunii"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "nu se pot crea socluri"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "eroare în bucla de eveniment"
-# Modificare:
-# de la: „nu se poate stabili mânerul pentru semnalulâ€
-# la: „nu se poate stabili manipulantul pentru semnalulâ€
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "spațiu insuficient pentru argumentele de execve"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "nu se poate restaura manipulantul pentru semnalul %d"
+msgid "unable to read execve %s for process %d"
+msgstr "nu se poate citi execve %s pentru procesul %d"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "nu se pot configura registrele pentru procesul %d"
+
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "procesul %d a ieșit în mod neașteptat"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "nu se poate configura filtrul seccomp"
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr "nepotrivire în numele de cale, era aÈ™teptat „%sâ€, s-a primit „%sâ€"
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, 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_pty.c:158
+#: src/exec_ptrace.c:1013
+#, 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:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "nu se pot obține registrele pentru procesul %d"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "nu se poate aloca pty"
@@ -438,25 +517,33 @@ msgstr "nu se poate aloca pty"
# „Eroare de plugin I/Oâ€
# la: „Eroare a modulului In/IeÈ™(I/O)â€
# Pentru coerență cu restul traducerii, și nu numai...
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "Eroare a modulului In/IeÈ™(I/O)"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "comandă respinsă de modulul In/Ieș/(I/O)"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "eroare la suspendarea jurnalizării"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "eroare la schimbarea dimensiunii ferestrei"
-#: src/exec_pty.c:1615
+# Modificare:
+# de la: „nu se poate stabili mânerul pentru semnalulâ€
+# la: „nu se poate stabili manipulantul pentru semnalulâ€
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "nu se poate restaura manipulantul pentru semnalul %d"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "nu se poate trimite mesajul la procesul de monitorizare"
@@ -536,53 +623,53 @@ msgstr "modulul de politică %s nu include o metodă check_policy"
msgid "internal error, %s overflow"
msgstr "eroare internă, supraplin %s"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, 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:337
+#: src/parse_args.c:314
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:568
+#: src/parse_args.c:545
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:573
+#: src/parse_args.c:550
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:583
+#: src/parse_args.c:560
msgid "the -E option is not valid in edit mode"
msgstr "opțiunea -E nu este validă în modul editare"
-#: src/parse_args.c:586
+#: src/parse_args.c:563
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:596
+#: src/parse_args.c:573
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:600
+#: src/parse_args.c:577
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:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "sudoedit nu este suportat pe această platformă"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Doar una dintre opțiunile -e, -h, -i, -K, -l, -s, -v sau -V poate fi specificată"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -591,7 +678,7 @@ msgstr ""
"%s - editează fișiere ca alt utilizator\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -600,7 +687,7 @@ msgstr ""
"%s - execută o comandă ca alt utilizator\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -614,118 +701,118 @@ msgstr ""
# - „utilizează un program auxiliar pentru solicitarea paroleiâ€
# Recenzie, Daniel Șegărceanu: a doua variantă, sună mai bine.
# Am aplicat-o, în fond era și impresia mea, dar nu vroiam să modific prea mult fișierul...
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "utilizează un program auxiliar pentru solicitarea parolei"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "utilizează un tip de autentificare BSD specificat"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "rulează comanda în fundal"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "sună din clopoțel atunci când se solicită"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "închide toți descriptorii de fișier >= num"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "rulează comanda cu clasa de autentificare BSD specificată"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "schimbă directorul de lucru înainte de-a executa comanda"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "păstrează mediul utilizatorului atunci când se rulează comanda"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "păstrează variabile de mediu specifice"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "editează fișiere în locul rulării unei comenzi"
# Modificat de la: „rulează comanda ca numele sau ID-ul de grup specificat"
# la:
# „rulează comanda ca grupul cu numele sau ID-ul specificatâ€
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "rulează comanda ca grupul cu numele sau ID-ul specificat"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "stabilește variabila HOME să țintească spre directorul personal al utilizatorului"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "afișează mesajul de ajutor și iese"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "rulează comanda pe gazdă (dacă este suportat de modul)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "rulează shell-ul de autentificare ca utilizatorul țintă; o comandă poate fi, de asemenea, specificată"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "elimină complet fișierul de datare"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "invalidează fișierul de datare"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "listează privilegiile utilizatorului sau verifică o comandă specifică; utilizează de două ori pentru formatul mai lung"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "mod neinteractiv, nu sunt utilizate solicitări"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "păstrează vectorul grupului în loc să configurați pe cel al țintei"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "utilizează solicitarea de parolă specificată"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "schimbă la directorul rădăcină, înainte de a rula comanda"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "creează contextul de securitate SELinux cu rolul specificat"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "citește parola de la intrarea standard"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "rulează shell-ul ca utilizatorul țintă; o comandă poate fi, de asemenea, specificată"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "creează contextul de securitate SELinux cu tipul specificat"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "termină comanda după limita de timp specificată"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "în modul listă, afișează privilegiile pentru utilizator"
@@ -733,19 +820,19 @@ msgstr "în modul listă, afișează privilegiile pentru utilizator"
# „rulează comanda (sau fiÈ™ierul de editare) ca nume specificat sau ID de utilizatorâ€
# la:
# „rulează comanda (sau editează fiÈ™ierul) ca utilizator cu numele sau ID-ul specificatâ€
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "rulează comanda (sau editează fișierul) ca utilizator cu numele sau ID-ul specificat"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "afișează informațiile de versiune și iese"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "actualizează datarea utilizatorului fără să se ruleze o comandă"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "oprește procesarea argumentelor în linia de comandă"
@@ -966,117 +1053,117 @@ msgstr "nu existați în baza de date %s"
msgid "unable to determine tty"
msgstr "nu se poate determina tty"
-#: src/sudo.c:908
+#: src/sudo.c:925
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:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, 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:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, 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:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "nu se pot stabili ID-urile de grup suplimentare"
# Notă: eficiente -> efective
-#: src/sudo.c:976
+#: src/sudo.c:993
#, 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:982
+#: src/sudo.c:999
#, 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:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "condiție de terminare a procesului copil neașteptată: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "nu se poate inițializa modulul de politică"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, 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:1240
+#: src/sudo.c:1257
#, c-format
msgid "policy plugin %s does not support listing privileges"
msgstr "modulul de politică %s nu suportă listarea privilegiilor"
-#: src/sudo.c:1284
+#: src/sudo.c:1301
#, 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:1322
+#: src/sudo.c:1339
#, 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:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "eroare la inițializarea modulului In/Ieș(I/O) %s"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "eroare la inițializarea modulului In/Ieș(I/O)"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "eroare la inițializarea modulului auditare %s"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, 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:1718
+#: src/sudo.c:1735
#, 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:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "eroare a modulului de auditare"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, 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:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "eroare la inițializarea modulului de aprobare %s"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "comandă respinsă de aprobator"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "eroare la modulul de aprobare"
@@ -1156,17 +1243,17 @@ msgstr "un terminal este necesar pentru a citit parola; ori utilizați opțiunea
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "nu s-a specificat niciun program askpass, încercați să stabiliți SUDO_ASKPASS"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "nu se poate stabili gid-ul la %u"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "nu se poate stabili uid-ul la %u"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "nu se poate rula %s"
diff --git a/po/sudo.pot b/po/sudo.pot
index daac06edf..4d00bd8bf 100644
--- a/po/sudo.pot
+++ b/po/sudo.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10\n"
+"Project-Id-Version: sudo 1.9.11\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -32,32 +32,33 @@ msgstr ""
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76
#: lib/util/json.c:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -69,36 +70,36 @@ msgstr ""
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1231
-#: src/exec_pty.c:1240 src/exec_pty.c:1247 src/exec_pty.c:1254
-#: src/exec_pty.c:1261 src/exec_pty.c:1268 src/exec_pty.c:1275
-#: src/exec_pty.c:1282 src/exec_pty.c:1289 src/exec_pty.c:1296
-#: src/exec_pty.c:1303 src/exec_pty.c:1311 src/exec_pty.c:1774
-#: src/load_plugins.c:156 src/load_plugins.c:181 src/load_plugins.c:217
-#: src/load_plugins.c:449 src/load_plugins.c:455 src/parse_args.c:192
-#: src/parse_args.c:214 src/parse_args.c:287 src/parse_args.c:632
-#: src/parse_args.c:654 src/parse_args.c:679 src/preserve_fds.c:46
-#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:474
-#: src/selinux.c:483 src/sesh.c:113 src/sesh.c:411 src/sudo.c:230
-#: src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104
-#: src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127
-#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr ""
@@ -195,6 +196,15 @@ msgstr ""
msgid "%s is group writable"
msgstr ""
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr ""
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr ""
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -229,94 +239,115 @@ msgstr ""
msgid "unable to restore current working directory"
msgstr ""
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr ""
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr ""
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr ""
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr ""
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr ""
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr ""
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr ""
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr ""
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr ""
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr ""
+#: src/exec.c:391
+msgid "intercept mode is not supported with SELinux RBAC on this system"
+msgstr ""
+
+#: src/exec.c:396
+msgid "unable to log sub-commands with SELinux RBAC on this system"
+msgstr ""
+
#: src/exec_common.c:56
msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT"
msgstr ""
-#: src/exec_intercept.c:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912 src/exec_pty.c:1233
-#: src/exec_pty.c:1242 src/exec_pty.c:1249 src/exec_pty.c:1256
-#: src/exec_pty.c:1263 src/exec_pty.c:1270 src/exec_pty.c:1277
-#: src/exec_pty.c:1284 src/exec_pty.c:1291 src/exec_pty.c:1298
-#: src/exec_pty.c:1305 src/exec_pty.c:1727 src/exec_pty.c:1737
-#: src/exec_pty.c:1782 src/exec_pty.c:1789 src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr ""
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr ""
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr ""
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr ""
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr ""
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr ""
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr ""
+
+#: src/exec_intercept.c:665
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr ""
-#: src/exec_intercept.c:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr ""
@@ -330,73 +361,117 @@ msgstr ""
msgid "unexpected reply type on backchannel: %d"
msgstr ""
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr ""
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr ""
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr ""
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr ""
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr ""
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr ""
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr ""
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr ""
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr ""
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr ""
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
+msgid "unable to read execve %s for process %d"
+msgstr ""
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
msgstr ""
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr ""
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr ""
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr ""
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, c-format
+msgid "%s[%d] mismatch, expected \"%s\", got \"%s\""
+msgstr ""
+
+#: src/exec_ptrace.c:1013
+#, c-format
+msgid "unable to get event message for process %d"
+msgstr ""
+
+#: src/exec_ptrace.c:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr ""
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr ""
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr ""
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr ""
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr ""
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr ""
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr ""
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr ""
@@ -462,195 +537,195 @@ msgstr ""
msgid "internal error, %s overflow"
msgstr ""
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr ""
-#: src/parse_args.c:337
+#: src/parse_args.c:314
msgid "the argument to -C must be a number greater than or equal to 3"
msgstr ""
-#: src/parse_args.c:568
+#: src/parse_args.c:545
msgid "you may not specify both the -i and -s options"
msgstr ""
-#: src/parse_args.c:573
+#: src/parse_args.c:550
msgid "you may not specify both the -i and -E options"
msgstr ""
-#: src/parse_args.c:583
+#: src/parse_args.c:560
msgid "the -E option is not valid in edit mode"
msgstr ""
-#: src/parse_args.c:586
+#: src/parse_args.c:563
msgid "you may not specify environment variables in edit mode"
msgstr ""
-#: src/parse_args.c:596
+#: src/parse_args.c:573
msgid "the -U option may only be used with the -l option"
msgstr ""
-#: src/parse_args.c:600
+#: src/parse_args.c:577
msgid "the -A and -S options may not be used together"
msgstr ""
-#: src/parse_args.c:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr ""
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid ""
"Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr ""
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
"\n"
msgstr ""
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
"\n"
msgstr ""
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
msgstr ""
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr ""
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr ""
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr ""
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr ""
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr ""
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr ""
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr ""
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr ""
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr ""
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr ""
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr ""
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr ""
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr ""
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr ""
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr ""
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr ""
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr ""
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid ""
"list user's privileges or check a specific command; use twice for longer "
"format"
msgstr ""
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr ""
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr ""
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr ""
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr ""
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr ""
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr ""
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr ""
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr ""
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr ""
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr ""
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr ""
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr ""
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr ""
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr ""
@@ -864,121 +939,121 @@ msgstr ""
msgid "unable to determine tty"
msgstr ""
-#: src/sudo.c:908
+#: src/sudo.c:925
msgid ""
"The \"no new privileges\" flag is set, which prevents sudo from running as "
"root."
msgstr ""
-#: src/sudo.c:910
+#: src/sudo.c:927
msgid ""
"If sudo is running in a container, you may need to adjust the container "
"configuration to disable the flag."
msgstr ""
-#: src/sudo.c:944
+#: src/sudo.c:961
#, c-format
msgid "%s must be owned by uid %d and have the setuid bit set"
msgstr ""
-#: src/sudo.c:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, c-format
msgid "effective uid is not %d, is sudo installed setuid root?"
msgstr ""
-#: src/sudo.c:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr ""
-#: src/sudo.c:976
+#: src/sudo.c:993
#, c-format
msgid "unable to set effective gid to runas gid %u"
msgstr ""
-#: src/sudo.c:982
+#: src/sudo.c:999
#, c-format
msgid "unable to set gid to runas gid %u"
msgstr ""
-#: src/sudo.c:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr ""
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr ""
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, c-format
msgid "policy plugin %s is missing the \"check_policy\" method"
msgstr ""
-#: src/sudo.c:1240
+#: src/sudo.c:1257
#, c-format
msgid "policy plugin %s does not support listing privileges"
msgstr ""
-#: src/sudo.c:1284
+#: src/sudo.c:1301
#, c-format
msgid "policy plugin %s does not support the -v option"
msgstr ""
-#: src/sudo.c:1322
+#: src/sudo.c:1339
#, c-format
msgid "policy plugin %s does not support the -k/-K options"
msgstr ""
-#: src/sudo.c:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr ""
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr ""
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr ""
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, c-format
msgid "%s: unable to log error event%s%s"
msgstr ""
-#: src/sudo.c:1718
+#: src/sudo.c:1735
#, c-format
msgid "%s: unable to log accept event%s%s"
msgstr ""
-#: src/sudo.c:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr ""
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, c-format
msgid "%s: unable to log reject event%s%s"
msgstr ""
-#: src/sudo.c:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr ""
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr ""
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr ""
@@ -1061,17 +1136,17 @@ msgstr ""
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr ""
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr ""
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr ""
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr ""
diff --git a/po/uk.mo b/po/uk.mo
index 0f9a4e467..6cbecffe2 100644
--- a/po/uk.mo
+++ b/po/uk.mo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 43651d509..a6936569f 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -4,10 +4,10 @@
# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-13 12:53+0200\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-05-29 12:09+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
"Language: uk\n"
@@ -34,32 +34,33 @@ msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ регіÑÑ‚Ñ€"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76
#: lib/util/json.c:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -71,36 +72,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ потрібний об’єм пам’ÑÑ‚Ñ–"
@@ -197,6 +198,15 @@ msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð´Ð¾ «%s» можливий Ð´Ð»Ñ Ð´Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ ко
msgid "%s is group writable"
msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð´Ð¾ «%s» може здійÑнювати будь-Ñкий кориÑтувач з групи"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ контейнер AppArmor"
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ профіль AppArmor на %s"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -231,95 +241,115 @@ msgstr "%s: помилковий режим доÑтупу до файла: 0%o"
msgid "unable to restore current working directory"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ поточний робочий каталог"
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "не вдалоÑÑ Ð²Ñтановити привілеї"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "не вдалоÑÑ Ð²Ñтановити привілеї щодо обмеженнÑ"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "невідомий ÐºÐ»Ð°Ñ Ð²Ñ…Ð¾Ð´Ñƒ %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "не вдалоÑÑ Ð²Ñтановити контекÑÑ‚ кориÑтувача"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "не вдалоÑÑ Ð²Ñтановити пріоритет процеÑу"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ root на %s"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ uid кориÑтувача, від імені Ñкого відбуваєтьÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ каталог на %s"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "починаючи з %s"
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "не вдалоÑÑ Ð²Ñтановити обробник Ð´Ð»Ñ Ñигналу %d"
+#: src/exec.c:391
+msgid "intercept mode is not supported with SELinux RBAC on this system"
+msgstr "у цій ÑиÑтемі з RBAC SELinux не передбачено підтримки режиму перехопленнÑ"
+
+#: src/exec.c:396
+msgid "unable to log sub-commands with SELinux RBAC on this system"
+msgstr "у цій ÑиÑтемі неможливо запиÑувати до журналу підкоманди з RBAC SELinux"
+
#: src/exec_common.c:56
msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT"
msgstr "не вдалоÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ PRIV_PROC_EXEC з PRIV_LIMIT"
-#: src/exec_intercept.c:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ подію до черги обробки"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ PolicyCheckRequest"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "у виконанні команди відмовлено згідно правил"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "помилка у додатку правил"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ PolicyCheckRequest"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "надто великий запит клієнта: %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ %s, розмір %zu"
+
+#: src/exec_intercept.c:665
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "неочікуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ type_case %d у %s від %s"
-#: src/exec_intercept.c:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "надто велике Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñервера: %zu"
@@ -333,73 +363,117 @@ msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· пари ÑÐ
msgid "unexpected reply type on backchannel: %d"
msgstr "неочікуваний тип відповіді на зворотному каналі: %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "не вдалоÑÑ Ð²Ñтановити tty Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "не вдалоÑÑ Ñтворити канал"
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ батьківÑького процеÑу"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "не вдалоÑÑ Ñтворити відгалуженнÑ"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ позначку tty"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ %s"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ ініціалізацію ÑеанÑу через додаток правил"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "не вдалоÑÑ Ñтворити Ñокети"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "помилка у циклі обробки подій"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "недоÑтатньо міÑÑ†Ñ Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² execve"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ обробник Ð´Ð»Ñ Ñигналу %d"
+msgid "unable to read execve %s for process %d"
+msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s execve Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу %d"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "не вдалоÑÑ Ð²Ñтановити регіÑтри Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу %d"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "Ð¿Ñ€Ð¾Ñ†ÐµÑ %d неочікувано завершив роботу"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "не вдалоÑÑ Ð²Ñтановити фільтр seccomp"
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr "невідповідніÑÑ‚ÑŒ шлÑхів: мало бути «%s», маємо «%s»"
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, c-format
+msgid "%s[%d] mismatch, expected \"%s\", got \"%s\""
+msgstr "невідповідніÑÑ‚ÑŒ %s[%d]: мало бути «%s», маємо «%s»"
+
+#: src/exec_ptrace.c:1013
+#, c-format
+msgid "unable to get event message for process %d"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð´Ñ–Ñ— Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу %d"
+
+#: src/exec_ptrace.c:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ регіÑтри Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу %d"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити pty"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "Помилка у додатку введеннÑ-виведеннÑ"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "відмова у Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ від додатка введеннÑ-виведеннÑ"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "помилка під Ñ‡Ð°Ñ Ð¿Ñ€Ð¸Ð·ÑƒÐ¿Ð¸Ð½ÐµÐ½Ð½Ñ Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "помилка під Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ розмірів вікна"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ обробник Ð´Ð»Ñ Ñигналу %d"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "не вдалоÑÑ Ð½Ð°Ð´Ñ–Ñлати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ процеÑу аудиту"
@@ -465,48 +539,48 @@ msgstr "до додатка правил %s не включено метод che
msgid "internal error, %s overflow"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ %s"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "некоректна назва змінної Ñередовища: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
msgid "the argument to -C must be a number greater than or equal to 3"
msgstr "аргументом параметра -C mмає бути чиÑло не менше за 3"
-#: src/parse_args.c:568
+#: src/parse_args.c:545
msgid "you may not specify both the -i and -s options"
msgstr "не можна одночаÑно вказувати параметри -i Ñ– -s"
-#: src/parse_args.c:573
+#: src/parse_args.c:550
msgid "you may not specify both the -i and -E options"
msgstr "не можна одночаÑно вказувати параметри -i Ñ– -E"
-#: src/parse_args.c:583
+#: src/parse_args.c:560
msgid "the -E option is not valid in edit mode"
msgstr "не можна викориÑтовувати -E у режимі редагуваннÑ"
-#: src/parse_args.c:586
+#: src/parse_args.c:563
msgid "you may not specify environment variables in edit mode"
msgstr "не можна вказувати змінні Ñередовища у режимі редагуваннÑ"
-#: src/parse_args.c:596
+#: src/parse_args.c:573
msgid "the -U option may only be used with the -l option"
msgstr "параметр -U можна викориÑтовувати лише разом з параметром -l"
-#: src/parse_args.c:600
+#: src/parse_args.c:577
msgid "the -A and -S options may not be used together"
msgstr "параметри -A Ñ– -S не можна викориÑтовувати одночаÑно"
-#: src/parse_args.c:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "підтримки sudoedit Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— платформи не передбачено"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Можна викориÑтовувати лише такі параметри: -e, -h, -i, -K, -l, -s, -v та -V"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -515,7 +589,7 @@ msgstr ""
"%s — редагувати файли від імені іншого кориÑтувача\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -524,7 +598,7 @@ msgstr ""
"%s — виконати команду від імені іншого кориÑтувача\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -532,131 +606,131 @@ msgstr ""
"\n"
"Параметри:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "викориÑтовувати допоміжну програму Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² щодо паролÑ"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "викориÑтовувати вказаний тип Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ð½Ð½Ñ BSD"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "виконати команду у фоновому режимі"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "звук дзвінка під Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "закрити вÑÑ– деÑкриптори файлів >= num"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "виконати команду з вказаним клаÑом доÑтупу BSD"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "змінити робочий каталог перед виконаннÑм команди"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "зберегти Ñередовище кориÑтувача на Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "зберегти вказані змінні Ñередовища"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "редагувати файли заміÑÑ‚ÑŒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "виконати команду від імені групи кориÑтувачів, вказаної за назвою або ідентифікатором"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "вÑтановити Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— HOME Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÑŒÐ¾Ð³Ð¾ каталогу вказаного кориÑтувача."
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "показати довідкове Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ– завершити роботу"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "виконати команду на комп’ютері (Ñкщо підтримуєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð¼)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "запуÑтити оболонку Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ñƒ до ÑиÑтеми від імені вказаного кориÑтувача; Ñлід вказати команду запуÑку"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "повніÑÑ‚ÑŽ вилучити файл чаÑової позначки"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "позбавити чинноÑÑ‚Ñ– файл чаÑової позначки"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "показати ÑпиÑок прав доÑтупу кориÑтувача або перевірити певну команду; Ð¿Ð¾Ð´Ð²Ð¾Ñ”Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° призводить до Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¸Ñ… даних"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "неінтерактивний режим, не проÑити кориÑтувача відповідати на питаннÑ"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "зберегти вектор групи, не вÑтановлювати вектор вказаного кориÑтувача"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "викориÑтовувати вказаний інÑтрумент Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ–Ð²"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "змінити кореневий каталог перед виконаннÑм команди"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "Ñтворити контекÑÑ‚ захиÑту SELinux з вказаною роллю"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "прочитати пароль зі Ñтандартного джерела вхідних даних"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "виконати командну оболонку від імені вказаного кориÑтувача; Ñлід також вказати команду"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "Ñтворити контекÑÑ‚ захиÑту SELinux вказаного типу"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "перервати Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ щойно буде перевищено вказане Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° чаÑом"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "у режимі ÑпиÑку, показати права доÑтупу кориÑтувача"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "виконати команду (або редагувати файл) від імені кориÑтувача, вказаного за іменем або ідентифікатором"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "показати дані щодо верÑÑ–Ñ— Ñ– завершити роботу"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "оновити штамп чаÑу кориÑтувача без Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "зупинити обробку аргументів командного Ñ€Ñдка"
@@ -870,115 +944,115 @@ msgstr "Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” у базі даних %s"
msgid "unable to determine tty"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ tty"
-#: src/sudo.c:908
+#: src/sudo.c:925
msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root."
msgstr "Ð’Ñтановлено прапорець «без нових привілеїв», Ñкий заборонÑÑ” запуÑк sudo від імені кориÑтувача root."
-#: src/sudo.c:910
+#: src/sudo.c:927
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:944
+#: src/sudo.c:961
#, c-format
msgid "%s must be owned by uid %d and have the setuid bit set"
msgstr "%s має належати кориÑтувачеві з uid %d, крім того, має бути вÑтановлено біт setuid"
-#: src/sudo.c:947
+#: src/sudo.c:964
#, 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:953
+#: src/sudo.c:970
#, c-format
msgid "effective uid is not %d, is sudo installed setuid root?"
msgstr "поточним uid не Ñ” %d, sudo вÑтановлено з ідентифікатором кориÑтувача root?"
-#: src/sudo.c:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "не вдалоÑÑ Ð²Ñтановити ідентифікатори додаткових груп"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, c-format
msgid "unable to set effective gid to runas gid %u"
msgstr "не вдалоÑÑ Ð²Ñтановити ефективний ідентифікатор групи Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð° групи запуÑку %u"
-#: src/sudo.c:982
+#: src/sudo.c:999
#, c-format
msgid "unable to set gid to runas gid %u"
msgstr "не вдалоÑÑ Ð²Ñтановити ідентифікатор групи Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð° групи запуÑку %u"
-#: src/sudo.c:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "неочікувана умова Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾ процеÑу: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ додаток правил"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, c-format
msgid "policy plugin %s is missing the \"check_policy\" method"
msgstr "до додатка правил %s не включено метод check_policy"
-#: src/sudo.c:1240
+#: src/sudo.c:1257
#, c-format
msgid "policy plugin %s does not support listing privileges"
msgstr "у додатку правил %s не передбачено підтримки побудови ÑпиÑку прав доÑтупу"
-#: src/sudo.c:1284
+#: src/sudo.c:1301
#, c-format
msgid "policy plugin %s does not support the -v option"
msgstr "у додатку правил %s не передбачено підтримки параметра -v"
-#: src/sudo.c:1322
+#: src/sudo.c:1339
#, c-format
msgid "policy plugin %s does not support the -k/-K options"
msgstr "у додатку правил %s не передбачено підтримки параметрів -k/-K"
-#: src/sudo.c:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби ініціалізації додатка введеннÑ/Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… %s"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби ініціалізації додатка введеннÑ/Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби ініціалізації додатка аудиту %s"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, c-format
msgid "%s: unable to log error event%s%s"
msgstr "%s: не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати до журналу подію помилки%s%s"
-#: src/sudo.c:1718
+#: src/sudo.c:1735
#, c-format
msgid "%s: unable to log accept event%s%s"
msgstr "%s: не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати до журналу подію прийнÑÑ‚Ñ‚Ñ%s%s"
-#: src/sudo.c:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
msgstr "помилка у додатку аудиту"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, c-format
msgid "%s: unable to log reject event%s%s"
msgstr "%s: не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати до журналу подію відмови%s%s"
-#: src/sudo.c:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби ініціалізації додатка Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ %s"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "у виконанні команди відмовлено заÑобом підтвердженнÑ"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "помилка у додатку підтвердженнÑ"
@@ -1058,17 +1132,17 @@ msgstr "у терміналі Ñлід прочитати пароль; або Ñ
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "не вказано програми askpass, Ñпробуйте вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— SUDO_ASKPASS"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "не вдалоÑÑ Ð²Ñтановити gid у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %u"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "не вдалоÑÑ Ð²Ñтановити uid у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %u"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ %s"
diff --git a/po/vi.mo b/po/vi.mo
index 74b5cdd8e..9c2a9e5b2 100644
--- a/po/vi.mo
+++ b/po/vi.mo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 2440bb3be..8e239234f 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.10b1\n"
+"Project-Id-Version: sudo 1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-12 09:31-0700\n"
-"PO-Revision-Date: 2022-02-14 09:06+0700\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-06-02 07:15+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\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-Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
+"X-Generator: Gtranslator 3.38.0\n"
#: lib/util/aix.c:89 lib/util/aix.c:169
msgid "unable to open userdb"
@@ -35,32 +35,33 @@ msgstr "không thể phục hồi sổ đăng ký"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76
#: lib/util/json.c:54 lib/util/json.c:183 lib/util/sudo_conf.c:218
#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:665
-#: src/conversation.c:80 src/exec_monitor.c:206 src/exec_monitor.c:456
-#: src/exec_monitor.c:462 src/exec_monitor.c:470 src/exec_monitor.c:478
-#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499
-#: src/exec_monitor.c:506 src/exec_monitor.c:513 src/exec_monitor.c:520
-#: src/exec_monitor.c:527 src/exec_nopty.c:219 src/exec_nopty.c:228
-#: src/exec_nopty.c:235 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:306 src/exec_nopty.c:503
-#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_pty.c:840
-#: src/exec_pty.c:849 src/exec_pty.c:906 src/exec_pty.c:1059
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
+#: src/conversation.c:80 src/exec_monitor.c:205 src/exec_monitor.c:458
+#: src/exec_monitor.c:464 src/exec_monitor.c:472 src/exec_monitor.c:480
+#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501
+#: src/exec_monitor.c:508 src/exec_monitor.c:515 src/exec_monitor.c:522
+#: src/exec_monitor.c:529 src/exec_nopty.c:224 src/exec_nopty.c:233
+#: 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:311 src/exec_nopty.c:549
+#: src/exec_preload.c:143 src/exec_preload.c:204 src/exec_ptrace.c:632
+#: src/exec_ptrace.c:730 src/exec_ptrace.c:895 src/exec_pty.c:845
+#: src/exec_pty.c:854 src/exec_pty.c:911 src/exec_pty.c:1075
+#: src/exec_pty.c:1265 src/exec_pty.c:1274 src/exec_pty.c:1281
+#: src/exec_pty.c:1288 src/exec_pty.c:1295 src/exec_pty.c:1302
+#: src/exec_pty.c:1309 src/exec_pty.c:1316 src/exec_pty.c:1323
+#: src/exec_pty.c:1330 src/exec_pty.c:1337 src/exec_pty.c:1345
+#: src/exec_pty.c:1811 src/load_plugins.c:156 src/load_plugins.c:181
#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:213 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
+#: src/parse_args.c:169 src/parse_args.c:190 src/parse_args.c:264
+#: src/parse_args.c:613 src/parse_args.c:635 src/parse_args.c:660
#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
+#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:485 src/sesh.c:113
#: src/sesh.c:146 src/sesh.c:152 src/sesh.c:159 src/sesh.c:165 src/sesh.c:410
-#: src/sudo.c:639 src/sudo.c:709 src/sudo.c:719 src/sudo.c:744 src/sudo.c:767
-#: src/sudo.c:776 src/sudo.c:785 src/sudo.c:802 src/sudo.c:844 src/sudo.c:854
-#: src/sudo.c:883 src/sudo.c:1083 src/sudo.c:1104 src/sudo.c:1397
-#: src/sudo.c:1566 src/sudo.c:1793 src/sudo.c:2127 src/sudo_edit.c:89
+#: src/sudo.c:639 src/sudo.c:712 src/sudo.c:722 src/sudo.c:748 src/sudo.c:771
+#: src/sudo.c:780 src/sudo.c:789 src/sudo.c:806 src/sudo.c:848 src/sudo.c:858
+#: src/sudo.c:891 src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414
+#: src/sudo.c:1583 src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89
#: src/sudo_edit.c:149 src/sudo_edit.c:429 src/sudo_edit.c:438
#: src/sudo_edit.c:539 src/sudo_edit.c:546 src/sudo_edit.c:677
#: src/sudo_edit.c:697 src/sudo_intercept_common.c:113
@@ -72,36 +73,36 @@ msgstr "%s: %s"
#: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:55
#: lib/util/json.c:184 lib/util/regex.c:113 lib/util/regex.c:121
#: lib/util/sudo_conf.c:219 lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381
-#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:100
-#: src/exec_intercept.c:330 src/exec_intercept.c:354 src/exec_intercept.c:377
-#: src/exec_intercept.c:385 src/exec_intercept.c:410 src/exec_intercept.c:416
-#: src/exec_intercept.c:425 src/exec_intercept.c:431 src/exec_intercept.c:565
-#: src/exec_intercept.c:706 src/exec_monitor.c:456 src/exec_monitor.c:462
-#: src/exec_monitor.c:470 src/exec_monitor.c:478 src/exec_monitor.c:485
-#: src/exec_monitor.c:492 src/exec_monitor.c:499 src/exec_monitor.c:506
-#: src/exec_monitor.c:513 src/exec_monitor.c:520 src/exec_monitor.c:527
-#: src/exec_nopty.c:219 src/exec_nopty.c:228 src/exec_nopty.c:235
-#: 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:306 src/exec_preload.c:143 src/exec_preload.c:204
-#: src/exec_pty.c:840 src/exec_pty.c:849 src/exec_pty.c:906
-#: src/exec_pty.c:1231 src/exec_pty.c:1240 src/exec_pty.c:1247
-#: src/exec_pty.c:1254 src/exec_pty.c:1261 src/exec_pty.c:1268
-#: src/exec_pty.c:1275 src/exec_pty.c:1282 src/exec_pty.c:1289
-#: src/exec_pty.c:1296 src/exec_pty.c:1303 src/exec_pty.c:1311
-#: src/exec_pty.c:1774 src/load_plugins.c:156 src/load_plugins.c:181
-#: src/load_plugins.c:217 src/load_plugins.c:449 src/load_plugins.c:455
-#: src/parse_args.c:192 src/parse_args.c:214 src/parse_args.c:287
-#: src/parse_args.c:632 src/parse_args.c:654 src/parse_args.c:679
-#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89
-#: src/selinux.c:362 src/selinux.c:474 src/selinux.c:483 src/sesh.c:113
-#: src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:883 src/sudo.c:1083
-#: src/sudo.c:1104 src/sudo.c:1397 src/sudo.c:1566 src/sudo.c:1793
-#: src/sudo.c:2127 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429
-#: src/sudo_edit.c:438 src/sudo_edit.c:539 src/sudo_edit.c:546
-#: src/sudo_edit.c:677 src/sudo_edit.c:697 src/sudo_intercept_common.c:113
-#: src/sudo_intercept_common.c:317
+#: lib/util/sudo_conf.c:665 src/conversation.c:81 src/exec_intercept.c:68
+#: src/exec_intercept.c:336 src/exec_intercept.c:359 src/exec_intercept.c:367
+#: src/exec_intercept.c:392 src/exec_intercept.c:398 src/exec_intercept.c:407
+#: src/exec_intercept.c:413 src/exec_intercept.c:478 src/exec_intercept.c:588
+#: src/exec_intercept.c:707 src/exec_monitor.c:458 src/exec_monitor.c:464
+#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
+#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
+#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
+#: src/exec_nopty.c:224 src/exec_nopty.c:233 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:311 src/exec_preload.c:143 src/exec_preload.c:204
+#: src/exec_ptrace.c:632 src/exec_pty.c:845 src/exec_pty.c:854
+#: src/exec_pty.c:911 src/exec_pty.c:1265 src/exec_pty.c:1274
+#: src/exec_pty.c:1281 src/exec_pty.c:1288 src/exec_pty.c:1295
+#: src/exec_pty.c:1302 src/exec_pty.c:1309 src/exec_pty.c:1316
+#: src/exec_pty.c:1323 src/exec_pty.c:1330 src/exec_pty.c:1337
+#: src/exec_pty.c:1345 src/exec_pty.c:1811 src/load_plugins.c:156
+#: src/load_plugins.c:181 src/load_plugins.c:217 src/load_plugins.c:449
+#: src/load_plugins.c:455 src/parse_args.c:169 src/parse_args.c:191
+#: src/parse_args.c:264 src/parse_args.c:613 src/parse_args.c:635
+#: src/parse_args.c:660 src/preserve_fds.c:46 src/preserve_fds.c:131
+#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:474 src/selinux.c:485
+#: src/sesh.c:113 src/sesh.c:411 src/sudo.c:230 src/sudo.c:639 src/sudo.c:891
+#: src/sudo.c:1100 src/sudo.c:1121 src/sudo.c:1414 src/sudo.c:1583
+#: src/sudo.c:1810 src/sudo.c:2144 src/sudo_edit.c:89 src/sudo_edit.c:149
+#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:539
+#: src/sudo_edit.c:546 src/sudo_edit.c:677 src/sudo_edit.c:697
+#: src/sudo_intercept_common.c:113 src/sudo_intercept_common.c:317
msgid "unable to allocate memory"
msgstr "không thể cấp phát bộ nhớ"
@@ -198,6 +199,15 @@ msgstr "%s là ai ghi cũng được"
msgid "%s is group writable"
msgstr "%s là nhóm có thể ghi"
+#: src/apparmor.c:79
+msgid "failed to determine AppArmor confinement"
+msgstr "gặp lỗi khi xác định hạn chế AppArmor"
+
+#: src/apparmor.c:87
+#, c-format
+msgid "unable to change AppArmor profile to %s"
+msgstr "không thể thay đổi hồ sơ AppArmor thành %s"
+
#: src/copy_file.c:93
#, c-format
msgid "%s: truncate %s to zero bytes? (y/n) [n] "
@@ -232,95 +242,115 @@ msgstr "%s: sai chế độ tập tin: 0%o"
msgid "unable to restore current working directory"
msgstr "không thể phục hồi thư mục làm việc hiện tại"
-#: src/exec.c:130
+#: src/exec.c:103
+msgid "unable to set privileges"
+msgstr "không thể đặt đặc quyá»n"
+
+#: src/exec.c:109 src/exec.c:114
+msgid "unable to set limit privileges"
+msgstr "không thể đặt giá»›i hạn đặc quyá»n"
+
+#: src/exec.c:137
#, c-format
msgid "unknown login class %s"
msgstr "không hiểu lớp đăng nhập %s"
-#: src/exec.c:142
+#: src/exec.c:149
msgid "unable to set user context"
msgstr "không thể đặt ngữ cảnh ngÆ°á»i dùng"
-#: src/exec.c:158
+#: src/exec.c:165
msgid "unable to set process priority"
msgstr "không thể đặt ưu tiên cho quá trình"
-#: src/exec.c:175
+#: src/exec.c:182
#, c-format
msgid "unable to change root to %s"
msgstr "không thể chuyển đổi thư mục gốc thành %s"
-#: src/exec.c:188 src/exec.c:194 src/exec.c:201
+#: src/exec.c:195 src/exec.c:201 src/exec.c:208
#, c-format
msgid "unable to change to runas uid (%u, %u)"
msgstr "không thể thay đổi thành chạy nhÆ° là mã ngÆ°á»i dùng này (%u, %u)"
-#: src/exec.c:219
+#: src/exec.c:226
#, c-format
msgid "unable to change directory to %s"
msgstr "không thể thay đổi thư mục thành %s"
-#: src/exec.c:223
+#: src/exec.c:230
#, c-format
msgid "starting from %s"
msgstr "đang bắt đầu từ %s"
-#: src/exec.c:305 src/exec_monitor.c:565 src/exec_monitor.c:567
-#: src/exec_nopty.c:561 src/exec_pty.c:581 src/exec_pty.c:1411
-#: src/exec_pty.c:1413 src/signal.c:144 src/signal.c:151 src/signal.c:165
+#: src/exec.c:312 src/exec_monitor.c:575 src/exec_monitor.c:577
+#: src/exec_monitor.c:648 src/exec_nopty.c:439 src/exec_pty.c:586
+#: src/exec_pty.c:1447 src/exec_pty.c:1449 src/signal.c:144 src/signal.c:151
+#: src/signal.c:165 src/suspend_nopty.c:89
#, c-format
msgid "unable to set handler for signal %d"
msgstr "không thể đặt bộ tiếp hợp cho tín hiệu %d"
+#: src/exec.c:391
+msgid "intercept mode is not supported with SELinux RBAC on this system"
+msgstr "chế độ chặn không được hỗ trợ với SELinux RBAC trên hệ thống này"
+
+#: src/exec.c:396
+msgid "unable to log sub-commands with SELinux RBAC on this system"
+msgstr "không thể ghi nhật ký lệnh con với SELinux RBAC trên hệ thống này"
+
#: src/exec_common.c:56
msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT"
msgstr "không thể xóa bỠPRIV_PROC_EXEC từ PRIV_LIMIT"
-#: src/exec_intercept.c:112 src/exec_intercept.c:116 src/exec_intercept.c:667
-#: src/exec_intercept.c:671 src/exec_intercept.c:857 src/exec_intercept.c:861
-#: src/exec_intercept.c:872 src/exec_intercept.c:876 src/exec_monitor.c:464
-#: src/exec_monitor.c:472 src/exec_monitor.c:480 src/exec_monitor.c:487
-#: src/exec_monitor.c:494 src/exec_monitor.c:501 src/exec_monitor.c:508
-#: src/exec_monitor.c:515 src/exec_monitor.c:522 src/exec_monitor.c:529
-#: src/exec_nopty.c:221 src/exec_nopty.c:230 src/exec_nopty.c:237
-#: src/exec_nopty.c:244 src/exec_nopty.c:251 src/exec_nopty.c:258
-#: src/exec_nopty.c:265 src/exec_nopty.c:272 src/exec_nopty.c:279
-#: src/exec_nopty.c:286 src/exec_nopty.c:293 src/exec_nopty.c:300
-#: src/exec_nopty.c:308 src/exec_pty.c:706 src/exec_pty.c:711
-#: src/exec_pty.c:808 src/exec_pty.c:815 src/exec_pty.c:912
-#: src/exec_pty.c:1233 src/exec_pty.c:1242 src/exec_pty.c:1249
-#: src/exec_pty.c:1256 src/exec_pty.c:1263 src/exec_pty.c:1270
-#: src/exec_pty.c:1277 src/exec_pty.c:1284 src/exec_pty.c:1291
-#: src/exec_pty.c:1298 src/exec_pty.c:1305 src/exec_pty.c:1727
-#: src/exec_pty.c:1737 src/exec_pty.c:1782 src/exec_pty.c:1789
-#: src/exec_pty.c:1816
+#: src/exec_intercept.c:95 src/exec_intercept.c:674 src/exec_intercept.c:864
+#: src/exec_intercept.c:876 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:226
+#: src/exec_nopty.c:235 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:313
+#: src/exec_pty.c:711 src/exec_pty.c:716 src/exec_pty.c:813 src/exec_pty.c:820
+#: src/exec_pty.c:917 src/exec_pty.c:1267 src/exec_pty.c:1276
+#: src/exec_pty.c:1283 src/exec_pty.c:1290 src/exec_pty.c:1297
+#: src/exec_pty.c:1304 src/exec_pty.c:1311 src/exec_pty.c:1318
+#: src/exec_pty.c:1325 src/exec_pty.c:1332 src/exec_pty.c:1339
+#: src/exec_pty.c:1764 src/exec_pty.c:1774 src/exec_pty.c:1819
+#: src/exec_pty.c:1826 src/exec_pty.c:1853
msgid "unable to add event to queue"
msgstr "không thể thêm sự kiện vào hàng đợi"
-#: src/exec_intercept.c:314
-msgid "invalid PolicyCheckRequest"
-msgstr "PolicyCheckRequest không hợp lệ"
-
-#: src/exec_intercept.c:362 src/sudo.c:1209 src/sudo.c:1254 src/sudo.c:1298
+#: src/exec_intercept.c:344 src/sudo.c:1226 src/sudo.c:1271 src/sudo.c:1315
msgid "command rejected by policy"
msgstr "lệnh bị từ chối do chính sách"
-#: src/exec_intercept.c:455 src/sudo.c:1214 src/sudo.c:1259 src/sudo.c:1303
-#: src/sudo.c:1377
+#: src/exec_intercept.c:437 src/sudo.c:1231 src/sudo.c:1276 src/sudo.c:1320
+#: src/sudo.c:1394
msgid "policy plugin error"
msgstr "lỗi trình cắm chính sách"
-#: src/exec_intercept.c:561
+#: src/exec_intercept.c:462
+msgid "invalid PolicyCheckRequest"
+msgstr "PolicyCheckRequest không hợp lệ"
+
+#: src/exec_intercept.c:584
#, c-format
msgid "client request too large: %zu"
msgstr "yêu cầu từ máy khách là quá lớn: %zu"
-#: src/exec_intercept.c:659
+#: src/exec_intercept.c:622
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "không thể giải nén %s kích cỡ %zu"
+
+#: src/exec_intercept.c:665
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "gặp giá trị type_case không cần %d trong %s từ %s"
-#: src/exec_intercept.c:694
+#: src/exec_intercept.c:695
#, c-format
msgid "server message too large: %zu"
msgstr "thông điệp từ máy chủ là quá lớn: %zu"
@@ -334,73 +364,117 @@ msgstr "gặp lá»—i khi Ä‘á»c từ socketpair"
msgid "unexpected reply type on backchannel: %d"
msgstr "kiểu trả vỠkhông như mong đợi từ backchannel: %d"
-#: src/exec_monitor.c:583
+#: src/exec_monitor.c:593
msgid "unable to set controlling tty"
msgstr "không thể đặt Ä‘iá»u khiển cho tty"
-#: src/exec_monitor.c:591 src/exec_nopty.c:369 src/exec_pty.c:1490
-#: src/exec_pty.c:1511 src/exec_pty.c:1531 src/tgetpass.c:307
+#: src/exec_monitor.c:601 src/exec_nopty.c:382 src/exec_pty.c:1526
+#: src/exec_pty.c:1547 src/exec_pty.c:1567 src/tgetpass.c:305
msgid "unable to create pipe"
msgstr "không tạo được Ä‘Æ°á»ng ống pipe"
-#: src/exec_monitor.c:601
+#: src/exec_monitor.c:611
msgid "unable to receive message from parent"
msgstr "không thể nhận tin nhắn từ cha mẹ"
-#: src/exec_monitor.c:617 src/exec_nopty.c:407 src/exec_pty.c:1569
-#: src/sudo_edit.c:361 src/tgetpass.c:311
+#: src/exec_monitor.c:627 src/exec_nopty.c:422 src/exec_pty.c:1605
+#: src/sudo_edit.c:361 src/tgetpass.c:309
msgid "unable to fork"
msgstr "không thể tạo tiến trình con"
-#: src/exec_monitor.c:621 src/exec_monitor.c:722 src/exec_nopty.c:471
+#: src/exec_monitor.c:631 src/exec_monitor.c:749 src/exec_nopty.c:518
msgid "unable to restore tty label"
msgstr "không thể phục hồi nhãn cho tty"
-#: src/exec_monitor.c:637 src/sesh.c:123 src/sudo.c:1160
+#: src/exec_monitor.c:664 src/sesh.c:123 src/sudo.c:1177
#, c-format
msgid "unable to execute %s"
msgstr "không thể thực thi %s"
-#: src/exec_nopty.c:363 src/exec_pty.c:1420
+#: src/exec_nopty.c:376 src/exec_pty.c:1456
msgid "policy plugin failed session initialization"
msgstr "phần bổ sung chính sách gặp lỗi khi khởi tạo phiên"
-#: src/exec_nopty.c:377 src/exec_pty.c:1391 src/exec_pty.c:1399
+#: src/exec_nopty.c:391 src/exec_pty.c:1425 src/exec_pty.c:1434
msgid "unable to create sockets"
msgstr "không thể tạo các ổ cắm mạng"
-#: src/exec_nopty.c:459 src/exec_pty.c:1666
+#: src/exec_nopty.c:506 src/exec_pty.c:1703
msgid "error in event loop"
msgstr "có lỗi trong vòng lặp sự kiện"
-#: src/exec_nopty.c:569 src/exec_pty.c:619 src/signal.c:101
+#: src/exec_ptrace.c:647
+msgid "insufficient space for execve arguments"
+msgstr "không gian thiếu cho các tham số execve"
+
+#: src/exec_ptrace.c:658 src/exec_ptrace.c:668 src/exec_ptrace.c:678
#, c-format
-msgid "unable to restore handler for signal %d"
-msgstr "không thể phục hồi bộ tiếp hợp cho tín hiệu %d"
+msgid "unable to read execve %s for process %d"
+msgstr "không thể Ä‘á»c execve %s cho tiến trình %d"
+
+#: src/exec_ptrace.c:714 src/exec_ptrace.c:739 src/exec_ptrace.c:1194
+#, c-format
+msgid "unable to set registers for process %d"
+msgstr "không thể đặt đăng ký cho tiến trình %d"
-#: src/exec_pty.c:158
+#: src/exec_ptrace.c:734 src/exec_ptrace.c:899
+#, c-format
+msgid "process %d exited unexpectedly"
+msgstr "tiến trình %d đã thoát bất thÆ°á»ng"
+
+#: src/exec_ptrace.c:843
+msgid "unable to set seccomp filter"
+msgstr "không thể đặt bá»™ lá»c seccomp"
+
+#: src/exec_ptrace.c:934
+#, c-format
+msgid "pathname mismatch, expected \"%s\", got \"%s\""
+msgstr "tên Ä‘Æ°á»ng dẫn không khá»›p, cần \"%s\", nhÆ°ng lại nhận được \"%s\""
+
+#: src/exec_ptrace.c:942 src/exec_ptrace.c:948 src/exec_ptrace.c:954
+#: src/exec_ptrace.c:962 src/exec_ptrace.c:968 src/exec_ptrace.c:974
+#, c-format
+msgid "%s[%d] mismatch, expected \"%s\", got \"%s\""
+msgstr "%s[%d] không khớp, cần \"%s\", nhưng lại nhận được \"%s\""
+
+#: src/exec_ptrace.c:1013
+#, c-format
+msgid "unable to get event message for process %d"
+msgstr "không thể lấy tin nhắn sự kiện cho tiến trình %d"
+
+#: src/exec_ptrace.c:1019
+#, c-format
+msgid "unable to get registers for process %d"
+msgstr "không thể lấy đăng ký cho tiến trình %d"
+
+#: src/exec_pty.c:163
msgid "unable to allocate pty"
msgstr "không thể phân bổ pty"
-#: src/exec_pty.c:222 src/exec_pty.c:262 src/exec_pty.c:302 src/exec_pty.c:353
-#: src/exec_pty.c:404
+#: src/exec_pty.c:227 src/exec_pty.c:267 src/exec_pty.c:307 src/exec_pty.c:358
+#: src/exec_pty.c:409
msgid "I/O plugin error"
msgstr "Lỗi trình cắm V/R"
-#: src/exec_pty.c:226 src/exec_pty.c:266 src/exec_pty.c:306 src/exec_pty.c:357
-#: src/exec_pty.c:408
+#: src/exec_pty.c:231 src/exec_pty.c:271 src/exec_pty.c:311 src/exec_pty.c:362
+#: src/exec_pty.c:413
msgid "command rejected by I/O plugin"
msgstr "lệnh bị từ chối bởi trình cắm V/R"
-#: src/exec_pty.c:455
+#: src/exec_pty.c:460
msgid "error logging suspend"
msgstr "lỗi cấm ghi nhật ký"
-#: src/exec_pty.c:489
+#: src/exec_pty.c:494
msgid "error changing window size"
msgstr "gặp lỗi khi thay đổi cỡ của cửa sổ"
-#: src/exec_pty.c:1615
+#: src/exec_pty.c:624 src/signal.c:101 src/suspend_nopty.c:95
+#, c-format
+msgid "unable to restore handler for signal %d"
+msgstr "không thể phục hồi bộ tiếp hợp cho tín hiệu %d"
+
+#: src/exec_pty.c:1651
msgid "unable to send message to monitor process"
msgstr "không thể gửi tin đến tiến trình theo dõi"
@@ -466,48 +540,48 @@ msgstr "phần bổ sung chính sách %s không bao gồm phương thức kiểm
msgid "internal error, %s overflow"
msgstr "lỗi nội bộ, %s bị tràn"
-#: src/parse_args.c:234
+#: src/parse_args.c:211
#, c-format
msgid "invalid environment variable name: %s"
msgstr "tên biến môi trÆ°á»ng không hợp lệ: %s"
-#: src/parse_args.c:337
+#: src/parse_args.c:314
msgid "the argument to -C must be a number greater than or equal to 3"
msgstr "đối số cho -C phải là một số lớn hơn hoặc bằng 3"
-#: src/parse_args.c:568
+#: src/parse_args.c:545
msgid "you may not specify both the -i and -s options"
msgstr "bạn không nên chỉ định đồng thá»i cả hai tùy chá»n “-i†và “-sâ€"
-#: src/parse_args.c:573
+#: src/parse_args.c:550
msgid "you may not specify both the -i and -E options"
msgstr "bạn không nên chỉ định cả hai tùy chá»n “-i†và “-Eâ€"
-#: src/parse_args.c:583
+#: src/parse_args.c:560
msgid "the -E option is not valid in edit mode"
msgstr "tùy chá»n “-E†không hợp lệ trong chế Ä‘á»™ chỉnh sá»­a"
-#: src/parse_args.c:586
+#: src/parse_args.c:563
msgid "you may not specify environment variables in edit mode"
msgstr "bạn có lẽ không được chỉ định biến môi trÆ°á»ng trong chế Ä‘á»™ soạn thảo"
-#: src/parse_args.c:596
+#: src/parse_args.c:573
msgid "the -U option may only be used with the -l option"
msgstr "tùy chá»n “-U†chỉ nên sá»­ dụng cùng vá»›i tùy chá»n “-lâ€"
-#: src/parse_args.c:600
+#: src/parse_args.c:577
msgid "the -A and -S options may not be used together"
msgstr "tùy chá»n “-A†và “-S†không nên dùng cùng má»™t lúc vá»›i nhau"
-#: src/parse_args.c:693
+#: src/parse_args.c:674
msgid "sudoedit is not supported on this platform"
msgstr "sudoedit không được há»— trợ trên ná»n tảng này"
-#: src/parse_args.c:776
+#: src/parse_args.c:757
msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified"
msgstr "Chỉ được phép chỉ định má»™t trong số các tùy chá»n -e, -h, -i, -K, -l, -s, -v hay -V"
-#: src/parse_args.c:792
+#: src/parse_args.c:773
#, c-format
msgid ""
"%s - edit files as another user\n"
@@ -516,7 +590,7 @@ msgstr ""
"%s - sá»­a chữa các tập tin trên danh nghÄ©a ngÆ°á»i dùng khác\n"
"\n"
-#: src/parse_args.c:794
+#: src/parse_args.c:775
#, c-format
msgid ""
"%s - execute a command as another user\n"
@@ -525,7 +599,7 @@ msgstr ""
"%s - thá»±c hiện câu lệnh trên danh nghÄ©a ngÆ°á»i dùng khác\n"
"\n"
-#: src/parse_args.c:800
+#: src/parse_args.c:781
msgid ""
"\n"
"Options:\n"
@@ -533,131 +607,131 @@ msgstr ""
"\n"
"Tùy chá»n:\n"
-#: src/parse_args.c:802
+#: src/parse_args.c:783
msgid "use a helper program for password prompting"
msgstr "sá»­ dụng chÆ°Æ¡ng trình trợ giúp cho há»i đáp mật khẩu"
-#: src/parse_args.c:805
+#: src/parse_args.c:786
msgid "use specified BSD authentication type"
msgstr "sử dụng kiểu xác thực BSD được chỉ ra"
-#: src/parse_args.c:809
+#: src/parse_args.c:790
msgid "run command in the background"
msgstr "chạy lệnh ở chế Ä‘á»™ ná»n"
-#: src/parse_args.c:812
+#: src/parse_args.c:793
msgid "ring bell when prompting"
msgstr "reo chuông khi nhắc"
-#: src/parse_args.c:814
+#: src/parse_args.c:795
msgid "close all file descriptors >= num"
msgstr "đóng tất cả các mô tả của tập tin >= số"
-#: src/parse_args.c:817
+#: src/parse_args.c:798
msgid "run command with the specified BSD login class"
msgstr "chạy lệnh với một lớp đăng nhập BSD được chỉ ra"
-#: src/parse_args.c:820
+#: src/parse_args.c:801
msgid "change the working directory before running command"
msgstr "thay đổi thư mục làm việc trước khi chạy lệnh"
-#: src/parse_args.c:823
+#: src/parse_args.c:804
msgid "preserve user environment when running command"
msgstr "bảo tồn môi trÆ°á»ng ngÆ°á»i dùng khi thi hành lệnh"
-#: src/parse_args.c:825
+#: src/parse_args.c:806
msgid "preserve specific environment variables"
msgstr "bảo tôn các biến môi trÆ°á»ng chuyên biệt"
-#: src/parse_args.c:827
+#: src/parse_args.c:808
msgid "edit files instead of running a command"
msgstr "chỉnh sửa các tập tin thay vì chạy lệnh"
-#: src/parse_args.c:830
+#: src/parse_args.c:811
msgid "run command as the specified group name or ID"
msgstr "thực hiện câu lệnh với tư cách là tên hay ID của nhóm được chỉ định"
-#: src/parse_args.c:833
+#: src/parse_args.c:814
msgid "set HOME variable to target user's home dir"
msgstr "đặt biến HOME cho thÆ° mục riêng của ngÆ°á»i dùng đích"
-#: src/parse_args.c:836
+#: src/parse_args.c:817
msgid "display help message and exit"
msgstr "hiển thị trợ giúp này rồi thoát"
-#: src/parse_args.c:838
+#: src/parse_args.c:819
msgid "run command on host (if supported by plugin)"
msgstr "chạy câu lệnh trên máy chủ (nếu được hỗ trợ bởi phần bổ sung)"
-#: src/parse_args.c:841
+#: src/parse_args.c:822
msgid "run login shell as the target user; a command may also be specified"
msgstr "chạy shell đăng nhập nhÆ° là ngÆ°á»i dùng đích; có thể đồng thá»i chỉ định má»™t câu lệnh"
-#: src/parse_args.c:843
+#: src/parse_args.c:824
msgid "remove timestamp file completely"
msgstr "gỡ bá» hoàn toàn dấu vết thá»i gian của tập tin"
-#: src/parse_args.c:846
+#: src/parse_args.c:827
msgid "invalidate timestamp file"
msgstr "làm mất hiệu lá»±c dấu vết thá»i gian (timestamp) của tập tin"
-#: src/parse_args.c:849
+#: src/parse_args.c:830
msgid "list user's privileges or check a specific command; use twice for longer format"
msgstr "liệt kê đặc quyá»n của ngÆ°á»i dùng hay kiểm tra câu lệnh xác định; dùng hai lần cho định dạng dài"
-#: src/parse_args.c:852
+#: src/parse_args.c:833
msgid "non-interactive mode, no prompts are used"
msgstr "chế Ä‘á»™ không-tÆ°Æ¡ng-tác, sẽ không há»i tên ngÆ°á»i dùng"
-#: src/parse_args.c:855
+#: src/parse_args.c:836
msgid "preserve group vector instead of setting to target's"
msgstr "bảo tồn véc-tơ nhóm thay vì các cài đặt cho đích"
-#: src/parse_args.c:858
+#: src/parse_args.c:839
msgid "use the specified password prompt"
msgstr "sử dụng nhắc nhập mật khẩu đã chỉ ra"
-#: src/parse_args.c:860
+#: src/parse_args.c:841
msgid "change the root directory before running command"
msgstr "thay đổi thư mục gốc trước khi chạy lệnh"
-#: src/parse_args.c:863
+#: src/parse_args.c:844
msgid "create SELinux security context with specified role"
msgstr "tạo ngữ cảnh an ninh SELinux với vai trò đã chỉ ra"
-#: src/parse_args.c:866
+#: src/parse_args.c:847
msgid "read password from standard input"
msgstr "Ä‘á»c mật khẩu từ đầu vào tiêu chuẩn"
-#: src/parse_args.c:869
+#: src/parse_args.c:850
msgid "run shell as the target user; a command may also be specified"
msgstr "chạy hệ vá» dÆ°á»›i danh nghÄ©a ngÆ°á»i dùng đích; cÅ©ng có thể chỉ định thêm câu lệnh"
-#: src/parse_args.c:873
+#: src/parse_args.c:854
msgid "create SELinux security context with specified type"
msgstr "tạo ngữ cảnh an ninh SELinux với kiểu đã chỉ ra"
-#: src/parse_args.c:876
+#: src/parse_args.c:857
msgid "terminate command after the specified time limit"
msgstr "chấm dứt lệnh sau má»™t thá»i hạn giá»›i hạn được chỉ định"
-#: src/parse_args.c:879
+#: src/parse_args.c:860
msgid "in list mode, display privileges for user"
msgstr "ở chế Ä‘á»™ liệt kê, hiển thị đặc quyá»n cho ngÆ°á»i dùng"
-#: src/parse_args.c:882
+#: src/parse_args.c:863
msgid "run command (or edit file) as specified user name or ID"
msgstr "chạy lệnh (hay sá»­a chữa tập tin) trên tÆ° cách của ngÆ°á»i dùng hay ID đã chỉ ra"
-#: src/parse_args.c:884
+#: src/parse_args.c:865
msgid "display version information and exit"
msgstr "hiển thị thông tin phiên bản rồi thoát"
-#: src/parse_args.c:887
+#: src/parse_args.c:868
msgid "update user's timestamp without running a command"
msgstr "cập nhật dấu vết thá»i gian (timestamp) của ngÆ°á»i dùng mà không chạy má»™t lệnh"
-#: src/parse_args.c:890
+#: src/parse_args.c:871
msgid "stop processing command line arguments"
msgstr "dừng việc xử lý đối số dòng lệnh"
@@ -871,115 +945,115 @@ msgstr "bạn không tồn tại trong cơ sở dữ liệu %s"
msgid "unable to determine tty"
msgstr "không thể dò tìm tty"
-#: src/sudo.c:908
+#: src/sudo.c:925
msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root."
msgstr "ChÆ°a đặt cá» \"đặc quyá»n má»›i\" nào, việc này sẽ ngăn cản sudo chạy vá»›i tÆ° cách root."
-#: src/sudo.c:910
+#: src/sudo.c:927
msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag."
msgstr "Nếu sudo được chạy trong má»™t container, bạn có lẽ cần chỉnh cấu hình container để tắt cá»."
-#: src/sudo.c:944
+#: src/sudo.c:961
#, c-format
msgid "%s must be owned by uid %d and have the setuid bit set"
msgstr "%s phải được sở hữu bởi uid %d và bít setuid phải được đặt"
-#: src/sudo.c:947
+#: src/sudo.c:964
#, 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 chịu tác Ä‘á»™ng hiện tại không phải là %d, có phải là %s trên hệ thống tập tin vá»›i tùy chá»n “nosuid†được đặt, hay má»™t hệ thống tập tin NFS không có đặc quyá»n của root không?"
-#: src/sudo.c:953
+#: src/sudo.c:970
#, c-format
msgid "effective uid is not %d, is sudo installed setuid root?"
msgstr "uid chịu tác động hiện tại không phải là %d, chương trình sudo có được cài với setuid root không?"
-#: src/sudo.c:969 src/tgetpass.c:333
+#: src/sudo.c:986 src/tgetpass.c:331
msgid "unable to set supplementary group IDs"
msgstr "không thể đặt nhóm phụ IDs"
-#: src/sudo.c:976
+#: src/sudo.c:993
#, c-format
msgid "unable to set effective gid to runas gid %u"
msgstr "không thể đặt hiệu ứng gid chạy như là gid %u"
-#: src/sudo.c:982
+#: src/sudo.c:999
#, c-format
msgid "unable to set gid to runas gid %u"
msgstr "không thể thay đổi gid thành runas gid %u"
-#: src/sudo.c:1025
+#: src/sudo.c:1042
#, c-format
msgid "unexpected child termination condition: %d"
msgstr "biểu thức Ä‘iá»u kiện con kết thúc không nhÆ° mong đợi: %d"
-#: src/sudo.c:1132
+#: src/sudo.c:1149
msgid "unable to initialize policy plugin"
msgstr "không thể khởi tạo phần bổ sung chính sách"
-#: src/sudo.c:1194
+#: src/sudo.c:1211
#, c-format
msgid "policy plugin %s is missing the \"check_policy\" method"
msgstr "phần bổ sung chính sách %s bị thiếu phÆ°Æ¡ng thức kiểm tra chính sách “check_policyâ€"
-#: src/sudo.c:1240
+#: src/sudo.c:1257
#, c-format
msgid "policy plugin %s does not support listing privileges"
msgstr "phần bổ sung chính sách %s không há»— trợ liệt kê đặc quyá»n"
-#: src/sudo.c:1284
+#: src/sudo.c:1301
#, c-format
msgid "policy plugin %s does not support the -v option"
msgstr "phần bổ sung chính sách %s không há»— trợ tùy chá»n -v"
-#: src/sudo.c:1322
+#: src/sudo.c:1339
#, c-format
msgid "policy plugin %s does not support the -k/-K options"
msgstr "phần bổ sung chính sách %s không há»— trợ tùy chá»n -k/-K"
-#: src/sudo.c:1451
+#: src/sudo.c:1468
#, c-format
msgid "error initializing I/O plugin %s"
msgstr "gặp lỗi khi khởi tạo phần bổ sung I/O %s"
-#: src/sudo.c:1454
+#: src/sudo.c:1471
msgid "error initializing I/O plugin"
msgstr "gặp lỗi khi khởi tạo phần bổ sung V/R"
-#: src/sudo.c:1603
+#: src/sudo.c:1620
#, c-format
msgid "error initializing audit plugin %s"
msgstr "gặp lỗi khi khởi tạo phần bổ sung audit %s"
-#: src/sudo.c:1682
+#: src/sudo.c:1699
#, c-format
msgid "%s: unable to log error event%s%s"
msgstr "%s: không thể ghi nhật ký sự kiện lỗi%s%s"
-#: src/sudo.c:1718
+#: src/sudo.c:1735
#, c-format
msgid "%s: unable to log accept event%s%s"
msgstr "%s: không thể ghi nhật ký sự kiện chấp thuận%s%s"
-#: src/sudo.c:1723 src/sudo.c:1761
+#: src/sudo.c:1740 src/sudo.c:1778
msgid "audit plugin error"
-msgstr "lõi trình cắm audit"
+msgstr "lỗi trình cắm audit"
-#: src/sudo.c:1756
+#: src/sudo.c:1773
#, c-format
msgid "%s: unable to log reject event%s%s"
msgstr "%s: không thể ghi nhật ký sự kiện từ chối%s%s"
-#: src/sudo.c:1816
+#: src/sudo.c:1833
#, c-format
msgid "error initializing approval plugin %s"
msgstr "gặp lỗi khi khởi tạo phần bổ sung chấp thuận %s"
-#: src/sudo.c:1886
+#: src/sudo.c:1903
msgid "command rejected by approver"
msgstr "lệnh bị từ chối do bộ chấp thuận"
-#: src/sudo.c:1896
+#: src/sudo.c:1913
msgid "approval plugin error"
msgstr "lỗi trình cắm chấp thuận"
@@ -1059,17 +1133,17 @@ msgstr "má»™t thiết bị đầu cuối là cần thiết để Ä‘á»c mật kh
msgid "no askpass program specified, try setting SUDO_ASKPASS"
msgstr "không có chÆ°Æ¡ng trình há»i mật khẩu nào được chỉ ra, hãy thá»­ đặt SUDO_ASKPASS"
-#: src/tgetpass.c:328
+#: src/tgetpass.c:326
#, c-format
msgid "unable to set gid to %u"
msgstr "không thể đặt mã số nhóm thành %u"
-#: src/tgetpass.c:338
+#: src/tgetpass.c:336
#, c-format
msgid "unable to set uid to %u"
msgstr "không thể đặt mã số ngÆ°á»i dùng thành %u"
-#: src/tgetpass.c:343
+#: src/tgetpass.c:341
#, c-format
msgid "unable to run %s"
msgstr "không thể chạy %s"
diff --git a/scripts/ltmain.sh b/scripts/ltmain.sh
index 960278152..a7e63a5cd 100644
--- a/scripts/ltmain.sh
+++ b/scripts/ltmain.sh
@@ -1,12 +1,12 @@
-#! /bin/sh
+#! /usr/bin/env sh
## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
-## by inline-source v2014-01-03.01
+## by inline-source v2019-02-19.15
-# libtool (GNU libtool) 2.4.6
+# libtool (GNU libtool) 2.4.7
# Provide generalized library-building support services.
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -31,8 +31,8 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION=2.4.6
-package_revision=2.4.6
+VERSION=2.4.7
+package_revision=2.4.7
## ------ ##
@@ -64,34 +64,25 @@ package_revision=2.4.6
# libraries, which are installed to $pkgauxdir.
# Set a version string for this script.
-scriptversion=2015-01-20.17; # UTC
+scriptversion=2019-02-19.15; # UTC
# General shell script boiler plate, and helper functions.
# Written by Gary V. Vaughan, 2004
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-
-# As a special exception to the GNU General Public License, if you distribute
-# this file as part of a program or library that is built using GNU Libtool,
-# you may include this file under the same distribution terms that you use
-# for the rest of that program.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# This is free software. There is NO warranty; not even for
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (C) 2004-2019, 2021 Bootstrap Authors
+#
+# This file is dual licensed under the terms of the MIT license
+# <https://opensource.org/license/MIT>, and GPL version 2 or later
+# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
+# these licenses when using or redistributing this software or any of
+# the files within it. See the URLs above, or the file `LICENSE`
+# included in the Bootstrap distribution for the full license texts.
-# Please report bugs or propose patches to gary@gnu.org.
+# Please report bugs or propose patches to:
+# <https://github.com/gnulib-modules/bootstrap/issues>
## ------ ##
@@ -139,9 +130,12 @@ do
_G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
fi"
done
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# These NLS vars are set unconditionally (bootstrap issue #24). Unset those
+# in case the environment reset is needed later and the $save_* variant is not
+# defined (see the code above).
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
# Make sure IFS has a sensible default
sp=' '
@@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then
fi
+# func_unset VAR
+# --------------
+# Portably unset VAR.
+# In some shells, an 'unset VAR' statement leaves a non-zero return
+# status if VAR is already unset, which might be problematic if the
+# statement is used at the end of a function (thus poisoning its return
+# value) or when 'set -e' is active (causing even a spurious abort of
+# the script in this case).
+func_unset ()
+{
+ { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; }
+}
+
+
+# Make sure CDPATH doesn't cause `cd` commands to output the target dir.
+func_unset CDPATH
+
+# Make sure ${,E,F}GREP behave sanely.
+func_unset GREP_OPTIONS
+
## ------------------------- ##
## Locate command utilities. ##
@@ -259,7 +273,7 @@ test -z "$SED" && {
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
- func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+ func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin"
rm -f conftest.sed
SED=$func_path_progs_result
}
@@ -295,7 +309,7 @@ test -z "$GREP" && {
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
- func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+ func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin"
GREP=$func_path_progs_result
}
@@ -360,6 +374,35 @@ sed_double_backslash="\
s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
s/\n//g"
+# require_check_ifs_backslash
+# ---------------------------
+# Check if we can use backslash as IFS='\' separator, and set
+# $check_ifs_backshlash_broken to ':' or 'false'.
+require_check_ifs_backslash=func_require_check_ifs_backslash
+func_require_check_ifs_backslash ()
+{
+ _G_save_IFS=$IFS
+ IFS='\'
+ _G_check_ifs_backshlash='a\\b'
+ for _G_i in $_G_check_ifs_backshlash
+ do
+ case $_G_i in
+ a)
+ check_ifs_backshlash_broken=false
+ ;;
+ '')
+ break
+ ;;
+ *)
+ check_ifs_backshlash_broken=:
+ break
+ ;;
+ esac
+ done
+ IFS=$_G_save_IFS
+ require_check_ifs_backslash=:
+}
+
## ----------------- ##
## Global variables. ##
@@ -580,16 +623,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then
{
$debug_cmd
- func_quote_for_eval "$2"
- eval "$1+=\\ \$func_quote_for_eval_result"
+ func_quote_arg pretty "$2"
+ eval "$1+=\\ \$func_quote_arg_result"
}'
else
func_append_quoted ()
{
$debug_cmd
- func_quote_for_eval "$2"
- eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ func_quote_arg pretty "$2"
+ eval "$1=\$$1\\ \$func_quote_arg_result"
}
fi
@@ -1091,85 +1134,203 @@ func_relative_path ()
}
-# func_quote_for_eval ARG...
-# --------------------------
-# Aesthetically quote ARGs to be evaled later.
-# This function returns two values:
-# i) func_quote_for_eval_result
-# double-quoted, suitable for a subsequent eval
-# ii) func_quote_for_eval_unquoted_result
-# has all characters that are still active within double
-# quotes backslashified.
-func_quote_for_eval ()
+# func_quote_portable EVAL ARG
+# ----------------------------
+# Internal function to portably implement func_quote_arg. Note that we still
+# keep attention to performance here so we as much as possible try to avoid
+# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
+func_quote_portable ()
{
$debug_cmd
- func_quote_for_eval_unquoted_result=
- func_quote_for_eval_result=
- while test 0 -lt $#; do
- case $1 in
- *[\\\`\"\$]*)
- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
- *)
- _G_unquoted_arg=$1 ;;
- esac
- if test -n "$func_quote_for_eval_unquoted_result"; then
- func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
- else
- func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ $require_check_ifs_backslash
+
+ func_quote_portable_result=$2
+
+ # one-time-loop (easy break)
+ while true
+ do
+ if $1; then
+ func_quote_portable_result=`$ECHO "$2" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"`
+ break
fi
- case $_G_unquoted_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and variable expansion
- # for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_quoted_arg=\"$_G_unquoted_arg\"
+ # Quote for eval.
+ case $func_quote_portable_result in
+ *[\\\`\"\$]*)
+ # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string
+ # contains the shell wildcard characters.
+ case $check_ifs_backshlash_broken$func_quote_portable_result in
+ :*|*[\[\*\?]*)
+ func_quote_portable_result=`$ECHO "$func_quote_portable_result" \
+ | $SED "$sed_quote_subst"`
+ break
+ ;;
+ esac
+
+ func_quote_portable_old_IFS=$IFS
+ for _G_char in '\' '`' '"' '$'
+ do
+ # STATE($1) PREV($2) SEPARATOR($3)
+ set start "" ""
+ func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
+ IFS=$_G_char
+ for _G_part in $func_quote_portable_result
+ do
+ case $1 in
+ quote)
+ func_append func_quote_portable_result "$3$2"
+ set quote "$_G_part" "\\$_G_char"
+ ;;
+ start)
+ set first "" ""
+ func_quote_portable_result=
+ ;;
+ first)
+ set quote "$_G_part" ""
+ ;;
+ esac
+ done
+ done
+ IFS=$func_quote_portable_old_IFS
;;
- *)
- _G_quoted_arg=$_G_unquoted_arg
- ;;
+ *) ;;
esac
-
- if test -n "$func_quote_for_eval_result"; then
- func_append func_quote_for_eval_result " $_G_quoted_arg"
- else
- func_append func_quote_for_eval_result "$_G_quoted_arg"
- fi
- shift
+ break
done
+
+ func_quote_portable_unquoted_result=$func_quote_portable_result
+ case $func_quote_portable_result in
+ # double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # many bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_portable_result=\"$func_quote_portable_result\"
+ ;;
+ esac
}
-# func_quote_for_expand ARG
-# -------------------------
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
- $debug_cmd
+# func_quotefast_eval ARG
+# -----------------------
+# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG',
+# but optimized for speed. Result is stored in $func_quotefast_eval.
+if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
+ printf -v _GL_test_printf_tilde %q '~'
+ if test '\~' = "$_GL_test_printf_tilde"; then
+ func_quotefast_eval ()
+ {
+ printf -v func_quotefast_eval_result %q "$1"
+ }
+ else
+ # Broken older Bash implementations. Make those faster too if possible.
+ func_quotefast_eval ()
+ {
+ case $1 in
+ '~'*)
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ ;;
+ *)
+ printf -v func_quotefast_eval_result %q "$1"
+ ;;
+ esac
+ }
+ fi
+else
+ func_quotefast_eval ()
+ {
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ }
+fi
- case $1 in
- *[\\\`\"]*)
- _G_arg=`$ECHO "$1" | $SED \
- -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- _G_arg=$1 ;;
+
+# func_quote_arg MODEs ARG
+# ------------------------
+# Quote one ARG to be evaled later. MODEs argument may contain zero or more
+# specifiers listed below separated by ',' character. This function returns two
+# values:
+# i) func_quote_arg_result
+# double-quoted (when needed), suitable for a subsequent eval
+# ii) func_quote_arg_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified. Available only if 'unquoted' is specified.
+#
+# Available modes:
+# ----------------
+# 'eval' (default)
+# - escape shell special characters
+# 'expand'
+# - the same as 'eval'; but do not quote variable references
+# 'pretty'
+# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might
+# be used later in func_quote to get output like: 'echo "a b"' instead
+# of 'echo a\ b'. This is slower than default on some shells.
+# 'unquoted'
+# - produce also $func_quote_arg_unquoted_result which does not contain
+# wrapping double-quotes.
+#
+# Examples for 'func_quote_arg pretty,unquoted string':
+#
+# string | *_result | *_unquoted_result
+# ------------+-----------------------+-------------------
+# " | \" | \"
+# a b | "a b" | a b
+# "a b" | "\"a b\"" | \"a b\"
+# * | "*" | *
+# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\"
+#
+# Examples for 'func_quote_arg pretty,unquoted,expand string':
+#
+# string | *_result | *_unquoted_result
+# --------------+---------------------+--------------------
+# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\"
+func_quote_arg ()
+{
+ _G_quote_expand=false
+ case ,$1, in
+ *,expand,*)
+ _G_quote_expand=:
+ ;;
esac
- case $_G_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_arg=\"$_G_arg\"
+ case ,$1, in
+ *,pretty,*|*,expand,*|*,unquoted,*)
+ func_quote_portable $_G_quote_expand "$2"
+ func_quote_arg_result=$func_quote_portable_result
+ func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
+ ;;
+ *)
+ # Faster quote-for-eval for some shells.
+ func_quotefast_eval "$2"
+ func_quote_arg_result=$func_quotefast_eval_result
;;
esac
+}
+
- func_quote_for_expand_result=$_G_arg
+# func_quote MODEs ARGs...
+# ------------------------
+# Quote all ARGs to be evaled later and join them into single command. See
+# func_quote_arg's description for more info.
+func_quote ()
+{
+ $debug_cmd
+ _G_func_quote_mode=$1 ; shift
+ func_quote_result=
+ while test 0 -lt $#; do
+ func_quote_arg "$_G_func_quote_mode" "$1"
+ if test -n "$func_quote_result"; then
+ func_append func_quote_result " $func_quote_arg_result"
+ else
+ func_append func_quote_result "$func_quote_arg_result"
+ fi
+ shift
+ done
}
@@ -1215,8 +1376,8 @@ func_show_eval ()
_G_cmd=$1
_G_fail_exp=${2-':'}
- func_quote_for_expand "$_G_cmd"
- eval "func_notquiet $func_quote_for_expand_result"
+ func_quote_arg pretty,expand "$_G_cmd"
+ eval "func_notquiet $func_quote_arg_result"
$opt_dry_run || {
eval "$_G_cmd"
@@ -1241,8 +1402,8 @@ func_show_eval_locale ()
_G_fail_exp=${2-':'}
$opt_quiet || {
- func_quote_for_expand "$_G_cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$_G_cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || {
@@ -1369,30 +1530,26 @@ func_lt_ver ()
# End:
#! /bin/sh
-# Set a version string for this script.
-scriptversion=2014-01-07.03; # UTC
-
# A portable, pluggable option parser for Bourne shell.
# Written by Gary V. Vaughan, 2010
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# This is free software. There is NO warranty; not even for
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (C) 2010-2019, 2021 Bootstrap Authors
+#
+# This file is dual licensed under the terms of the MIT license
+# <https://opensource.org/license/MIT>, and GPL version 2 or later
+# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
+# these licenses when using or redistributing this software or any of
+# the files within it. See the URLs above, or the file `LICENSE`
+# included in the Bootstrap distribution for the full license texts.
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Please report bugs or propose patches to:
+# <https://github.com/gnulib-modules/bootstrap/issues>
-# Please report bugs or propose patches to gary@gnu.org.
+# Set a version string for this script.
+scriptversion=2019-02-19.15; # UTC
## ------ ##
@@ -1415,7 +1572,7 @@ scriptversion=2014-01-07.03; # UTC
#
# In order for the '--version' option to work, you will need to have a
# suitably formatted comment like the one at the top of this file
-# starting with '# Written by ' and ending with '# warranty; '.
+# starting with '# Written by ' and ending with '# Copyright'.
#
# For '-h' and '--help' to work, you will also need a one line
# description of your script's purpose in a comment directly above the
@@ -1427,7 +1584,7 @@ scriptversion=2014-01-07.03; # UTC
# to display verbose messages only when your user has specified
# '--verbose'.
#
-# After sourcing this file, you can plug processing for additional
+# After sourcing this file, you can plug in processing for additional
# options by amending the variables from the 'Configuration' section
# below, and following the instructions in the 'Option parsing'
# section further down.
@@ -1476,8 +1633,8 @@ fatal_help="Try '\$progname --help' for more information."
## ------------------------- ##
# This section contains functions for adding, removing, and running hooks
-# to the main code. A hook is just a named list of of function, that can
-# be run in order later on.
+# in the main code. A hook is just a list of function names that can be
+# run in order later on.
# func_hookable FUNC_NAME
# -----------------------
@@ -1510,7 +1667,8 @@ func_add_hook ()
# func_remove_hook FUNC_NAME HOOK_FUNC
# ------------------------------------
-# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+# Remove HOOK_FUNC from the list of hook functions to be called by
+# FUNC_NAME.
func_remove_hook ()
{
$debug_cmd
@@ -1519,10 +1677,28 @@ func_remove_hook ()
}
+# func_propagate_result FUNC_NAME_A FUNC_NAME_B
+# ---------------------------------------------
+# If the *_result variable of FUNC_NAME_A _is set_, assign its value to
+# *_result variable of FUNC_NAME_B.
+func_propagate_result ()
+{
+ $debug_cmd
+
+ func_propagate_result_result=:
+ if eval "test \"\${${1}_result+set}\" = set"
+ then
+ eval "${2}_result=\$${1}_result"
+ else
+ func_propagate_result_result=false
+ fi
+}
+
+
# func_run_hooks FUNC_NAME [ARG]...
# ---------------------------------
# Run all hook functions registered to FUNC_NAME.
-# It is assumed that the list of hook functions contains nothing more
+# It's assumed that the list of hook functions contains nothing more
# than a whitespace-delimited list of legal shell function names, and
# no effort is wasted trying to catch shell meta-characters or preserve
# whitespace.
@@ -1532,22 +1708,19 @@ func_run_hooks ()
case " $hookable_fns " in
*" $1 "*) ;;
- *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+ *) func_fatal_error "'$1' does not support hook functions." ;;
esac
eval _G_hook_fns=\$$1_hooks; shift
for _G_hook in $_G_hook_fns; do
- eval $_G_hook '"$@"'
-
- # store returned options list back into positional
- # parameters for next 'cmd' execution.
- eval _G_hook_result=\$${_G_hook}_result
- eval set dummy "$_G_hook_result"; shift
+ func_unset "${_G_hook}_result"
+ eval $_G_hook '${1+"$@"}'
+ func_propagate_result $_G_hook func_run_hooks
+ if $func_propagate_result_result; then
+ eval set dummy "$func_run_hooks_result"; shift
+ fi
done
-
- func_quote_for_eval ${1+"$@"}
- func_run_hooks_result=$func_quote_for_eval_result
}
@@ -1557,10 +1730,18 @@ func_run_hooks ()
## --------------- ##
# In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, remove any
-# options that you action, and then pass back the remaining unprocessed
-# options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'. Like this:
+# full positional parameter list from your hook function. You may remove
+# or edit any options that you action, and then pass back the remaining
+# unprocessed options in '<hooked_function_name>_result', escaped
+# suitably for 'eval'.
+#
+# The '<hooked_function_name>_result' variable is automatically unset
+# before your hook gets called; for best performance, only set the
+# *_result variable when necessary (i.e. don't call the 'func_quote'
+# function unnecessarily because it can be an expensive operation on some
+# machines).
+#
+# Like this:
#
# my_options_prep ()
# {
@@ -1570,9 +1751,8 @@ func_run_hooks ()
# usage_message=$usage_message'
# -s, --silent don'\''t print informational messages
# '
-#
-# func_quote_for_eval ${1+"$@"}
-# my_options_prep_result=$func_quote_for_eval_result
+# # No change in '$@' (ignored completely by this hook). Leave
+# # my_options_prep_result variable intact.
# }
# func_add_hook func_options_prep my_options_prep
#
@@ -1581,25 +1761,36 @@ func_run_hooks ()
# {
# $debug_cmd
#
-# # Note that for efficiency, we parse as many options as we can
+# args_changed=false
+#
+# # Note that, for efficiency, we parse as many options as we can
# # recognise in a loop before passing the remainder back to the
# # caller on the first unrecognised argument we encounter.
# while test $# -gt 0; do
# opt=$1; shift
# case $opt in
-# --silent|-s) opt_silent=: ;;
+# --silent|-s) opt_silent=:
+# args_changed=:
+# ;;
# # Separate non-argument short options:
# -s*) func_split_short_opt "$_G_opt"
# set dummy "$func_split_short_opt_name" \
# "-$func_split_short_opt_arg" ${1+"$@"}
# shift
+# args_changed=:
# ;;
-# *) set dummy "$_G_opt" "$*"; shift; break ;;
+# *) # Make sure the first unrecognised option "$_G_opt"
+# # is added back to "$@" in case we need it later,
+# # if $args_changed was set to 'true'.
+# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
# esac
# done
#
-# func_quote_for_eval ${1+"$@"}
-# my_silent_option_result=$func_quote_for_eval_result
+# # Only call 'func_quote' here if we processed at least one argument.
+# if $args_changed; then
+# func_quote eval ${1+"$@"}
+# my_silent_option_result=$func_quote_result
+# fi
# }
# func_add_hook func_parse_options my_silent_option
#
@@ -1610,17 +1801,26 @@ func_run_hooks ()
#
# $opt_silent && $opt_verbose && func_fatal_help "\
# '--silent' and '--verbose' options are mutually exclusive."
-#
-# func_quote_for_eval ${1+"$@"}
-# my_option_validation_result=$func_quote_for_eval_result
# }
# func_add_hook func_validate_options my_option_validation
#
-# You'll alse need to manually amend $usage_message to reflect the extra
+# You'll also need to manually amend $usage_message to reflect the extra
# options you parse. It's preferable to append if you can, so that
# multiple option parsing hooks can be added safely.
+# func_options_finish [ARG]...
+# ----------------------------
+# Finishing the option parse loop (call 'func_options' hooks ATM).
+func_options_finish ()
+{
+ $debug_cmd
+
+ func_run_hooks func_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_options_finish
+}
+
+
# func_options [ARG]...
# ---------------------
# All the functions called inside func_options are hookable. See the
@@ -1630,17 +1830,27 @@ func_options ()
{
$debug_cmd
- func_options_prep ${1+"$@"}
- eval func_parse_options \
- ${func_options_prep_result+"$func_options_prep_result"}
- eval func_validate_options \
- ${func_parse_options_result+"$func_parse_options_result"}
+ _G_options_quoted=false
- eval func_run_hooks func_options \
- ${func_validate_options_result+"$func_validate_options_result"}
+ for my_func in options_prep parse_options validate_options options_finish
+ do
+ func_unset func_${my_func}_result
+ func_unset func_run_hooks_result
+ eval func_$my_func '${1+"$@"}'
+ func_propagate_result func_$my_func func_options
+ if $func_propagate_result_result; then
+ eval set dummy "$func_options_result"; shift
+ _G_options_quoted=:
+ fi
+ done
- # save modified positional parameters for caller
- func_options_result=$func_run_hooks_result
+ $_G_options_quoted || {
+ # As we (func_options) are top-level options-parser function and
+ # nobody quoted "$@" for us yet, we need to do it explicitly for
+ # caller.
+ func_quote eval ${1+"$@"}
+ func_options_result=$func_quote_result
+ }
}
@@ -1649,9 +1859,8 @@ func_options ()
# All initialisations required before starting the option parse loop.
# Note that when calling hook functions, we pass through the list of
# positional parameters. If a hook function modifies that list, and
-# needs to propogate that back to rest of this script, then the complete
-# modified list must be put in 'func_run_hooks_result' before
-# returning.
+# needs to propagate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before returning.
func_hookable func_options_prep
func_options_prep ()
{
@@ -1662,9 +1871,7 @@ func_options_prep ()
opt_warning_types=
func_run_hooks func_options_prep ${1+"$@"}
-
- # save modified positional parameters for caller
- func_options_prep_result=$func_run_hooks_result
+ func_propagate_result func_run_hooks func_options_prep
}
@@ -1676,25 +1883,32 @@ func_parse_options ()
{
$debug_cmd
- func_parse_options_result=
-
+ _G_parse_options_requote=false
# this just eases exit handling
while test $# -gt 0; do
# Defer to hook functions for initial option parsing, so they
# get priority in the event of reusing an option name.
func_run_hooks func_parse_options ${1+"$@"}
-
- # Adjust func_parse_options positional parameters to match
- eval set dummy "$func_run_hooks_result"; shift
+ func_propagate_result func_run_hooks func_parse_options
+ if $func_propagate_result_result; then
+ eval set dummy "$func_parse_options_result"; shift
+ # Even though we may have changed "$@", we passed the "$@" array
+ # down into the hook and it quoted it for us (because we are in
+ # this if-branch). No need to quote it again.
+ _G_parse_options_requote=false
+ fi
# Break out of the loop if we already parsed every option.
test $# -gt 0 || break
+ # We expect that one of the options parsed in this function matches
+ # and thus we remove _G_opt from "$@" and need to re-quote.
+ _G_match_parse_options=:
_G_opt=$1
shift
case $_G_opt in
--debug|-x) debug_cmd='set -x'
- func_echo "enabling shell trace mode"
+ func_echo "enabling shell trace mode" >&2
$debug_cmd
;;
@@ -1704,7 +1918,10 @@ func_parse_options ()
;;
--warnings|--warning|-W)
- test $# = 0 && func_missing_arg $_G_opt && break
+ if test $# = 0 && func_missing_arg $_G_opt; then
+ _G_parse_options_requote=:
+ break
+ fi
case " $warning_categories $1" in
*" $1 "*)
# trailing space prevents matching last $1 above
@@ -1757,15 +1974,24 @@ func_parse_options ()
shift
;;
- --) break ;;
+ --) _G_parse_options_requote=: ; break ;;
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift
+ _G_match_parse_options=false
+ break
+ ;;
esac
+
+ if $_G_match_parse_options; then
+ _G_parse_options_requote=:
+ fi
done
- # save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- func_parse_options_result=$func_quote_for_eval_result
+ if $_G_parse_options_requote; then
+ # save modified positional parameters for caller
+ func_quote eval ${1+"$@"}
+ func_parse_options_result=$func_quote_result
+ fi
}
@@ -1782,12 +2008,10 @@ func_validate_options ()
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
func_run_hooks func_validate_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_validate_options
# Bail if the options were screwed!
$exit_cmd $EXIT_FAILURE
-
- # save modified positional parameters for caller
- func_validate_options_result=$func_run_hooks_result
}
@@ -1843,8 +2067,8 @@ func_missing_arg ()
# func_split_equals STRING
# ------------------------
-# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
-# splitting STRING at the '=' sign.
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables
+# after splitting STRING at the '=' sign.
test -z "$_G_HAVE_XSI_OPS" \
&& (eval 'x=a/b/c;
test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
@@ -1859,8 +2083,9 @@ then
func_split_equals_lhs=${1%%=*}
func_split_equals_rhs=${1#*=}
- test "x$func_split_equals_lhs" = "x$1" \
- && func_split_equals_rhs=
+ if test "x$func_split_equals_lhs" = "x$1"; then
+ func_split_equals_rhs=
+ fi
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
@@ -1870,7 +2095,7 @@ else
func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
func_split_equals_rhs=
- test "x$func_split_equals_lhs" = "x$1" \
+ test "x$func_split_equals_lhs=" = "x$1" \
|| func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
}
fi #func_split_equals
@@ -1896,7 +2121,7 @@ else
{
$debug_cmd
- func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+ func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'`
func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
}
fi #func_split_short_opt
@@ -1938,31 +2163,44 @@ func_usage_message ()
# func_version
# ------------
# Echo version message to standard output and exit.
+# The version message is extracted from the calling file's header
+# comments, with leading '# ' stripped:
+# 1. First display the progname and version
+# 2. Followed by the header comment line matching /^# Written by /
+# 3. Then a blank line followed by the first following line matching
+# /^# Copyright /
+# 4. Immediately followed by any lines between the previous matches,
+# except lines preceding the intervening completely blank line.
+# For example, see the header comments of this file.
func_version ()
{
$debug_cmd
printf '%s\n' "$progname $scriptversion"
$SED -n '
- /(C)/!b go
- :more
- /\./!{
- N
- s|\n# | |
- b more
- }
- :go
- /^# Written by /,/# warranty; / {
- s|^# ||
- s|^# *$||
- s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
- p
+ /^# Written by /!b
+ s|^# ||; p; n
+
+ :fwd2blnk
+ /./ {
+ n
+ b fwd2blnk
}
- /^# Written by / {
- s|^# ||
- p
+ p; n
+
+ :holdwrnt
+ s|^# ||
+ s|^# *$||
+ /^Copyright /!{
+ /./H
+ n
+ b holdwrnt
}
- /^warranty; /q' < "$progpath"
+
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ G
+ s|\(\n\)\n*|\1|g
+ p; q' < "$progpath"
exit $?
}
@@ -1972,12 +2210,12 @@ func_version ()
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC"
# time-stamp-time-zone: "UTC"
# End:
# Set a version string.
-scriptversion='(GNU libtool) 2.4.6'
+scriptversion='(GNU libtool) 2.4.7'
# func_echo ARG...
@@ -2068,12 +2306,12 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname (GNU libtool) 2.4.6
+ version: $progname (GNU libtool) 2.4.7
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
Report bugs to <bug-libtool@gnu.org>.
-GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+GNU libtool home page: <https://www.gnu.org/software/libtool/>.
General help using GNU software: <http://www.gnu.org/gethelp/>."
exit 0
}
@@ -2124,7 +2362,7 @@ fi
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
- func__fatal_error ${1+"$@"} \
+ func_fatal_error ${1+"$@"} \
"See the $PACKAGE documentation for more information." \
"Fatal configuration error."
}
@@ -2270,6 +2508,8 @@ libtool_options_prep ()
nonopt=
preserve_args=
+ _G_rc_lt_options_prep=:
+
# Shorthand for --mode=foo, only valid as the first argument
case $1 in
clean|clea|cle|cl)
@@ -2293,11 +2533,16 @@ libtool_options_prep ()
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
+ *)
+ _G_rc_lt_options_prep=false
+ ;;
esac
- # Pass back the list of options.
- func_quote_for_eval ${1+"$@"}
- libtool_options_prep_result=$func_quote_for_eval_result
+ if $_G_rc_lt_options_prep; then
+ # Pass back the list of options.
+ func_quote eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_result
+ fi
}
func_add_hook func_options_prep libtool_options_prep
@@ -2309,9 +2554,12 @@ libtool_parse_options ()
{
$debug_cmd
+ _G_rc_lt_parse_options=false
+
# Perform our own loop to consume as many options as possible in
# each iteration.
while test $# -gt 0; do
+ _G_match_lt_parse_options=:
_G_opt=$1
shift
case $_G_opt in
@@ -2386,15 +2634,20 @@ libtool_parse_options ()
func_append preserve_args " $_G_opt"
;;
- # An option not handled by this hook function:
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"} ; shift
+ _G_match_lt_parse_options=false
+ break
+ ;;
esac
+ $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
done
-
- # save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- libtool_parse_options_result=$func_quote_for_eval_result
+ if $_G_rc_lt_parse_options; then
+ # save modified positional parameters for caller
+ func_quote eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_result
+ fi
}
func_add_hook func_parse_options libtool_parse_options
@@ -2451,8 +2704,8 @@ libtool_validate_options ()
}
# Pass back the unparsed argument list
- func_quote_for_eval ${1+"$@"}
- libtool_validate_options_result=$func_quote_for_eval_result
+ func_quote eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_result
}
func_add_hook func_validate_options libtool_validate_options
@@ -3418,8 +3671,8 @@ func_mode_compile ()
esac
done
- func_quote_for_eval "$libobj"
- test "X$libobj" != "X$func_quote_for_eval_result" \
+ func_quote_arg pretty "$libobj"
+ test "X$libobj" != "X$func_quote_arg_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
&& func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
@@ -3492,8 +3745,8 @@ compiler."
func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
srcfile=$func_to_tool_file_result
- func_quote_for_eval "$srcfile"
- qsrcfile=$func_quote_for_eval_result
+ func_quote_arg pretty "$srcfile"
+ qsrcfile=$func_quote_arg_result
# Only build a PIC object if we are building libtool libraries.
if test yes = "$build_libtool_libs"; then
@@ -3648,7 +3901,8 @@ This mode accepts the following additional options:
-prefer-non-pic try to build non-PIC objects only
-shared do not build a '.o' file suitable for static linking
-static only build a '.o' file suitable for static linking
- -Wc,FLAG pass FLAG directly to the compiler
+ -Wc,FLAG
+ -Xcompiler FLAG pass FLAG directly to the compiler
COMPILE-COMMAND is a command to be used in creating a 'standard' object file
from the given SOURCEFILE.
@@ -3754,6 +4008,8 @@ The following components of LINK-COMMAND are treated specially:
-weak LIBNAME declare that the target provides the LIBNAME interface
-Wc,FLAG
-Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wa,FLAG
+ -Xassembler FLAG pass linker-specific FLAG directly to the assembler
-Wl,FLAG
-Xlinker FLAG pass linker-specific FLAG directly to the linker
-XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
@@ -4096,8 +4352,8 @@ func_mode_install ()
case $nonopt in *shtool*) :;; *) false;; esac
then
# Aesthetically quote it.
- func_quote_for_eval "$nonopt"
- install_prog="$func_quote_for_eval_result "
+ func_quote_arg pretty "$nonopt"
+ install_prog="$func_quote_arg_result "
arg=$1
shift
else
@@ -4107,8 +4363,8 @@ func_mode_install ()
# The real first argument should be the name of the installation program.
# Aesthetically quote it.
- func_quote_for_eval "$arg"
- func_append install_prog "$func_quote_for_eval_result"
+ func_quote_arg pretty "$arg"
+ func_append install_prog "$func_quote_arg_result"
install_shared_prog=$install_prog
case " $install_prog " in
*[\\\ /]cp\ *) install_cp=: ;;
@@ -4165,12 +4421,12 @@ func_mode_install ()
esac
# Aesthetically quote the argument.
- func_quote_for_eval "$arg"
- func_append install_prog " $func_quote_for_eval_result"
+ func_quote_arg pretty "$arg"
+ func_append install_prog " $func_quote_arg_result"
if test -n "$arg2"; then
- func_quote_for_eval "$arg2"
+ func_quote_arg pretty "$arg2"
fi
- func_append install_shared_prog " $func_quote_for_eval_result"
+ func_append install_shared_prog " $func_quote_arg_result"
done
test -z "$install_prog" && \
@@ -4181,8 +4437,8 @@ func_mode_install ()
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
- func_quote_for_eval "$install_override_mode"
- func_append install_shared_prog " -m $func_quote_for_eval_result"
+ func_quote_arg pretty "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_arg_result"
fi
fi
@@ -4478,8 +4734,8 @@ func_mode_install ()
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
$opt_quiet || {
- func_quote_for_expand "$relink_command"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$relink_command"
+ eval "func_echo $func_quote_arg_result"
}
if eval "$relink_command"; then :
else
@@ -5258,7 +5514,8 @@ else
if test \"\$libtool_execute_magic\" != \"$magic\"; then
file=\"\$0\""
- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ func_quote_arg pretty "$ECHO"
+ qECHO=$func_quote_arg_result
$ECHO "\
# A function that is used when there is no print builtin or printf.
@@ -5268,7 +5525,7 @@ func_fallback_echo ()
\$1
_LTECHO_EOF'
}
- ECHO=\"$qECHO\"
+ ECHO=$qECHO
fi
# Very basic option parsing. These options are (a) specific to
@@ -6613,9 +6870,9 @@ func_mode_link ()
while test "$#" -gt 0; do
arg=$1
shift
- func_quote_for_eval "$arg"
- qarg=$func_quote_for_eval_unquoted_result
- func_append libtool_args " $func_quote_for_eval_result"
+ func_quote_arg pretty,unquoted "$arg"
+ qarg=$func_quote_arg_unquoted_result
+ func_append libtool_args " $func_quote_arg_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
@@ -6851,6 +7108,13 @@ func_mode_link ()
prev=
continue
;;
+ xassembler)
+ func_append compiler_flags " -Xassembler $qarg"
+ prev=
+ func_append compile_command " -Xassembler $qarg"
+ func_append finalize_command " -Xassembler $qarg"
+ continue
+ ;;
xcclinker)
func_append linker_flags " $qarg"
func_append compiler_flags " $qarg"
@@ -7021,7 +7285,7 @@ func_mode_link ()
# These systems don't actually have a C library (as such)
test X-lc = "X$arg" && continue
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*)
# Do not include libc due to us having libc/libc_r.
test X-lc = "X$arg" && continue
;;
@@ -7041,7 +7305,7 @@ func_mode_link ()
esac
elif test X-lc_r = "X$arg"; then
case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
@@ -7071,8 +7335,20 @@ func_mode_link ()
prev=xcompiler
continue
;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199.
+ -pthread)
+ case $host in
+ *solaris2*) ;;
+ *)
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+ -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
func_append compiler_flags " $arg"
func_append compile_command " $arg"
@@ -7213,9 +7489,9 @@ func_mode_link ()
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
- func_quote_for_eval "$flag"
- func_append arg " $func_quote_for_eval_result"
- func_append compiler_flags " $func_quote_for_eval_result"
+ func_quote_arg pretty "$flag"
+ func_append arg " $func_quote_arg_result"
+ func_append compiler_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
@@ -7229,16 +7505,21 @@ func_mode_link ()
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
- func_quote_for_eval "$flag"
- func_append arg " $wl$func_quote_for_eval_result"
- func_append compiler_flags " $wl$func_quote_for_eval_result"
- func_append linker_flags " $func_quote_for_eval_result"
+ func_quote_arg pretty "$flag"
+ func_append arg " $wl$func_quote_arg_result"
+ func_append compiler_flags " $wl$func_quote_arg_result"
+ func_append linker_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
+ -Xassembler)
+ prev=xassembler
+ continue
+ ;;
+
-Xcompiler)
prev=xcompiler
continue
@@ -7256,8 +7537,8 @@ func_mode_link ()
# -msg_* for osf cc
-msg_*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
# Flags to be passed through unchanged, with rationale:
@@ -7274,12 +7555,17 @@ func_mode_link ()
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
+ # -Wa,* Pass flags directly to the assembler
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
@@ -7300,15 +7586,15 @@ func_mode_link ()
continue
else
# Otherwise treat like 'Some other compiler flag' below
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
fi
;;
# Some other compiler flag.
-* | +*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
*.$objext)
@@ -7428,8 +7714,8 @@ func_mode_link ()
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
esac # arg
@@ -8652,7 +8938,7 @@ func_mode_link ()
test CXX = "$tagname" && {
case $host_os in
linux*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*) # Sun C++ 5.9
func_suncc_cstd_abi
@@ -8822,7 +9108,7 @@ func_mode_link ()
#
case $version_type in
# correct linux to gnu/linux during the next big refactor
- darwin|freebsd-elf|linux|osf|windows|none)
+ darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
age=$number_minor
@@ -8913,7 +9199,7 @@ func_mode_link ()
versuffix=.$current.$revision
;;
- freebsd-elf)
+ freebsd-elf | midnightbsd-elf)
func_arith $current - $age
major=.$func_arith_result
versuffix=$major.$age.$revision
@@ -9139,7 +9425,7 @@ func_mode_link ()
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*)
# Do not include libc due to us having libc/libc_r.
;;
*-*-sco3.2v5* | *-*-sco5v6*)
@@ -9950,8 +10236,8 @@ EOF
for cmd in $concat_cmds; do
IFS=$save_ifs
$opt_quiet || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
@@ -10044,8 +10330,8 @@ EOF
eval cmd=\"$cmd\"
IFS=$save_ifs
$opt_quiet || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
@@ -10519,12 +10805,13 @@ EOF
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ func_quote_arg pretty "$var_value"
+ relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
fi
done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ func_quote eval cd "`pwd`"
+ func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)"
+ relink_command=$func_quote_arg_unquoted_result
fi
# Only actually do things if not in dry run mode.
@@ -10764,13 +11051,15 @@ EOF
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ func_quote_arg pretty,unquoted "$var_value"
+ relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ func_quote eval cd "`pwd`"
+ relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ func_quote_arg pretty,unquoted "$relink_command"
+ relink_command=$func_quote_arg_unquoted_result
if test yes = "$hardcode_automatic"; then
relink_command=
fi
diff --git a/scripts/mkdep.pl b/scripts/mkdep.pl
index 3d6e6b65e..380439384 100755
--- a/scripts/mkdep.pl
+++ b/scripts/mkdep.pl
@@ -115,7 +115,7 @@ sub mkdep {
# Expand some configure bits
$makefile =~ s:\@DEV\@::g;
$makefile =~ s:\@COMMON_OBJS\@:aix.lo event_poll.lo event_select.lo:;
- $makefile =~ s:\@SUDO_OBJS\@:intercept.pb-c.o openbsd.o preload.o selinux.o sesh.o solaris.o:;
+ $makefile =~ s:\@SUDO_OBJS\@:intercept.pb-c.o openbsd.o preload.o apparmor.o selinux.o sesh.o solaris.o:;
$makefile =~ s:\@SUDOERS_OBJS\@:bsm_audit.lo linux_audit.lo ldap.lo ldap_util.lo ldap_conf.lo solaris_audit.lo sssd.lo:;
# XXX - fill in AUTH_OBJS from contents of the auth dir instead
$makefile =~ s:\@AUTH_OBJS\@:afs.lo aix_auth.lo bsdauth.lo dce.lo fwtk.lo getspwuid.lo kerb5.lo pam.lo passwd.lo rfc1938.lo secureware.lo securid5.lo sia.lo:;
diff --git a/scripts/mkpkg b/scripts/mkpkg
index 6c31cff00..b477c8053 100755
--- a/scripts/mkpkg
+++ b/scripts/mkpkg
@@ -160,7 +160,7 @@ case "$osversion" in
centos*|rhel*|f[0-9]*)
case "$osversion" in
centos*|rhel*)
- osmajor=`sed -n -e 's/^.*release \([0-9]*\)[^0-9].*$/\1/p' /etc/redhat-release`
+ osmajor=`sed -n -e 's/^.*release \([0-9][0-9]*\).*$/\1/p' /etc/redhat-release`
if [ $osmajor -ge 4 ]; then
# RHEL 4 and up support SELinux
with_selinux=true
@@ -269,6 +269,23 @@ case "$osversion" in
make_opts="${make_opts}${make_opts+ }"'docdir=$(datarootdir)/doc/packages/$(PACKAGE_TARNAME)'
;;
deb*|ubu*)
+ # AppArmor is enabled by default starting in
+ # Debian: Debian 10 (Buster)
+ # Ubuntu: Ubuntu 12.04 (Precise Pangolin)
+ osmajor=`sed -n -e 's/^VERSION_ID=\"\([0-9]*\).*$/\1/p' /etc/os-release`
+ case "$osversion" in
+ deb*)
+ if [ -z $osmajor ] || [ $osmajor -ge 10 ]; then
+ with_apparmor=true
+ fi
+ ;;
+ ubu*)
+ if [ -z $osmajor ] || [ $osmajor -ge 14 ]; then
+ with_apparmor=true
+ fi
+ ;;
+ esac
+
# Encrypted remote I/O log support.
with_openssl=true
# Python plugins
@@ -295,6 +312,9 @@ case "$osversion" in
configure_opts="${configure_opts}${configure_opts+$tab}--with-sssd-lib=/usr/lib/$MULTIARCH"
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
@@ -311,14 +331,13 @@ case "$osversion" in
--with-sendmail=/usr/sbin/sendmail
--mandir=/usr/share/man
--libexecdir=/usr/lib
- --with-selinux
--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;
+ test -n "$linux_audit" && break
fi
done
if [ -z "$linux_audit" ]; then
@@ -327,7 +346,7 @@ case "$osversion" in
fi
PPVARS="${PPVARS}${PPVARS+$space}linux_audit=$linux_audit"
# Use correct libssl dependency
- libssl_dep=`dpkg-query -S /usr/lib/${MULTIARCH}${MULTIARCH:+/}libssl.so.1.[0-9]* /lib/${MULTIARCH}${MULTIARCH:+/}libssl.so.1.[0-9]* 2>/dev/null | sort -rn | awk -F: '{ print $1; exit }'`
+ 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
echo "unable to determine package for libssl" 1>&2
exit 1
@@ -383,7 +402,7 @@ case "$osversion" in
aix*)
# TODO: openssl (AIX freeware?)
# Use -gxcoff with gcc instead of -g for dbx-style debugging symbols.
- if [ -z "$CC" && gcc -v >/dev/null 2>&1 ]; then
+ if test -z "$CC" && gcc -v >/dev/null 2>&1; then
CFLAGS="-O2 -gxcoff"; export CFLAGS
fi
# Note, must indent with tabs, not spaces due to IFS trickery
@@ -451,7 +470,7 @@ case "$osversion" in
PYTHON="/usr/bin/python3"; export PYTHON
else
# Sometimes the /usr/bin/python3 is missing
- for f in /usr/bin/python3.9 /usr/bin/python3.8 /usr/bin/python3.7 /usr/bin/python3.6 /usr/bin/python3.5 /usr/bin/python3.4 /usr/bin/python3.3 /usr/bin/python3.2 /usr/bin/python3.1 /usr/bin/python3.0; do
+ for f in /usr/bin/python3.11 /usr/bin/python3.10 /usr/bin/python3.9 /usr/bin/python3.8 /usr/bin/python3.7 /usr/bin/python3.6 /usr/bin/python3.5 /usr/bin/python3.4; do
if [ -x $f ]; then
PYTHON="$f"; export PYTHON
break
diff --git a/scripts/unanon b/scripts/unanon
index 533682547..2bbb3c856 100755
--- a/scripts/unanon
+++ b/scripts/unanon
@@ -19,7 +19,7 @@ sub unanon {
# Detect and replace anonymous unions in .h file.
# Assumes there is only one anonymous union in scope.
- while ($content =~ s/^(struct\s+_(\w+)[^}]+)(union\s+{([^}]+)}\s*);/$1$3 u;/sm) {
+ while ($content =~ s/^(struct\s+(\w+)[^}]+)(union\s+{([^}]+)}\s*);/$1$3 u;/sm) {
my $s = $2;
my $u = $4;
$u =~ s:/\*((?!\*/).)*\*/::sg;
diff --git a/src/Makefile.in b/src/Makefile.in
index 5647c2b9f..74eea89b4 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
#
# SPDX-License-Identifier: ISC
#
-# Copyright (c) 2010-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+# Copyright (c) 2010-2022 Todd C. Miller <Todd.Miller@sudo.ws>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -80,8 +80,8 @@ PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
# Stack smashing protection flags
-SSP_CFLAGS = @SSP_CFLAGS@
-SSP_LDFLAGS = @SSP_LDFLAGS@
+HARDENING_CFLAGS = @HARDENING_CFLAGS@
+HARDENING_LDFLAGS = @HARDENING_LDFLAGS@
# cppcheck options, usually set in the top-level Makefile
CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
@@ -141,10 +141,10 @@ SHELL = @SHELL@
PROGS = @PROGS@
OBJS = conversation.o copy_file.o edit_open.o env_hooks.o exec.o exec_common.o \
- exec_intercept.o exec_monitor.o exec_nopty.o exec_preload.o exec_pty.o \
- get_pty.o hooks.o limits.o load_plugins.o net_ifs.o parse_args.o \
- preserve_fds.o signal.o sudo.o sudo_edit.o tcsetpgrp_nobg.o tgetpass.o \
- ttyname.o utmp.o @SUDO_OBJS@
+ exec_intercept.o exec_monitor.o exec_nopty.o exec_preload.o \
+ exec_ptrace.o exec_pty.o get_pty.o hooks.o limits.o load_plugins.o \
+ net_ifs.o parse_args.o preserve_fds.o signal.o sudo.o sudo_edit.o \
+ suspend_nopty.o tcsetpgrp_nobg.o tgetpass.o ttyname.o utmp.o @SUDO_OBJS@
IOBJS = $(OBJS:.o=.i) sesh.i
@@ -161,6 +161,8 @@ CHECK_NOEXEC_OBJS = check_noexec.o exec_common.o exec_preload.o
CHECK_TTYNAME_OBJS = check_ttyname.o ttyname.o
+TEST_PTRACE_OBJS = suspend_nopty.o tcsetpgrp_nobg.o test_ptrace.o
+
LIBOBJDIR = $(top_builddir)/@ac_config_libobj_dir@/
VERSION = @PACKAGE_VERSION@
@@ -183,10 +185,10 @@ Makefile: $(srcdir)/Makefile.in
.SUFFIXES: .c .h .i .lo .o .plog
.c.o:
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.lo:
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $<
.c.i:
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -209,7 +211,7 @@ $(devdir)/intercept.pb-c.c: $(srcdir)/intercept.proto
fi
sudo: $(OBJS) $(LT_LIBS) @STATIC_SUDOERS@
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(OBJS) $(SUDO_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS) @STATIC_SUDOERS@
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(OBJS) $(SUDO_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS) @STATIC_SUDOERS@
$(shlib_map): $(shlib_exp)
@$(AWK) 'BEGIN { print "{\n\tglobal:" } { print "\t\t"$$0";" } END { print "\tlocal:\n\t\t*;\n};" }' $(shlib_exp) > $@
@@ -218,22 +220,25 @@ $(shlib_opt): $(shlib_exp)
@$(SED) 's/^/+e /' $(shlib_exp) > $@
sudo_intercept.la: $(INTERCEPT_OBJS) @LT_LDDEP@
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(INTERCEPT_LDFLAGS) $(ASAN_LDFLAGS) $(SSP_LDFLAGS) $(LT_LIBS) @LIBDL@ -o $@ $(INTERCEPT_OBJS) $(PRELOAD_MODULE) -avoid-version -rpath $(interceptdir) -shrext .so
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(INTERCEPT_LDFLAGS) $(ASAN_LDFLAGS) $(HARDENING_LDFLAGS) $(LT_LIBS) @LIBDL@ -o $@ $(INTERCEPT_OBJS) $(PRELOAD_MODULE) -avoid-version -rpath $(interceptdir) -shrext .so
sudo_noexec.la: sudo_noexec.lo
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(NOEXEC_LDFLAGS) $(SSP_LDFLAGS) @LIBDL@ -o $@ sudo_noexec.lo $(PRELOAD_MODULE) -avoid-version -rpath $(noexecdir) -shrext .so
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LDFLAGS) $(NOEXEC_LDFLAGS) $(HARDENING_LDFLAGS) @LIBDL@ -o $@ sudo_noexec.lo $(PRELOAD_MODULE) -avoid-version -rpath $(noexecdir) -shrext .so
sesh: $(SESH_OBJS) $(LT_LIBS)
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(SESH_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(SESH_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS)
check_net_ifs: $(CHECK_NET_IFS_OBJS) $(top_builddir)/lib/util/libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_NET_IFS_OBJS) $(TEST_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_NET_IFS_OBJS) $(TEST_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LIBS)
check_noexec: $(CHECK_NOEXEC_OBJS) $(top_builddir)/lib/util/libsudo_util.la sudo_noexec.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_NOEXEC_OBJS) $(TEST_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_NOEXEC_OBJS) $(TEST_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LIBS)
check_ttyname: $(CHECK_TTYNAME_OBJS) $(top_builddir)/lib/util/libsudo_util.la
- $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_TTYNAME_OBJS) $(TEST_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(TEST_LIBS)
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_TTYNAME_OBJS) $(TEST_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LIBS)
+
+test_ptrace: $(TEST_PTRACE_OBJS) $(top_builddir)/lib/util/libsudo_util.la
+ $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(TEST_PTRACE_OBJS) $(TEST_LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LIBS)
pre-install:
@@ -331,6 +336,7 @@ check: $(TEST_PROGS) check-fuzzer
LC_ALL=C; export LC_ALL; \
fi; \
unset LANG || LANG=; \
+ unset LANGUAGE || LANGUAGE=; \
MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
./check_net_ifs $(TEST_VERBOSE); \
@@ -369,13 +375,31 @@ cleandir: realclean
# *Not* auto-generated to avoid building with ASAN
sudo_noexec.lo: $(srcdir)/sudo_noexec.c $(incdir)/sudo_compat.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_noexec.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_noexec.c
# Autogenerated dependencies, do not modify
+apparmor.o: $(srcdir)/apparmor.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 \
+ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
+ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \
+ $(top_builddir)/pathnames.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/apparmor.c
+apparmor.i: $(srcdir)/apparmor.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 \
+ $(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) $<
+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 $@
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
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/net_ifs/check_net_ifs.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(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
@@ -387,7 +411,7 @@ check_noexec.o: $(srcdir)/regress/noexec/check_noexec.c \
$(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_util.h $(srcdir)/sudo_exec.h \
$(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/noexec/check_noexec.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/noexec/check_noexec.c
check_noexec.i: $(srcdir)/regress/noexec/check_noexec.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \
@@ -401,7 +425,7 @@ check_ttyname.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/ttyname/check_ttyname.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/ttyname/check_ttyname.c
check_ttyname.i: $(srcdir)/regress/ttyname/check_ttyname.c \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
@@ -418,7 +442,7 @@ conversation.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/conversation.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/conversation.c
conversation.i: $(srcdir)/conversation.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -437,7 +461,7 @@ copy_file.o: $(srcdir)/copy_file.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/copy_file.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/copy_file.c
copy_file.i: $(srcdir)/copy_file.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -455,7 +479,7 @@ edit_open.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/edit_open.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/edit_open.c
edit_open.i: $(srcdir)/edit_open.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -473,7 +497,7 @@ env_hooks.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/env_hooks.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/env_hooks.c
env_hooks.i: $(srcdir)/env_hooks.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \
@@ -490,7 +514,7 @@ exec.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exec.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec.c
exec.i: $(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 \
@@ -507,7 +531,7 @@ exec_common.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exec_common.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec_common.c
exec_common.i: $(srcdir)/exec_common.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -524,17 +548,19 @@ exec_intercept.o: $(srcdir)/exec_intercept.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
- $(incdir)/sudo_rand.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
+ $(incdir)/sudo_rand.h $(incdir)/sudo_util.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exec_intercept.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec_intercept.c
exec_intercept.i: $(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 \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
$(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
- $(incdir)/sudo_rand.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
+ $(incdir)/sudo_rand.h $(incdir)/sudo_util.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) $<
@@ -548,7 +574,7 @@ exec_monitor.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exec_monitor.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec_monitor.c
exec_monitor.i: $(srcdir)/exec_monitor.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -568,7 +594,7 @@ exec_nopty.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exec_nopty.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec_nopty.c
exec_nopty.i: $(srcdir)/exec_nopty.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -587,7 +613,7 @@ exec_preload.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exec_preload.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec_preload.c
exec_preload.i: $(srcdir)/exec_preload.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -605,7 +631,29 @@ exec_preload.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exec_preload.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec_preload.c
+exec_ptrace.o: $(srcdir)/exec_ptrace.c $(incdir)/compat/endian.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 $(incdir)/sudo_plugin.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec_ptrace.c
+exec_ptrace.i: $(srcdir)/exec_ptrace.c $(incdir)/compat/endian.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 $(incdir)/sudo_plugin.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.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) $<
+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 $@
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 \
@@ -614,7 +662,7 @@ exec_pty.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/exec_pty.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/exec_pty.c
exec_pty.i: $(srcdir)/exec_pty.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -633,7 +681,7 @@ get_pty.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/get_pty.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/get_pty.c
get_pty.i: $(srcdir)/get_pty.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -650,7 +698,7 @@ hooks.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/hooks.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/hooks.c
hooks.i: $(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 \
@@ -662,7 +710,7 @@ 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 $@
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) $(SSP_CFLAGS) $(srcdir)/intercept.pb-c.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/intercept.pb-c.c
intercept.pb-c.i: $(srcdir)/intercept.pb-c.c $(incdir)/intercept.pb-c.h \
$(incdir)/protobuf-c/protobuf-c.h
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -670,14 +718,14 @@ intercept.pb-c.plog: intercept.pb-c.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/intercept.pb-c.c --i-file $< --output-file $@
intercept.pb-c.o: $(srcdir)/intercept.pb-c.c $(incdir)/intercept.pb-c.h \
$(incdir)/protobuf-c/protobuf-c.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/intercept.pb-c.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/intercept.pb-c.c
limits.o: $(srcdir)/limits.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 $(incdir)/sudo_plugin.h \
$(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/limits.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/limits.c
limits.i: $(srcdir)/limits.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 \
@@ -695,7 +743,7 @@ load_plugins.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/load_plugins.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/load_plugins.c
load_plugins.i: $(srcdir)/load_plugins.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \
@@ -712,7 +760,7 @@ net_ifs.o: $(srcdir)/net_ifs.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
$(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
$(incdir)/sudo_queue.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/net_ifs.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/net_ifs.c
net_ifs.i: $(srcdir)/net_ifs.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
@@ -728,7 +776,7 @@ openbsd.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/openbsd.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/openbsd.c
openbsd.i: $(srcdir)/openbsd.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -747,7 +795,7 @@ parse_args.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/parse_args.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/parse_args.c
parse_args.i: $(srcdir)/parse_args.c $(incdir)/compat/getopt.h \
$(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
$(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
@@ -761,7 +809,7 @@ 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 $@
preload.o: $(srcdir)/preload.c $(incdir)/sudo_compat.h $(incdir)/sudo_dso.h \
$(incdir)/sudo_plugin.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/preload.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/preload.c
preload.i: $(srcdir)/preload.c $(incdir)/sudo_compat.h $(incdir)/sudo_dso.h \
$(incdir)/sudo_plugin.h $(top_builddir)/config.h
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -774,7 +822,7 @@ preserve_fds.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/preserve_fds.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/preserve_fds.c
preserve_fds.i: $(srcdir)/preserve_fds.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -792,7 +840,7 @@ selinux.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/selinux.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/selinux.c
selinux.i: $(srcdir)/selinux.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -809,7 +857,7 @@ sesh.o: $(srcdir)/sesh.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_edit.h $(srcdir)/sudo_exec.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sesh.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sesh.c
sesh.i: $(srcdir)/sesh.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 \
@@ -826,7 +874,7 @@ signal.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/signal.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/signal.c
signal.i: $(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 \
@@ -844,7 +892,7 @@ solaris.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/solaris.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/solaris.c
solaris.i: $(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 \
@@ -861,7 +909,7 @@ sudo.o: $(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 ./sudo_usage.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo.c
sudo.i: $(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 \
@@ -879,7 +927,7 @@ sudo_edit.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_edit.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_edit.c
sudo_edit.i: $(srcdir)/sudo_edit.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -895,7 +943,7 @@ 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 \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_intercept.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_intercept.c
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 \
@@ -912,7 +960,7 @@ sudo_intercept_common.lo: $(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
- $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sudo_intercept_common.c
+ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_intercept_common.c
sudo_intercept_common.i: $(srcdir)/sudo_intercept_common.c \
$(incdir)/compat/stdbool.h \
$(incdir)/intercept.pb-c.h \
@@ -925,6 +973,24 @@ sudo_intercept_common.i: $(srcdir)/sudo_intercept_common.c \
$(CC) -E -o $@ $(CPPFLAGS) $<
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 $@
+suspend_nopty.o: $(srcdir)/suspend_nopty.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 \
+ $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/suspend_nopty.c
+suspend_nopty.i: $(srcdir)/suspend_nopty.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 \
+ $(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) $<
+suspend_nopty.plog: suspend_nopty.i
+ rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/suspend_nopty.c --i-file $< --output-file $@
tcsetpgrp_nobg.o: $(srcdir)/tcsetpgrp_nobg.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -932,7 +998,7 @@ tcsetpgrp_nobg.o: $(srcdir)/tcsetpgrp_nobg.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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/tcsetpgrp_nobg.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/tcsetpgrp_nobg.c
tcsetpgrp_nobg.i: $(srcdir)/tcsetpgrp_nobg.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -943,6 +1009,30 @@ tcsetpgrp_nobg.i: $(srcdir)/tcsetpgrp_nobg.c $(incdir)/compat/stdbool.h \
$(CC) -E -o $@ $(CPPFLAGS) $<
tcsetpgrp_nobg.plog: tcsetpgrp_nobg.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tcsetpgrp_nobg.c --i-file $< --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 \
+ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
+ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
+ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
+ $(incdir)/sudo_util.h $(srcdir)/exec_intercept.h \
+ $(srcdir)/exec_ptrace.c $(srcdir)/exec_ptrace.h \
+ $(srcdir)/sudo.h $(srcdir)/sudo_exec.h $(top_builddir)/config.h \
+ $(top_builddir)/pathnames.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/intercept/test_ptrace.c
+test_ptrace.i: $(srcdir)/regress/intercept/test_ptrace.c \
+ $(incdir)/compat/endian.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 \
+ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
+ $(incdir)/sudo_util.h $(srcdir)/exec_intercept.h \
+ $(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) $<
+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 $@
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 \
@@ -950,7 +1040,7 @@ tgetpass.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/tgetpass.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/tgetpass.c
tgetpass.i: $(srcdir)/tgetpass.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -968,7 +1058,7 @@ ttyname.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/ttyname.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ttyname.c
ttyname.i: $(srcdir)/ttyname.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
@@ -985,7 +1075,7 @@ utmp.o: $(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) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/utmp.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/utmp.c
utmp.i: $(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 \
diff --git a/src/apparmor.c b/src/apparmor.c
new file mode 100644
index 000000000..5f36f3064
--- /dev/null
+++ b/src/apparmor.c
@@ -0,0 +1,111 @@
+/*
+ * SPDX-License-Identifier: ISC
+ *
+ * Copyright (c) 2022 Will Shand <wss2ec@virginia.edu>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <config.h>
+
+#ifdef HAVE_APPARMOR
+
+# include <stdio.h>
+# include <stdlib.h>
+# include <sys/apparmor.h>
+
+# include "sudo.h"
+# include "sudo_debug.h"
+
+/**
+ * @brief Check whether AppArmor is enabled.
+ *
+ * @return 1 if AppArmor is enabled, 0 otherwise.
+ */
+int
+apparmor_is_enabled(void)
+{
+ int ret;
+ FILE *fd;
+ debug_decl(apparmor_is_enabled, SUDO_DEBUG_APPARMOR);
+
+ /* Check whether AppArmor is enabled by reading
+ * /sys/module/apparmor/parameters/enabled
+ *
+ * When this file exists and its contents are equal to "Y", AppArmor
+ * is enabled. This is a little more reliable than using
+ * aa_is_enabled(2), which performs an additional check on securityfs
+ * that will fail in settings where securityfs isn't available
+ * (e.g. inside a container).
+ */
+
+ fd = fopen("/sys/module/apparmor/parameters/enabled", "r");
+ if (fd == NULL)
+ debug_return_int(0);
+
+ ret = (fgetc(fd) == 'Y');
+
+ fclose(fd);
+ debug_return_int(ret);
+}
+
+/**
+ * @brief Prepare to transition into a new AppArmor profile.
+ *
+ * @param new_profile The AppArmor profile to transition into on the
+ * next exec.
+ *
+ * @return 0 on success, and a nonzero value on failure.
+ */
+int
+apparmor_prepare(const char *new_profile)
+{
+ int ret;
+ char *mode, *old_profile;
+ debug_decl(apparmor_prepare, SUDO_DEBUG_APPARMOR);
+
+ /* Determine the current AppArmor confinement status */
+ if ((ret = aa_getcon(&old_profile, &mode)) == -1) {
+ sudo_warn("%s", U_("failed to determine AppArmor confinement"));
+ old_profile = NULL;
+ goto done;
+ }
+
+ /* Tell AppArmor to transition into the new profile on the
+ * next exec */
+ if ((ret = aa_change_onexec(new_profile)) != 0) {
+ sudo_warn(U_("unable to change AppArmor profile to %s"), new_profile);
+ goto done;
+ }
+
+ if (mode == NULL)
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: changing AppArmor profile: %s -> %s", __func__,
+ old_profile, new_profile ? new_profile : "?"
+ );
+ else
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: changing AppArmor profile: %s (%s) -> %s", __func__,
+ old_profile, mode, new_profile ? new_profile : "?"
+ );
+
+done:
+ /* The profile string returned by aa_getcon must be free'd, while the
+ * mode string must _not_ be free'd */
+ if (old_profile != NULL)
+ free(old_profile);
+
+ debug_return_int(ret);
+}
+
+#endif /* HAVE_APPARMOR */
diff --git a/src/conversation.c b/src/conversation.c
index 95ecadde4..53943b14a 100644
--- a/src/conversation.c
+++ b/src/conversation.c
@@ -154,8 +154,10 @@ sudo_conversation_1_7(int num_msgs, const struct sudo_conv_message msgs[],
int
sudo_conversation_printf(int msg_type, const char *fmt, ...)
{
- FILE *fp = stdout;
+ const char *crnl = NULL;
FILE *ttyfp = NULL;
+ FILE *fp = stdout;
+ char fmt2[1024];
va_list ap;
int len;
const int conv_debug_instance = sudo_debug_get_active_instance();
@@ -173,9 +175,22 @@ sudo_conversation_printf(int msg_type, const char *fmt, ...)
fp = stderr;
FALLTHROUGH;
case SUDO_CONV_INFO_MSG:
+ /* Convert nl -> cr nl in case tty is in raw mode. */
+ len = strlen(fmt);
+ if (len < ssizeof(fmt2) && len > 0 && fmt[len - 1] == '\n') {
+ if (len == 1 || fmt[len - 2] != '\r') {
+ memcpy(fmt2, fmt, len - 1);
+ fmt2[len - 1] = '\0';
+ fmt = fmt2;
+ crnl = "\r\n";
+ }
+ }
va_start(ap, fmt);
len = vfprintf(ttyfp ? ttyfp : fp, fmt, ap);
va_end(ap);
+ if (len >= 0 && crnl != NULL) {
+ len += fwrite(crnl, 1, 2, ttyfp ? ttyfp : fp);
+ }
break;
default:
len = -1;
diff --git a/src/exec.c b/src/exec.c
index d180a71c1..d572b2a1b 100644
--- a/src/exec.c
+++ b/src/exec.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2009-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -48,6 +48,14 @@
#include "sudo_plugin.h"
#include "sudo_plugin_int.h"
+#ifdef HAVE_PTRACE_INTERCEPT
+static void
+handler(int signo)
+{
+ /* just return */
+}
+#endif /* HAVE_PTRACE_INTERCEPT */
+
static void
close_fds(struct command_details *details, int errfd, int intercept_fd)
{
@@ -86,6 +94,13 @@ exec_setup(struct command_details *details, int intercept_fd, int errfd)
bool ret = false;
debug_decl(exec_setup, SUDO_DEBUG_EXEC);
+#ifdef HAVE_PTRACE_INTERCEPT
+ if (ISSET(details->flags, CD_USE_PTRACE)) {
+ if (!set_exec_filter())
+ goto done;
+ }
+#endif /* HAVE_PTRACE_INTERCEPT */
+
if (details->pw != NULL) {
#ifdef HAVE_PROJECT_H
set_project(details->pw);
@@ -93,18 +108,18 @@ exec_setup(struct command_details *details, int intercept_fd, int errfd)
#ifdef HAVE_PRIV_SET
if (details->privs != NULL) {
if (setppriv(PRIV_SET, PRIV_INHERITABLE, details->privs) != 0) {
- sudo_warn("unable to set privileges");
+ sudo_warn("%s", U_("unable to set privileges"));
goto done;
}
}
if (details->limitprivs != NULL) {
if (setppriv(PRIV_SET, PRIV_LIMIT, details->limitprivs) != 0) {
- sudo_warn("unable to set limit privileges");
+ sudo_warn("%s", U_("unable to set limit privileges"));
goto done;
}
} else if (details->privs != NULL) {
if (setppriv(PRIV_SET, PRIV_LIMIT, details->privs) != 0) {
- sudo_warn("unable to set limit privileges");
+ sudo_warn("%s", U_("unable to set limit privileges"));
goto done;
}
}
@@ -238,17 +253,42 @@ done:
* If the exec fails, cstat is filled in with the value of errno.
*/
void
-exec_cmnd(struct command_details *details, int intercept_fd, int errfd)
+exec_cmnd(struct command_details *details, sigset_t *mask,
+ int intercept_fd, int errfd)
{
debug_decl(exec_cmnd, SUDO_DEBUG_EXEC);
+#ifdef HAVE_PTRACE_INTERCEPT
+ if (ISSET(details->flags, CD_USE_PTRACE)) {
+ struct sigaction sa;
+ sigset_t set;
+
+ /* Tracer will send us SIGUSR1 when it is time to proceed. */
+ memset(&sa, 0, sizeof(sa));
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = SA_RESTART;
+ sa.sa_handler = handler;
+ if (sudo_sigaction(SIGUSR1, &sa, NULL) != 0) {
+ sudo_warn(U_("unable to set handler for signal %d"),
+ SIGUSR1);
+ }
+
+ /* Suspend child until tracer seizes control and sends SIGUSR1. */
+ sigfillset(&set);
+ sigdelset(&set, SIGUSR1);
+ sigsuspend(&set);
+ }
+#endif /* HAVE_PTRACE_INTERCEPT */
+
+ if (mask != NULL)
+ sigprocmask(SIG_SETMASK, mask, NULL);
restore_signals();
if (exec_setup(details, intercept_fd, errfd) == true) {
/* headed for execve() */
#ifdef HAVE_SELINUX
if (ISSET(details->flags, CD_RBAC_ENABLED)) {
selinux_execve(details->execfd, details->command, details->argv,
- details->envp, ISSET(details->flags, CD_NOEXEC));
+ details->envp, details->flags);
} else
#endif
{
@@ -314,7 +354,7 @@ sudo_terminated(struct command_status *cstat)
debug_return_bool(false);
}
-#if SUDO_API_VERSION != SUDO_API_MKVERSION(1, 18)
+#if SUDO_API_VERSION != SUDO_API_MKVERSION(1, 19)
# error "Update sudo_needs_pty() after changing the plugin API"
#endif
static bool
@@ -322,7 +362,7 @@ sudo_needs_pty(struct command_details *details)
{
struct plugin_container *plugin;
- if (ISSET(details->flags, CD_USE_PTY|CD_INTERCEPT|CD_LOG_SUBCMDS))
+ if (ISSET(details->flags, CD_USE_PTY))
return true;
TAILQ_FOREACH(plugin, &io_plugins, entries) {
@@ -373,6 +413,25 @@ sudo_execute(struct command_details *details, struct command_status *cstat)
{
debug_decl(sudo_execute, SUDO_DEBUG_EXEC);
+#if defined(HAVE_SELINUX) && !defined(HAVE_PTRACE_INTERCEPT)
+ /*
+ * SELinux prevents LD_PRELOAD from functioning so we must use
+ * ptrace-based intercept mode.
+ */
+ if (details->selinux_role != NULL || details->selinux_type != NULL) {
+ if (ISSET(details->flags, CD_INTERCEPT)) {
+ sudo_warnx("%s",
+ U_("intercept mode is not supported with SELinux RBAC on this system"));
+ CLR(details->flags, CD_INTERCEPT);
+ }
+ if (ISSET(details->flags, CD_LOG_SUBCMDS)) {
+ sudo_warnx("%s",
+ U_("unable to log sub-commands with SELinux RBAC on this system"));
+ CLR(details->flags, CD_LOG_SUBCMDS);
+ }
+ }
+#endif /* HAVE_SELINUX && !HAVE_PTRACE_INTERCEPT */
+
/* If running in background mode, fork and exit. */
if (ISSET(details->flags, CD_BACKGROUND)) {
switch (sudo_debug_fork()) {
@@ -414,7 +473,7 @@ sudo_execute(struct command_details *details, struct command_status *cstat)
*/
if (direct_exec_allowed(details)) {
if (!sudo_terminated(cstat)) {
- exec_cmnd(details, -1, -1);
+ exec_cmnd(details, NULL, -1, -1);
cstat->type = CMD_ERRNO;
cstat->val = errno;
}
diff --git a/src/exec_common.c b/src/exec_common.c
index 35288f9e1..c5fc8cb77 100644
--- a/src/exec_common.c
+++ b/src/exec_common.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2009-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -104,8 +104,12 @@ sudo_execve(int fd, const char *path, char *const argv[], char *envp[],
/* Modify the environment as needed to trap execve(). */
if (ISSET(flags, CD_NOEXEC))
envp = disable_execute(envp, sudo_conf_noexec_path());
- else if (ISSET(flags, CD_INTERCEPT|CD_LOG_SUBCMDS))
- envp = enable_intercept(envp, sudo_conf_intercept_path(), intercept_fd);
+ if (ISSET(flags, CD_INTERCEPT|CD_LOG_SUBCMDS)) {
+ if (!ISSET(flags, CD_USE_PTRACE)) {
+ envp = enable_intercept(envp, sudo_conf_intercept_path(),
+ intercept_fd);
+ }
+ }
#ifdef HAVE_FEXECVE
if (fd != -1)
diff --git a/src/exec_intercept.c b/src/exec_intercept.c
index 8f409a4ab..3f7064aea 100644
--- a/src/exec_intercept.c
+++ b/src/exec_intercept.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2021-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -36,7 +36,6 @@
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
-#include <termios.h>
#include "sudo.h"
#include "sudo_exec.h"
@@ -44,52 +43,26 @@
#include "sudo_plugin_int.h"
#include "sudo_rand.h"
#include "intercept.pb-c.h"
+#include "exec_intercept.h"
#ifdef _PATH_SUDO_INTERCEPT
-
-/* TCSASOFT is a BSD extension that ignores control flags and speed. */
-# ifndef TCSASOFT
-# define TCSASOFT 0
-# endif
-
-enum intercept_state {
- RECV_HELLO_INITIAL,
- RECV_HELLO,
- RECV_SECRET,
- RECV_POLICY_CHECK,
- RECV_CONNECTION,
- POLICY_ACCEPT,
- POLICY_REJECT,
- POLICY_ERROR
-};
-
-/* Closure for intercept_cb() */
-struct intercept_closure {
- union sudo_token_un token;
- struct command_details *details;
- struct sudo_event ev;
- const char *errstr;
- char *command; /* dynamically allocated */
- char **run_argv; /* owned by plugin */
- char **run_envp; /* dynamically allocated */
- uint8_t *buf; /* dynamically allocated */
- uint32_t len;
- uint32_t off;
- int listen_sock;
- enum intercept_state state;
-};
-
static union sudo_token_un intercept_token;
static in_port_t intercept_listen_port;
static struct intercept_closure *accept_closure;
static void intercept_accept_cb(int fd, int what, void *v);
static void intercept_cb(int fd, int what, void *v);
-bool
+/*
+ * Create an intercept closure.
+ * Returns an opaque pointer to the closure, which is also
+ * passed to the event callback when not using ptrace(2).
+ */
+void *
intercept_setup(int fd, struct sudo_event_base *evbase,
struct command_details *details)
{
struct intercept_closure *closure;
+ int rc;
debug_decl(intercept_setup, SUDO_DEBUG_EXEC);
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
@@ -100,46 +73,55 @@ intercept_setup(int fd, struct sudo_event_base *evbase,
sudo_warnx("%s", U_("unable to allocate memory"));
goto bad;
}
-
- /* If we've already seen an InterceptHello, expect a policy check first. */
- closure->state = sudo_token_isset(intercept_token) ?
- RECV_SECRET : RECV_HELLO_INITIAL;
closure->details = details;
closure->listen_sock = -1;
- if (sudo_ev_set(&closure->ev, fd, SUDO_EV_READ|SUDO_EV_PERSIST, intercept_cb, closure) == -1) {
- /* This cannot (currently) fail. */
- sudo_warn("%s", U_("unable to add event to queue"));
- goto bad;
- }
- if (sudo_ev_add(evbase, &closure->ev, NULL, false) == -1) {
- sudo_warn("%s", U_("unable to add event to queue"));
- goto bad;
+ if (ISSET(details->flags, CD_USE_PTRACE)) {
+ /*
+ * We can perform a policy check immediately using ptrace(2)
+ * but should ignore the execve(2) of the initial command
+ * (and sesh for SELinux RBAC).
+ */
+ closure->state = RECV_POLICY_CHECK;
+ closure->initial_command = 1;
+ if (ISSET(details->flags, CD_RBAC_ENABLED))
+ closure->initial_command++;
+ } else {
+ /*
+ * Not using ptrace(2), use LD_PRELOAD (or its equivalent). If
+ * we've already seen an InterceptHello, expect a policy check first.
+ */
+ closure->state = sudo_token_isset(intercept_token) ?
+ RECV_SECRET : RECV_HELLO_INITIAL;
+
+ rc = sudo_ev_set(&closure->ev, fd, SUDO_EV_READ|SUDO_EV_PERSIST,
+ intercept_cb, closure);
+ if (rc == -1 || sudo_ev_add(evbase, &closure->ev, NULL, false) == -1) {
+ sudo_warn("%s", U_("unable to add event to queue"));
+ goto bad;
+ }
}
- debug_return_bool(true);
+ debug_return_ptr(closure);
bad:
free(closure);
- debug_return_bool(false);
+ debug_return_ptr(NULL);
}
/*
- * Close intercept socket and free closure when we are done with
- * the connection.
+ * Reset intercept_closure so it can be re-used.
*/
-static void
-intercept_connection_close(struct intercept_closure *closure)
+void
+intercept_closure_reset(struct intercept_closure *closure)
{
- const int fd = sudo_ev_get_fd(&closure->ev);
size_t n;
- debug_decl(intercept_connection_close, SUDO_DEBUG_EXEC);
+ debug_decl(intercept_closure_reset, SUDO_DEBUG_EXEC);
- sudo_ev_del(NULL, &closure->ev);
- close(fd);
- if (closure->listen_sock != -1)
+ if (closure->listen_sock != -1) {
close(closure->listen_sock);
-
+ closure->listen_sock = -1;
+ }
free(closure->buf);
free(closure->command);
if (closure->run_argv != NULL) {
@@ -152,6 +134,31 @@ intercept_connection_close(struct intercept_closure *closure)
free(closure->run_envp[n]);
free(closure->run_envp);
}
+ closure->errstr = NULL;
+ closure->command = NULL;
+ closure->run_argv = NULL;
+ closure->run_envp = NULL;
+ closure->buf = NULL;
+ closure->len = 0;
+ closure->off = 0;
+ /* Does not currently reset token. */
+
+ debug_return;
+}
+
+/*
+ * Close intercept socket and free closure when we are done with
+ * the connection.
+ */
+static void
+intercept_connection_close(struct intercept_closure *closure)
+{
+ const int fd = sudo_ev_get_fd(&closure->ev);
+ debug_decl(intercept_connection_close, SUDO_DEBUG_EXEC);
+
+ sudo_ev_del(NULL, &closure->ev);
+ close(fd);
+ intercept_closure_reset(closure);
free(closure);
debug_return;
@@ -297,59 +304,39 @@ bad:
debug_return_ptr(NULL);
}
-static bool
-intercept_check_policy(PolicyCheckRequest *req,
- struct intercept_closure *closure)
+/*
+ * Perform a policy check for the given command.
+ * While argv must be NULL-terminated, envp need not be.
+ * The status of the policy check is stored in closure->state.
+ * Return false on error, else true.
+ */
+bool
+intercept_check_policy(const char *command, int argc, char **argv, int envc,
+ char **envp, const char *runcwd, void *v)
{
+ struct intercept_closure *closure = v;
char **command_info = NULL;
char **command_info_copy = NULL;
char **user_env_out = NULL;
- char **argv = NULL, **run_argv = NULL;
+ char **run_argv = NULL;
bool ret = false;
- int result;
- size_t n;
+ int i, rc;
debug_decl(intercept_check_policy, SUDO_DEBUG_EXEC);
- if (req->command == NULL || req->n_argv == 0 || req->n_envp == 0) {
- closure->errstr = N_("invalid PolicyCheckRequest");
- goto done;
- }
-
- if (sudo_debug_needed(SUDO_DEBUG_INFO)) {
- sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
- "req_command: %s", req->command);
- for (n = 0; n < req->n_argv; n++) {
- sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
- "req_argv[%zu]: %s", n, req->argv[n]);
- }
- }
-
- /* Rebuild argv from PolicyCheckReq so it is NULL-terminated. */
- argv = reallocarray(NULL, req->n_argv + 1, sizeof(char *));
- if (argv == NULL) {
- closure->errstr = N_("unable to allocate memory");
- goto done;
- }
- argv[0] = req->command;
- for (n = 1; n < req->n_argv; n++) {
- argv[n] = req->argv[n];
- }
- argv[n] = NULL;
-
if (ISSET(closure->details->flags, CD_INTERCEPT)) {
/* We don't currently have a good way to validate the environment. */
sudo_debug_set_active_instance(policy_plugin.debug_instance);
- result = policy_plugin.u.policy->check_policy(n, argv, NULL,
+ rc = policy_plugin.u.policy->check_policy(argc, argv, NULL,
&command_info, &run_argv, &user_env_out, &closure->errstr);
sudo_debug_set_active_instance(sudo_debug_instance);
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
- "check_policy returns %d", result);
+ "check_policy returns %d", rc);
- switch (result) {
+ switch (rc) {
case 1:
/* Rebuild command_info[] with runcwd and extract command. */
command_info_copy = update_command_info(command_info, NULL,
- req->cwd ? req->cwd : "unknown", &closure->command);
+ runcwd ? runcwd : "unknown", &closure->command);
if (command_info_copy == NULL) {
closure->errstr = N_("unable to allocate memory");
goto done;
@@ -372,7 +359,7 @@ intercept_check_policy(PolicyCheckRequest *req,
/* No actual policy check, just logging child processes. */
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
"not checking policy, audit only");
- closure->command = strdup(req->command);
+ closure->command = strdup(command);
if (closure->command == NULL) {
closure->errstr = N_("unable to allocate memory");
goto done;
@@ -380,7 +367,7 @@ intercept_check_policy(PolicyCheckRequest *req,
/* Rebuild command_info[] with new command and runcwd. */
command_info = update_command_info(closure->details->info,
- req->command, req->cwd ? req->cwd : "unknown", NULL);
+ command, runcwd ? runcwd : "unknown", NULL);
if (command_info == NULL) {
closure->errstr = N_("unable to allocate memory");
goto done;
@@ -392,47 +379,47 @@ intercept_check_policy(PolicyCheckRequest *req,
if (sudo_debug_needed(SUDO_DEBUG_INFO)) {
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
"run_command: %s", closure->command);
- for (n = 0; command_info[n] != NULL; n++) {
+ for (i = 0; command_info[i] != NULL; i++) {
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
- "command_info[%zu]: %s", n, command_info[n]);
+ "command_info[%d]: %s", i, command_info[i]);
}
- for (n = 0; run_argv[n] != NULL; n++) {
+ for (i = 0; run_argv[i] != NULL; i++) {
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
- "run_argv[%zu]: %s", n, run_argv[n]);
+ "run_argv[%d]: %s", i, run_argv[i]);
}
}
- /* run_argv strings may be part of PolicyCheckReq, make a copy. */
- for (n = 0; run_argv[n] != NULL; n++)
+ /* Make a copy of run_argv, it may share contents of argv. */
+ for (i = 0; run_argv[i] != NULL; i++)
continue;
- closure->run_argv = reallocarray(NULL, n + 1, sizeof(char *));
+ closure->run_argv = reallocarray(NULL, i + 1, sizeof(char *));
if (closure->run_argv == NULL) {
closure->errstr = N_("unable to allocate memory");
goto done;
}
- for (n = 0; run_argv[n] != NULL; n++) {
- closure->run_argv[n] = strdup(run_argv[n]);
- if (closure->run_argv[n] == NULL) {
+ for (i = 0; run_argv[i] != NULL; i++) {
+ closure->run_argv[i] = strdup(run_argv[i]);
+ if (closure->run_argv[i] == NULL) {
closure->errstr = N_("unable to allocate memory");
goto done;
}
}
- closure->run_argv[n] = NULL;
+ closure->run_argv[i] = NULL;
- /* envp strings are part of PolicyCheckReq, make a copy. */
- closure->run_envp = reallocarray(NULL, req->n_envp + 1, sizeof(char *));
+ /* Make a copy of envp, which may not be NULL-terminated. */
+ closure->run_envp = reallocarray(NULL, envc + 1, sizeof(char *));
if (closure->run_envp == NULL) {
closure->errstr = N_("unable to allocate memory");
goto done;
}
- for (n = 0; n < req->n_envp; n++) {
- closure->run_envp[n] = strdup(req->envp[n]);
- if (closure->run_envp[n] == NULL) {
+ for (i = 0; i < envc; i++) {
+ closure->run_envp[i] = strdup(envp[i]);
+ if (closure->run_envp[i] == NULL) {
closure->errstr = N_("unable to allocate memory");
goto done;
}
}
- closure->run_envp[n] = NULL;
+ closure->run_envp[i] = NULL;
if (ISSET(closure->details->flags, CD_INTERCEPT)) {
audit_accept(policy_plugin.name, SUDO_POLICY_PLUGIN, command_info,
@@ -458,11 +445,54 @@ done:
closure->state = POLICY_ERROR;
}
if (command_info_copy != NULL) {
- for (n = 0; command_info_copy[n] != NULL; n++) {
- free(command_info_copy[n]);
+ for (i = 0; command_info_copy[i] != NULL; i++) {
+ free(command_info_copy[i]);
}
free(command_info_copy);
}
+
+ debug_return_bool(ret);
+}
+
+static bool
+intercept_check_policy_req(PolicyCheckRequest *req,
+ struct intercept_closure *closure)
+{
+ char **argv = NULL;
+ bool ret = false;
+ size_t n;
+ debug_decl(intercept_check_policy_req, SUDO_DEBUG_EXEC);
+
+ if (req->command == NULL || req->n_argv == 0 || req->n_envp == 0) {
+ closure->errstr = N_("invalid PolicyCheckRequest");
+ goto done;
+ }
+
+ if (sudo_debug_needed(SUDO_DEBUG_INFO)) {
+ sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
+ "req_command: %s", req->command);
+ for (n = 0; n < req->n_argv; n++) {
+ sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
+ "req_argv[%zu]: %s", n, req->argv[n]);
+ }
+ }
+
+ /* Rebuild argv from PolicyCheckReq so it is NULL-terminated. */
+ argv = reallocarray(NULL, req->n_argv + 1, sizeof(char *));
+ if (argv == NULL) {
+ closure->errstr = N_("unable to allocate memory");
+ goto done;
+ }
+ argv[0] = req->command;
+ for (n = 1; n < req->n_argv; n++) {
+ argv[n] = req->argv[n];
+ }
+ argv[n] = NULL;
+
+ ret = intercept_check_policy(req->command, req->n_argv, argv, req->n_envp,
+ req->envp, req->cwd, closure);
+
+done:
free(argv);
debug_return_bool(ret);
@@ -476,7 +506,7 @@ static int
intercept_verify_token(int fd, struct intercept_closure *closure)
{
ssize_t nread;
- debug_decl(intercept_read_token, SUDO_DEBUG_EXEC);
+ debug_decl(intercept_verify_token, SUDO_DEBUG_EXEC);
nread = recv(fd, closure->token.u8 + closure->off,
sizeof(closure->token) - closure->off, 0);
@@ -517,11 +547,9 @@ intercept_read(int fd, struct intercept_closure *closure)
{
struct sudo_event_base *evbase = sudo_ev_get_base(&closure->ev);
InterceptRequest *req = NULL;
- pid_t saved_pgrp = -1;
- struct termios oterm;
- ssize_t nread;
bool ret = false;
- int ttyfd = -1;
+ ssize_t nread;
+ int rc;
debug_decl(intercept_read, SUDO_DEBUG_EXEC);
if (closure->state == RECV_SECRET) {
@@ -596,7 +624,7 @@ intercept_read(int fd, struct intercept_closure *closure)
unpack:
req = intercept_request__unpack(NULL, closure->len, closure->buf);
if (req == NULL) {
- sudo_warnx("unable to unpack %s size %zu", "InterceptRequest",
+ sudo_warnx(U_("unable to unpack %s size %zu"), "InterceptRequest",
(size_t)closure->len);
goto done;
}
@@ -619,24 +647,7 @@ unpack:
goto done;
}
- /* Take back control of the tty, if necessary, for the policy check. */
- ttyfd = open(_PATH_TTY, O_RDWR);
- if (ttyfd != -1) {
- saved_pgrp = tcgetpgrp(ttyfd);
- if (saved_pgrp == -1 || tcsetpgrp(ttyfd, getpgid(0)) == -1 ||
- tcgetattr(ttyfd, &oterm) == -1) {
- close(ttyfd);
- ttyfd = -1;
- }
- }
-
- ret = intercept_check_policy(req->u.policy_check_req, closure);
-
- /* We must restore tty before any error handling. */
- if (ttyfd != -1) {
- (void)tcsetattr(ttyfd, TCSASOFT|TCSAFLUSH, &oterm);
- (void)tcsetpgrp(ttyfd, saved_pgrp);
- }
+ ret = intercept_check_policy_req(req->u.policy_check_req, closure);
if (!ret)
goto done;
break;
@@ -662,12 +673,9 @@ unpack:
}
/* Switch event to write mode for the reply. */
- if (sudo_ev_set(&closure->ev, fd, SUDO_EV_WRITE|SUDO_EV_PERSIST, intercept_cb, closure) == -1) {
- /* This cannot (currently) fail. */
- sudo_warn("%s", U_("unable to add event to queue"));
- goto done;
- }
- if (sudo_ev_add(evbase, &closure->ev, NULL, false) == -1) {
+ rc = sudo_ev_set(&closure->ev, fd, SUDO_EV_WRITE|SUDO_EV_PERSIST,
+ intercept_cb, closure);
+ if (rc == -1 || sudo_ev_add(evbase, &closure->ev, NULL, false) == -1) {
sudo_warn("%s", U_("unable to add event to queue"));
goto done;
}
@@ -675,8 +683,6 @@ unpack:
ret = true;
done:
- if (ttyfd != -1)
- close(ttyfd);
intercept_request__free_unpacked(req, NULL);
debug_return_bool(ret);
}
@@ -793,8 +799,9 @@ static bool
intercept_write(int fd, struct intercept_closure *closure)
{
struct sudo_event_base *evbase = sudo_ev_get_base(&closure->ev);
- ssize_t nwritten;
bool ret = false;
+ ssize_t nwritten;
+ int rc;
debug_decl(intercept_write, SUDO_DEBUG_EXEC);
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, "state %d",
@@ -848,39 +855,38 @@ intercept_write(int fd, struct intercept_closure *closure)
closure->len = 0;
closure->off = 0;
- switch (closure->state) {
- case RECV_HELLO_INITIAL:
- /* Re-use event for the listener. */
- close(fd);
- if (sudo_ev_set(&closure->ev, closure->listen_sock, SUDO_EV_READ|SUDO_EV_PERSIST, intercept_accept_cb, closure) == -1) {
- /* This cannot (currently) fail. */
- sudo_warn("%s", U_("unable to add event to queue"));
- goto done;
- }
- if (sudo_ev_add(evbase, &closure->ev, NULL, false) == -1) {
- sudo_warn("%s", U_("unable to add event to queue"));
- goto done;
- }
- closure->listen_sock = -1;
- closure->state = RECV_CONNECTION;
- accept_closure = closure;
- break;
- case POLICY_ACCEPT:
- /* Re-use event to read InterceptHello from sudo_intercept.so ctor. */
- if (sudo_ev_set(&closure->ev, fd, SUDO_EV_READ|SUDO_EV_PERSIST, intercept_cb, closure) == -1) {
- /* This cannot (currently) fail. */
- sudo_warn("%s", U_("unable to add event to queue"));
- goto done;
- }
- if (sudo_ev_add(evbase, &closure->ev, NULL, false) == -1) {
- sudo_warn("%s", U_("unable to add event to queue"));
- goto done;
+ if (ISSET(closure->details->flags, CD_USE_PTRACE)) {
+ /* Ready for the next policy check from the tracer. */
+ closure->state = RECV_POLICY_CHECK;
+ } else {
+ switch (closure->state) {
+ case RECV_HELLO_INITIAL:
+ /* Re-use event for the listener. */
+ close(fd);
+ rc = sudo_ev_set(&closure->ev, closure->listen_sock,
+ SUDO_EV_READ|SUDO_EV_PERSIST, intercept_accept_cb, closure);
+ if (rc == -1 || sudo_ev_add(evbase, &closure->ev, NULL, false) == -1) {
+ sudo_warn("%s", U_("unable to add event to queue"));
+ goto done;
+ }
+ closure->listen_sock = -1;
+ closure->state = RECV_CONNECTION;
+ accept_closure = closure;
+ break;
+ case POLICY_ACCEPT:
+ /* Re-use event to read InterceptHello from sudo_intercept.so ctor. */
+ rc = sudo_ev_set(&closure->ev, fd, SUDO_EV_READ|SUDO_EV_PERSIST,
+ intercept_cb, closure);
+ if (rc == -1 || sudo_ev_add(evbase, &closure->ev, NULL, false) == -1) {
+ sudo_warn("%s", U_("unable to add event to queue"));
+ goto done;
+ }
+ closure->state = RECV_HELLO;
+ break;
+ default:
+ /* Done with this connection. */
+ intercept_connection_close(closure);
}
- closure->state = RECV_HELLO;
- break;
- default:
- /* Done with this connection. */
- intercept_connection_close(closure);
}
ret = true;
@@ -915,8 +921,7 @@ intercept_cb(int fd, int what, void *v)
}
/*
- * Accept a new connection from the client and fill in a client closure.
- * Registers a new event for the connection.
+ * Accept a new connection from the client register a new event for it.
*/
static void
intercept_accept_cb(int fd, int what, void *v)
@@ -946,7 +951,10 @@ intercept_accept_cb(int fd, int what, void *v)
if (flags != -1)
(void)fcntl(client_sock, F_SETFL, flags | O_NONBLOCK);
- if (!intercept_setup(client_sock, evbase, closure->details)) {
+ /*
+ * Create a new intercept closure and register an event for client_sock.
+ */
+ if (intercept_setup(client_sock, evbase, closure->details) == NULL) {
goto bad;
}
@@ -958,7 +966,7 @@ bad:
debug_return;
}
#else /* _PATH_SUDO_INTERCEPT */
-bool
+void *
intercept_setup(int fd, struct sudo_event_base *evbase,
struct command_details *details)
{
@@ -966,7 +974,7 @@ intercept_setup(int fd, struct sudo_event_base *evbase,
/* Intercept support not compiled in. */
- debug_return_bool(false);
+ debug_return_ptr(NULL);
}
void
diff --git a/src/exec_intercept.h b/src/exec_intercept.h
new file mode 100644
index 000000000..e9d3a6ac3
--- /dev/null
+++ b/src/exec_intercept.h
@@ -0,0 +1,54 @@
+/*
+ * SPDX-License-Identifier: ISC
+ *
+ * Copyright (c) 2021-2022 Todd C. Miller <Todd.Miller@sudo.ws>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef SUDO_EXEC_INTERCEPT_H
+#define SUDO_EXEC_INTERCEPT_H
+
+enum intercept_state {
+ RECV_HELLO_INITIAL,
+ RECV_HELLO,
+ RECV_SECRET,
+ RECV_POLICY_CHECK,
+ RECV_CONNECTION,
+ POLICY_ACCEPT,
+ POLICY_REJECT,
+ POLICY_TEST,
+ POLICY_ERROR
+};
+
+/* Closure for intercept_cb() */
+struct intercept_closure {
+ union sudo_token_un token;
+ struct command_details *details;
+ struct sudo_event ev;
+ const char *errstr;
+ char *command; /* dynamically allocated */
+ char **run_argv; /* owned by plugin */
+ char **run_envp; /* dynamically allocated */
+ uint8_t *buf; /* dynamically allocated */
+ uint32_t len;
+ uint32_t off;
+ int listen_sock;
+ enum intercept_state state;
+ int initial_command;
+};
+
+void intercept_closure_reset(struct intercept_closure *closure);
+bool intercept_check_policy(const char *command, int argc, char **argv, int envc, char **envp, const char *runcwd, void *closure);
+
+#endif /* SUDO_EXEC_INTERCEPT_H */
diff --git a/src/exec_monitor.c b/src/exec_monitor.c
index 5f5fc326e..8c94182a4 100644
--- a/src/exec_monitor.c
+++ b/src/exec_monitor.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2009-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -43,11 +43,7 @@
#include "sudo_plugin_int.h"
struct monitor_closure {
- pid_t cmnd_pid;
- pid_t cmnd_pgrp;
- pid_t mon_pgrp;
- int backchannel;
- struct command_status *cstat;
+ struct command_details *details;
struct sudo_event_base *evbase;
struct sudo_event *errpipe_event;
struct sudo_event *backchannel_event;
@@ -59,6 +55,11 @@ struct monitor_closure {
struct sudo_event *sigusr1_event;
struct sudo_event *sigusr2_event;
struct sudo_event *sigchld_event;
+ struct command_status *cstat;
+ pid_t cmnd_pid;
+ pid_t cmnd_pgrp;
+ pid_t mon_pgrp;
+ int backchannel;
};
static bool tty_initialized;
@@ -196,21 +197,23 @@ mon_handle_sigchld(struct monitor_closure *mc)
/* Read command status. */
do {
- pid = waitpid(mc->cmnd_pid, &status, WUNTRACED|WCONTINUED|WNOHANG);
+ pid = waitpid(mc->cmnd_pid, &status, WUNTRACED|WNOHANG);
} while (pid == -1 && errno == EINTR);
switch (pid) {
- case 0:
- errno = ECHILD;
- FALLTHROUGH;
case -1:
- sudo_warn(U_("%s: %s"), __func__, "waitpid");
+ if (errno != ECHILD) {
+ sudo_warn(U_("%s: %s"), __func__, "waitpid");
+ debug_return;
+ }
+ FALLTHROUGH;
+ case 0:
+ /* Nothing to wait for. */
+ sudo_debug_printf(SUDO_DEBUG_INFO, "%s: no process to wait for",
+ __func__);
debug_return;
}
- if (WIFCONTINUED(status)) {
- sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) resumed",
- __func__, (int)mc->cmnd_pid);
- } else if (WIFSTOPPED(status)) {
+ if (WIFSTOPPED(status)) {
if (sig2str(WSTOPSIG(status), signame) == -1)
(void)snprintf(signame, sizeof(signame), "%d", WSTOPSIG(status));
sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) stopped, SIG%s",
@@ -227,7 +230,7 @@ mon_handle_sigchld(struct monitor_closure *mc)
mc->cmnd_pid = -1;
} else {
sudo_debug_printf(SUDO_DEBUG_WARN,
- "%s: unexpected wait status %d for command (%d)",
+ "%s: unexpected wait status 0x%x for command (%d)",
__func__, status, (int)mc->cmnd_pid);
}
@@ -235,18 +238,15 @@ mon_handle_sigchld(struct monitor_closure *mc)
if (mc->cstat->type == CMD_INVALID) {
/*
* Store wait status in cstat and forward to parent if stopped.
- * Parent does not expect SIGCONT so don't bother sending it.
*/
- if (!WIFCONTINUED(status)) {
- mc->cstat->type = CMD_WSTATUS;
- mc->cstat->val = status;
- if (WIFSTOPPED(status)) {
- /* Save the foreground pgid so we can restore it later. */
- pid = tcgetpgrp(io_fds[SFD_FOLLOWER]);
- if (pid != mc->mon_pgrp)
- mc->cmnd_pgrp = pid;
- send_status(mc->backchannel, mc->cstat);
- }
+ mc->cstat->type = CMD_WSTATUS;
+ mc->cstat->val = status;
+ if (WIFSTOPPED(status)) {
+ /* Save the foreground pgid so we can restore it later. */
+ pid = tcgetpgrp(io_fds[SFD_FOLLOWER]);
+ if (pid != mc->mon_pgrp)
+ mc->cmnd_pgrp = pid;
+ send_status(mc->backchannel, mc->cstat);
}
} else {
sudo_debug_printf(SUDO_DEBUG_WARN,
@@ -386,8 +386,8 @@ mon_backchannel_cb(int fd, int what, void *v)
* Returns only if execve() fails.
*/
static void
-exec_cmnd_pty(struct command_details *details, bool foreground,
- int intercept_fd, int errfd)
+exec_cmnd_pty(struct command_details *details, sigset_t *mask,
+ bool foreground, int intercept_fd, int errfd)
{
volatile pid_t self = getpid();
debug_decl(exec_cmnd_pty, SUDO_DEBUG_EXEC);
@@ -430,7 +430,7 @@ exec_cmnd_pty(struct command_details *details, bool foreground,
/* Execute command; only returns on error. */
sudo_debug_printf(SUDO_DEBUG_INFO, "executing %s in the %s",
details->command, foreground ? "foreground" : "background");
- exec_cmnd(details, intercept_fd, errfd);
+ exec_cmnd(details, mask, intercept_fd, errfd);
debug_return;
}
@@ -441,11 +441,13 @@ exec_cmnd_pty(struct command_details *details, bool foreground,
*/
static void
fill_exec_closure_monitor(struct monitor_closure *mc,
- struct command_status *cstat, int errfd, int backchannel)
+ struct command_details *details, struct command_status *cstat,
+ int errfd, int backchannel)
{
debug_decl(fill_exec_closure_monitor, SUDO_DEBUG_EXEC);
/* Fill in the non-event part of the closure. */
+ mc->details = details;
mc->cstat = cstat;
mc->backchannel = backchannel;
mc->mon_pgrp = getpgrp();
@@ -624,15 +626,12 @@ exec_monitor(struct command_details *details, sigset_t *oset,
goto bad;
case 0:
/* child */
- sigprocmask(SIG_SETMASK, oset, NULL);
close(backchannel);
close(errpipe[0]);
if (io_fds[SFD_USERTTY] != -1)
close(io_fds[SFD_USERTTY]);
- restore_signals();
-
/* setup tty and exec command */
- exec_cmnd_pty(details, foreground, intercept_fd, errpipe[1]);
+ exec_cmnd_pty(details, oset, foreground, intercept_fd, errpipe[1]);
if (write(errpipe[1], &errno, sizeof(int)) == -1)
sudo_warn(U_("unable to execute %s"), details->command);
_exit(EXIT_FAILURE);
@@ -656,7 +655,7 @@ exec_monitor(struct command_details *details, sigset_t *oset,
* Create new event base and register read events for the
* signal pipe, error pipe, and backchannel.
*/
- fill_exec_closure_monitor(&mc, &cstat, errpipe[0], backchannel);
+ fill_exec_closure_monitor(&mc, details, &cstat, errpipe[0], backchannel);
/* Restore signal mask now that signal handlers are setup. */
sigprocmask(SIG_SETMASK, oset, NULL);
diff --git a/src/exec_nopty.c b/src/exec_nopty.c
index 8891610c6..95e1a3f7d 100644
--- a/src/exec_nopty.c
+++ b/src/exec_nopty.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2009-2020 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -44,6 +44,10 @@
#include "sudo_plugin.h"
#include "sudo_plugin_int.h"
+#ifndef __WALL
+# define __WALL 0
+#endif
+
struct exec_closure_nopty {
struct command_details *details;
struct sudo_event_base *evbase;
@@ -61,6 +65,7 @@ struct exec_closure_nopty {
struct sudo_event *sigcont_event;
struct sudo_event *siginfo_event;
struct command_status *cstat;
+ void *intercept;
pid_t cmnd_pid;
pid_t ppgrp;
};
@@ -368,13 +373,15 @@ exec_nopty(struct command_details *details, struct command_status *cstat)
if (pipe2(errpipe, O_CLOEXEC) != 0)
sudo_fatal("%s", U_("unable to create pipe"));
- /*
- * Allocate a socketpair for communicating with sudo_intercept.so.
- * This must be inherited across exec, hence no FD_CLOEXEC.
- */
if (ISSET(details->flags, CD_INTERCEPT|CD_LOG_SUBCMDS)) {
- if (socketpair(PF_UNIX, SOCK_STREAM, 0, intercept_sv) == -1)
- sudo_fatal("%s", U_("unable to create sockets"));
+ if (!ISSET(details->flags, CD_USE_PTRACE)) {
+ /*
+ * Allocate a socketpair for communicating with sudo_intercept.so.
+ * This must be inherited across exec, hence no FD_CLOEXEC.
+ */
+ if (socketpair(PF_UNIX, SOCK_STREAM, 0, intercept_sv) == -1)
+ sudo_fatal("%s", U_("unable to create sockets"));
+ }
}
/*
@@ -408,11 +415,10 @@ exec_nopty(struct command_details *details, struct command_status *cstat)
break;
case 0:
/* child */
- sigprocmask(SIG_SETMASK, &oset, NULL);
close(errpipe[0]);
if (intercept_sv[0] != -1)
close(intercept_sv[0]);
- exec_cmnd(details, intercept_sv[1], errpipe[1]);
+ exec_cmnd(details, &oset, intercept_sv[1], errpipe[1]);
while (write(errpipe[1], &errno, sizeof(int)) == -1) {
if (errno != EINTR)
break;
@@ -442,10 +448,23 @@ exec_nopty(struct command_details *details, struct command_status *cstat)
*/
fill_exec_closure_nopty(&ec, cstat, details, errpipe[0]);
- /* Create event and closure for intercept mode. */
- if (intercept_sv[0] != -1) {
- if (!intercept_setup(intercept_sv[0], ec.evbase, details))
- exit(EXIT_FAILURE);
+ if (ISSET(details->flags, CD_INTERCEPT|CD_LOG_SUBCMDS)) {
+ int rc = 1;
+
+ /* Create event and closure for intercept mode. */
+ ec.intercept = intercept_setup(intercept_sv[0], ec.evbase, details);
+ if (ec.intercept == NULL) {
+ rc = -1;
+ } else if (ISSET(details->flags, CD_USE_PTRACE)) {
+ /* Try to seize control of the command using ptrace(2). */
+ rc = exec_ptrace_seize(ec.cmnd_pid);
+ if (rc == 0) {
+ /* There is another tracer present. */
+ CLR(details->flags, CD_INTERCEPT|CD_LOG_SUBCMDS|CD_USE_PTRACE);
+ }
+ }
+ if (rc == -1)
+ terminate_command(ec.cmnd_pid, true);
}
/* Restore signal mask now that signal handlers are setup. */
@@ -491,119 +510,74 @@ handle_sigchld_nopty(struct exec_closure_nopty *ec)
char signame[SIG2STR_MAX];
debug_decl(handle_sigchld_nopty, SUDO_DEBUG_EXEC);
- /* Read command status. */
- do {
- pid = waitpid(ec->cmnd_pid, &status, WUNTRACED|WNOHANG);
- } while (pid == -1 && errno == EINTR);
- switch (pid) {
- case 0:
- /* waitpid() will return 0 for SIGCONT, which we don't care about */
- debug_return;
- case -1:
- sudo_warn(U_("%s: %s"), __func__, "waitpid");
- debug_return;
- }
-
- if (WIFSTOPPED(status)) {
- /*
- * Save the controlling terminal's process group so we can restore it
- * after we resume, if needed. Most well-behaved shells change the
- * pgrp back to its original value before suspending so we must
- * not try to restore in that case, lest we race with the command upon
- * resume, potentially stopping sudo with SIGTTOU while the command
- * continues to run.
- */
- struct sigaction sa, osa;
- pid_t saved_pgrp = -1;
- int fd, signo = WSTOPSIG(status);
-
- if (sig2str(signo, signame) == -1)
- (void)snprintf(signame, sizeof(signame), "%d", signo);
- sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) stopped, SIG%s",
- __func__, (int)ec->cmnd_pid, signame);
-
- fd = open(_PATH_TTY, O_RDWR);
- if (fd != -1) {
- saved_pgrp = tcgetpgrp(fd);
- if (saved_pgrp == -1) {
- close(fd);
- fd = -1;
+ /* There may be multiple children in intercept mode. */
+ for (;;) {
+ do {
+ pid = waitpid(-1, &status, __WALL|WUNTRACED|WNOHANG);
+ } while (pid == -1 && errno == EINTR);
+ switch (pid) {
+ case -1:
+ if (errno != ECHILD) {
+ sudo_warn(U_("%s: %s"), __func__, "waitpid");
+ debug_return;
}
+ FALLTHROUGH;
+ case 0:
+ /* Nothing left to wait for. */
+ debug_return;
}
- if (saved_pgrp != -1) {
- /*
- * Command was stopped trying to access the controlling terminal.
- * If the command has a different pgrp and we own the controlling
- * terminal, give it to the command's pgrp and let it continue.
- */
- if (signo == SIGTTOU || signo == SIGTTIN) {
- if (saved_pgrp == ec->ppgrp) {
- pid_t cmnd_pgrp = getpgid(ec->cmnd_pid);
- if (cmnd_pgrp != ec->ppgrp) {
- if (tcsetpgrp_nobg(fd, cmnd_pgrp) == 0) {
- if (killpg(cmnd_pgrp, SIGCONT) != 0) {
- sudo_warn("kill(%d, SIGCONT)",
- (int)cmnd_pgrp);
- }
- close(fd);
- goto done;
- }
- }
- }
+
+ if (WIFSTOPPED(status)) {
+ const int signo = WSTOPSIG(status);
+
+ if (sig2str(signo, signame) == -1)
+ (void)snprintf(signame, sizeof(signame), "%d", signo);
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: process %d stopped, SIG%s", __func__, (int)pid, signame);
+
+ if (ISSET(ec->details->flags, CD_USE_PTRACE)) {
+ /* If not a group-stop signal, just continue. */
+ if (!exec_ptrace_stopped(pid, status, ec->intercept))
+ continue;
}
- }
- if (signo == SIGTSTP) {
- memset(&sa, 0, sizeof(sa));
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = SA_RESTART;
- sa.sa_handler = SIG_DFL;
- if (sudo_sigaction(SIGTSTP, &sa, &osa) != 0) {
- sudo_warn(U_("unable to set handler for signal %d"),
- SIGTSTP);
+
+ /* If the main command is suspended, suspend sudo too. */
+ if (pid == ec->cmnd_pid)
+ suspend_sudo_nopty(signo, ec->ppgrp, ec->cmnd_pid);
+ } else {
+ if (WIFSIGNALED(status)) {
+ if (sig2str(WTERMSIG(status), signame) == -1) {
+ (void)snprintf(signame, sizeof(signame), "%d",
+ WTERMSIG(status));
+ }
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: process %d killed, SIG%s", __func__,
+ (int)pid, signame);
+ } else if (WIFEXITED(status)) {
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: process %d exited: %d", __func__,
+ (int)pid, WEXITSTATUS(status));
+ } else {
+ sudo_debug_printf(SUDO_DEBUG_WARN,
+ "%s: unexpected wait status 0x%x for process %d",
+ __func__, status, (int)pid);
}
- }
- if (kill(getpid(), signo) != 0)
- sudo_warn("kill(%d, SIG%s)", (int)getpid(), signame);
- if (signo == SIGTSTP) {
- if (sudo_sigaction(SIGTSTP, &osa, NULL) != 0) {
- sudo_warn(U_("unable to restore handler for signal %d"),
- SIGTSTP);
+
+ /* Only store exit status of the main command. */
+ if (pid != ec->cmnd_pid)
+ continue;
+
+ /* Don't overwrite execve() failure with command exit status. */
+ if (ec->cstat->type == CMD_INVALID) {
+ ec->cstat->type = CMD_WSTATUS;
+ ec->cstat->val = status;
+ } else {
+ sudo_debug_printf(SUDO_DEBUG_WARN,
+ "%s: not overwriting command status %d,%d with %d,%d",
+ __func__, ec->cstat->type, ec->cstat->val,
+ CMD_WSTATUS, status);
}
+ ec->cmnd_pid = -1;
}
- if (saved_pgrp != -1) {
- /*
- * On resume, restore foreground process group, if different.
- * Otherwise, we cannot resume some shells (pdksh).
- *
- * It is possible that we are no longer the foreground process so
- * use tcsetpgrp_nobg() to prevent sudo from receiving SIGTTOU.
- */
- if (saved_pgrp != ec->ppgrp)
- tcsetpgrp_nobg(fd, saved_pgrp);
- close(fd);
- }
- } else {
- /* Command has exited or been killed, we are done. */
- if (WIFSIGNALED(status)) {
- if (sig2str(WTERMSIG(status), signame) == -1)
- (void)snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
- sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) killed, SIG%s",
- __func__, (int)ec->cmnd_pid, signame);
- } else {
- sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) exited: %d",
- __func__, (int)ec->cmnd_pid, WEXITSTATUS(status));
- }
- /* Don't overwrite execve() failure with command exit status. */
- if (ec->cstat->type == CMD_INVALID) {
- ec->cstat->type = CMD_WSTATUS;
- ec->cstat->val = status;
- } else {
- sudo_debug_printf(SUDO_DEBUG_WARN,
- "%s: not overwriting command status %d,%d with %d,%d",
- __func__, ec->cstat->type, ec->cstat->val, CMD_WSTATUS, status);
- }
- ec->cmnd_pid = -1;
}
-done:
- debug_return;
}
diff --git a/src/exec_ptrace.c b/src/exec_ptrace.c
new file mode 100644
index 000000000..dc00dd8af
--- /dev/null
+++ b/src/exec_ptrace.c
@@ -0,0 +1,1375 @@
+/*
+ * Copyright (c) 2022 Todd C. Miller <Todd.Miller@sudo.ws>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * This is an open source non-commercial project. Dear PVS-Studio, please check it.
+ * PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
+ */
+
+#include <config.h>
+
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <sys/wait.h>
+
+#include <errno.h>
+#include <limits.h>
+#include <signal.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#if defined(HAVE_ENDIAN_H)
+# include <endian.h>
+#elif defined(HAVE_SYS_ENDIAN_H)
+# include <sys/endian.h>
+#elif defined(HAVE_MACHINE_ENDIAN_H)
+# include <machine/endian.h>
+#else
+# include "compat/endian.h"
+#endif
+
+#include "sudo.h"
+#include "sudo_exec.h"
+
+#ifdef HAVE_PTRACE_INTERCEPT
+# include "exec_intercept.h"
+# include "exec_ptrace.h"
+
+/* We need to take care when ptracing 32-bit binaries on 64-bit kernels. */
+# ifdef __LP64__
+# define COMPAT_FLAG 0x01
+# else
+# define COMPAT_FLAG 0x00
+# endif
+
+static int seccomp_trap_supported = -1;
+
+/* Register getters and setters. */
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT
+static inline unsigned long
+get_stack_pointer(struct sudo_ptrace_regs *regs)
+{
+ if (regs->compat) {
+ return compat_reg_sp(regs->u.compat);
+ } else {
+ return reg_sp(regs->u.native);
+ }
+}
+
+static inline void
+set_sc_retval(struct sudo_ptrace_regs *regs, int retval)
+{
+ if (regs->compat) {
+ compat_reg_set_retval(regs->u.compat, retval);
+ } else {
+ reg_set_retval(regs->u.native, retval);
+ }
+}
+
+static inline int
+get_syscallno(struct sudo_ptrace_regs *regs)
+{
+ if (regs->compat) {
+ return compat_reg_syscall(regs->u.compat);
+ } else {
+ return reg_syscall(regs->u.native);
+ }
+}
+
+static inline void
+set_syscallno(pid_t pid, struct sudo_ptrace_regs *regs, int syscallno)
+{
+ if (regs->compat) {
+ compat_reg_set_syscall(regs->u.compat, syscallno);
+ } else {
+ reg_set_syscall(regs->u.native, syscallno);
+ }
+}
+
+static inline unsigned long
+get_sc_arg1(struct sudo_ptrace_regs *regs)
+{
+ if (regs->compat) {
+ return compat_reg_arg1(regs->u.compat);
+ } else {
+ return reg_arg1(regs->u.native);
+ }
+}
+
+static inline void
+set_sc_arg1(struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+ if (regs->compat) {
+ compat_reg_set_arg1(regs->u.compat, addr);
+ } else {
+ reg_set_arg1(regs->u.native, addr);
+ }
+}
+
+static inline unsigned long
+get_sc_arg2(struct sudo_ptrace_regs *regs)
+{
+ if (regs->compat) {
+ return compat_reg_arg2(regs->u.compat);
+ } else {
+ return reg_arg2(regs->u.native);
+ }
+}
+
+static inline void
+set_sc_arg2(struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+ if (regs->compat) {
+ compat_reg_set_arg2(regs->u.compat, addr);
+ } else {
+ reg_set_arg2(regs->u.native, addr);
+ }
+}
+
+static inline unsigned long
+get_sc_arg3(struct sudo_ptrace_regs *regs)
+{
+ if (regs->compat) {
+ return compat_reg_arg3(regs->u.compat);
+ } else {
+ return reg_arg3(regs->u.native);
+ }
+}
+
+# ifdef notyet
+static inline void
+set_sc_arg3(struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+ if (regs->compat) {
+ compat_reg_set_arg3(regs->u.compat, addr);
+ } else {
+ reg_set_arg3(regs->u.native, addr);
+ }
+}
+
+static inline unsigned long
+get_sc_arg4(struct sudo_ptrace_regs *regs)
+{
+ if (regs->compat) {
+ return compat_reg_arg4(regs->u.compat);
+ } else {
+ return reg_arg4(regs->u.native);
+ }
+}
+
+static inline void
+set_sc_arg4(struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+ if (regs->compat) {
+ compat_reg_set_arg4(regs->u.compat, addr);
+ } else {
+ reg_set_arg4(regs->u.native, addr);
+ }
+}
+# endif /* notyet */
+
+# else /* SECCOMP_AUDIT_ARCH_COMPAT */
+
+static inline unsigned long
+get_stack_pointer(struct sudo_ptrace_regs *regs)
+{
+ return reg_sp(regs->u.native);
+}
+
+static inline void
+set_sc_retval(struct sudo_ptrace_regs *regs, int retval)
+{
+ reg_set_retval(regs->u.native, retval);
+}
+
+static inline int
+get_syscallno(struct sudo_ptrace_regs *regs)
+{
+ return reg_syscall(regs->u.native);
+}
+
+static inline void
+set_syscallno(pid_t pid, struct sudo_ptrace_regs *regs, int syscallno)
+{
+ reg_set_syscall(regs->u.native, syscallno);
+}
+
+static inline unsigned long
+get_sc_arg1(struct sudo_ptrace_regs *regs)
+{
+ return reg_arg1(regs->u.native);
+}
+
+static inline void
+set_sc_arg1(struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+ reg_set_arg1(regs->u.native, addr);
+}
+
+static inline unsigned long
+get_sc_arg2(struct sudo_ptrace_regs *regs)
+{
+ return reg_arg2(regs->u.native);
+}
+
+static inline void
+set_sc_arg2(struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+ reg_set_arg2(regs->u.native, addr);
+}
+
+static inline unsigned long
+get_sc_arg3(struct sudo_ptrace_regs *regs)
+{
+ return reg_arg3(regs->u.native);
+}
+
+# ifdef notyet
+static inline void
+set_sc_arg3(struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+ reg_set_arg3(regs->u.native, addr);
+}
+
+static inline unsigned long
+get_sc_arg4(struct sudo_ptrace_regs *regs)
+{
+ return reg_arg4(regs->u.native);
+}
+
+static inline void
+set_sc_arg4(struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+ reg_set_arg4(regs->u.native, addr);
+}
+# endif /* notyet */
+# endif /* SECCOMP_AUDIT_ARCH_COMPAT */
+
+/*
+ * Get the registers for the given process and store in regs, which
+ * must be large enough. If the compat flag is set, pid is expected
+ * to refer to a 32-bit process and the md parameters will be filled
+ * in accordingly.
+ * Returns true on success, else false.
+ */
+static bool
+ptrace_getregs(int pid, struct sudo_ptrace_regs *regs, bool compat)
+{
+ debug_decl(ptrace_getregs, SUDO_DEBUG_EXEC);
+
+# ifdef __mips__
+ /* PTRACE_GETREGSET has bugs with the MIPS o32 ABI at least. */
+ if (ptrace(PTRACE_GETREGS, pid, NULL, &regs->u) == -1)
+ debug_return_bool(false);
+# else
+ struct iovec iov;
+ iov.iov_base = &regs->u;
+ iov.iov_len = sizeof(regs->u);
+ if (ptrace(PTRACE_GETREGSET, pid, (void *)NT_PRSTATUS, &iov) == -1)
+ debug_return_bool(false);
+# endif /* __mips__ */
+
+ /* Machine-dependent parameters to support compat binaries. */
+ if (compat) {
+ regs->compat = true;
+ regs->wordsize = sizeof(int);
+ } else {
+ regs->compat = false;
+ regs->wordsize = sizeof(unsigned long);
+ }
+
+ debug_return_bool(true);
+}
+
+/*
+ * Set the registers, specified by regs, for the given process.
+ * Returns true on success, else false.
+ */
+static bool
+ptrace_setregs(int pid, struct sudo_ptrace_regs *regs)
+{
+ debug_decl(ptrace_setregs, SUDO_DEBUG_EXEC);
+
+# ifdef __mips__
+ /* PTRACE_SETREGSET has bugs with the MIPS o32 ABI at least. */
+ if (ptrace(PTRACE_SETREGS, pid, NULL, &regs->u) == -1)
+ debug_return_bool(false);
+# else
+ struct iovec iov;
+ iov.iov_base = &regs->u;
+ iov.iov_len = sizeof(regs->u);
+ if (ptrace(PTRACE_SETREGSET, pid, (void *)NT_PRSTATUS, &iov) == -1)
+ debug_return_bool(false);
+# endif /* __mips__ */
+
+ debug_return_bool(true);
+}
+
+/*
+ * Read the string at addr and store in buf.
+ * Returns the number of bytes stored, including the NUL.
+ */
+static size_t
+ptrace_read_string(pid_t pid, unsigned long addr, char *buf, size_t bufsize)
+{
+ const char *buf0 = buf;
+ const char *cp;
+ unsigned long word;
+ unsigned int i;
+ debug_decl(ptrace_read_string, SUDO_DEBUG_EXEC);
+
+ /*
+ * Read the string via ptrace(2) one (native) word at a time.
+ * We use the native word size even in compat mode because that
+ * is the unit ptrace(2) uses.
+ */
+ for (;;) {
+ word = ptrace(PTRACE_PEEKDATA, pid, addr, NULL);
+ if (word == (unsigned long)-1) {
+ sudo_warn("%s: ptrace(PTRACE_PEEKDATA, %d, 0x%lx, NULL)",
+ __func__, (int)pid, addr);
+ debug_return_ssize_t(-1);
+ }
+
+ cp = (char *)&word;
+ for (i = 0; i < sizeof(unsigned long); i++) {
+ if (bufsize == 0) {
+ sudo_debug_printf(SUDO_DEBUG_ERROR,
+ "%s: %d: out of space reading string", __func__, (int)pid);
+ debug_return_size_t(-1);
+ }
+ *buf = cp[i];
+ if (*buf++ == '\0')
+ debug_return_size_t(buf - buf0);
+ bufsize--;
+ }
+ addr += sizeof(unsigned long);
+ }
+}
+
+/*
+ * Read the string vector at addr and store in vec, which must have
+ * sufficient space. Strings are stored in buf.
+ * Returns the number of bytes in buf consumed (including NULs).
+ */
+static size_t
+ptrace_read_vec(pid_t pid, struct sudo_ptrace_regs *regs, unsigned long addr,
+ char **vec, char *buf, size_t bufsize)
+{
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT
+ unsigned long next_word = -1;
+# endif
+ unsigned long word;
+ char *buf0 = buf;
+ int len = 0;
+ size_t slen;
+ debug_decl(ptrace_read_vec, SUDO_DEBUG_EXEC);
+
+ /* Fill in vector. */
+ for (;;) {
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT
+ if (next_word == (unsigned long)-1) {
+ word = ptrace(PTRACE_PEEKDATA, pid, addr, NULL);
+ if (regs->compat) {
+ /* Stash the next compat word in next_word. */
+# if BYTE_ORDER == BIG_ENDIAN
+ next_word = word & 0xffffffffU;
+ word >>= 32;
+# else
+ next_word = word >> 32;
+ word &= 0xffffffffU;
+# endif
+ }
+ } else {
+ /* Use the stashed value of the next word. */
+ word = next_word;
+ next_word = (unsigned long)-1;
+ }
+# else /* SECCOMP_AUDIT_ARCH_COMPAT */
+ word = ptrace(PTRACE_PEEKDATA, pid, addr, NULL);
+# endif /* SECCOMP_AUDIT_ARCH_COMPAT */
+ switch (word) {
+ case -1:
+ sudo_warn("%s: ptrace(PTRACE_PEEKDATA, %d, 0x%lx, NULL)",
+ __func__, (int)pid, addr);
+ debug_return_size_t(-1);
+ case 0:
+ vec[len] = NULL;
+ debug_return_size_t(buf - buf0);
+ default:
+ slen = ptrace_read_string(pid, word, buf, bufsize);
+ if (slen == (size_t)-1)
+ debug_return_size_t(-1);
+ vec[len++] = buf;
+ buf += slen + 1;
+ bufsize -= slen + 1;
+ addr += regs->wordsize;
+ continue;
+ }
+ }
+}
+
+/*
+ * Return the length of the string vector at addr or -1 on error.
+ */
+static int
+ptrace_get_vec_len(pid_t pid, struct sudo_ptrace_regs *regs, unsigned long addr)
+{
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT
+ unsigned long next_word = -1;
+# endif
+ unsigned long word;
+ int len = 0;
+ debug_decl(ptrace_get_vec_len, SUDO_DEBUG_EXEC);
+
+ for (;;) {
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT
+ if (next_word == (unsigned long)-1) {
+ word = ptrace(PTRACE_PEEKDATA, pid, addr, NULL);
+ if (regs->compat) {
+ /* Stash the next compat word in next_word. */
+# if BYTE_ORDER == BIG_ENDIAN
+ next_word = word & 0xffffffffU;
+ word >>= 32;
+# else
+ next_word = word >> 32;
+ word &= 0xffffffffU;
+# endif
+ }
+ } else {
+ /* Use the stashed value of the next word. */
+ word = next_word;
+ next_word = (unsigned long)-1;
+ }
+# else /* SECCOMP_AUDIT_ARCH_COMPAT */
+ word = ptrace(PTRACE_PEEKDATA, pid, addr, NULL);
+# endif /* SECCOMP_AUDIT_ARCH_COMPAT */
+ switch (word) {
+ case -1:
+ sudo_warn("%s: ptrace(PTRACE_PEEKDATA, %d, 0x%lx, NULL)",
+ __func__, (int)pid, addr);
+ debug_return_int(-1);
+ case 0:
+ debug_return_int(len);
+ default:
+ len++;
+ addr += regs->wordsize;
+ continue;
+ }
+ }
+}
+
+/*
+ * Write the NUL-terminated string str to addr in the tracee.
+ * Returns the number of bytes written, including trailing NUL.
+ */
+static size_t
+ptrace_write_string(pid_t pid, unsigned long addr, const char *str)
+{
+ const char *str0 = str;
+ unsigned int i;
+ union {
+ unsigned long word;
+ char buf[sizeof(unsigned long)];
+ } u;
+ debug_decl(ptrace_write_string, SUDO_DEBUG_EXEC);
+
+ /*
+ * Write the string via ptrace(2) one (native) word at a time.
+ * We use the native word size even in compat mode because that
+ * is the unit ptrace(2) writes in terms of.
+ */
+ for (;;) {
+ for (i = 0; i < sizeof(u.buf); i++) {
+ if (*str == '\0') {
+ /* NUL-pad buf to sizeof(unsigned long). */
+ u.buf[i] = '\0';
+ continue;
+ }
+ u.buf[i] = *str++;
+ }
+ if (ptrace(PTRACE_POKEDATA, pid, addr, u.word) == -1) {
+ sudo_warn("%s: ptrace(PTRACE_POKEDATA, %d, 0x%lx, %.*s)",
+ __func__, (int)pid, addr, (int)sizeof(u.buf), u.buf);
+ debug_return_size_t(-1);
+ }
+ if ((u.word & 0xff) == 0) {
+ /* If the last byte we wrote is a NUL we are done. */
+ debug_return_size_t(str - str0 + 1);
+ }
+ addr += sizeof(unsigned long);
+ }
+}
+
+/*
+ * Write the string vector vec to addr in the tracee which must have
+ * sufficient space. Strings are written to strtab.
+ * Returns the number of bytes used in strtab (including NULs).
+ */
+static size_t
+ptrace_write_vec(pid_t pid, struct sudo_ptrace_regs *regs, char **vec,
+ unsigned long addr, unsigned long strtab)
+{
+ const unsigned long strtab0 = strtab;
+ size_t i, len;
+ debug_decl(ptrace_write_vec, SUDO_DEBUG_EXEC);
+
+ /* Copy string vector into tracee one word at a time. */
+ for (i = 0; vec[i] != NULL; i++) {
+ unsigned long word = strtab;
+
+ /* First write the actual string to tracee's string table. */
+ len = ptrace_write_string(pid, strtab, vec[i]);
+ if (len == (size_t)-1)
+ debug_return_int(-1);
+ strtab += len;
+
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT
+ if (regs->compat) {
+ /*
+ * For compat binaries we need to pack two 32-bit string addresses
+ * into a single 64-bit word. If this is the last string, NULL
+ * will be written as the second 32-bit address.
+ */
+ if ((i & 1) == 1) {
+ /* Wrote this string address last iteration. */
+ continue;
+ }
+# if BYTE_ORDER == BIG_ENDIAN
+ word <<= 32;
+ if (vec[i + 1] != NULL)
+ word |= strtab;
+# else
+ if (vec[i + 1] != NULL)
+ word |= strtab << 32;
+# endif
+ }
+# endif
+ /* Next write the string address to tracee at addr. */
+ if (ptrace(PTRACE_POKEDATA, pid, addr, word) == -1) {
+ sudo_warn("%s: ptrace(PTRACE_POKEDATA, %d, 0x%lx, 0x%lx)",
+ __func__, (int)pid, addr, word);
+ debug_return_int(-1);
+ }
+ addr += sizeof(unsigned long);
+ }
+
+ /* Finally, write the terminating NULL to tracee if needed. */
+ if (!regs->compat || (i & 1) == 0) {
+ if (ptrace(PTRACE_POKEDATA, pid, addr, NULL) == -1) {
+ sudo_warn("%s: ptrace(PTRACE_POKEDATA, %d, 0x%lx, NULL)",
+ __func__, (int)pid, addr);
+ debug_return_int(-1);
+ }
+ }
+
+ debug_return_size_t(strtab - strtab0);
+}
+
+/*
+ * Use /proc/PID/cwd to determine the current working directory.
+ * Returns true on success, else false.
+ */
+static bool
+getcwd_by_pid(pid_t pid, char *buf, size_t bufsize)
+{
+ size_t len;
+ char path[PATH_MAX];
+ debug_decl(getcwd_by_pid, SUDO_DEBUG_EXEC);
+
+ len = snprintf(path, sizeof(path), "/proc/%d/cwd", (int)pid);
+ if (len < sizeof(path)) {
+ len = readlink(path, buf, bufsize);
+ if (len != (size_t)-1) {
+ /* Check for truncation. */
+ if (len >= bufsize)
+ buf[bufsize - 1] = '\0';
+ debug_return_bool(true);
+ }
+ }
+ debug_return_bool(false);
+}
+
+/*
+ * Read the filename, argv and envp of the execve(2) system call.
+ * Returns a dynamically allocated buffer the parent is responsible for.
+ */
+static char *
+get_execve_info(pid_t pid, struct sudo_ptrace_regs *regs, char **pathname_out,
+ int *argc_out, char ***argv_out, int *envc_out, char ***envp_out)
+{
+ char *argbuf, *strtab, *pathname, **argv, **envp;
+ unsigned long path_addr, argv_addr, envp_addr;
+ int argc, envc;
+ size_t bufsize, len;
+ debug_decl(get_execve_info, SUDO_DEBUG_EXEC);
+
+ bufsize = sysconf(_SC_ARG_MAX) + PATH_MAX;
+ argbuf = malloc(bufsize);
+ if (argbuf == NULL)
+ sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
+
+ /* execve(2) takes three arguments: pathname, argv, envp. */
+ path_addr = get_sc_arg1(regs);
+ argv_addr = get_sc_arg2(regs);
+ envp_addr = get_sc_arg3(regs);
+
+ /* Count argv and envp */
+ argc = ptrace_get_vec_len(pid, regs, argv_addr);
+ envc = ptrace_get_vec_len(pid, regs, envp_addr);
+ if (argc == -1 || envc == -1)
+ goto bad;
+
+ /* Reserve argv and envp at the start of argbuf so they are aligned. */
+ if ((argc + 1 + envc + 1) * sizeof(unsigned long) >= bufsize) {
+ sudo_warnx("%s", U_("insufficient space for execve arguments"));
+ goto bad;
+ }
+ argv = (char **)argbuf;
+ envp = argv + argc + 1;
+ strtab = (char *)(envp + envc + 1);
+ bufsize -= strtab - argbuf;
+
+ /* Read argv */
+ len = ptrace_read_vec(pid, regs, argv_addr, argv, strtab, bufsize);
+ if (len == (size_t)-1) {
+ sudo_warn(U_("unable to read execve %s for process %d"),
+ "argv", (int)pid);
+ goto bad;
+ }
+ strtab += len;
+ bufsize -= len;
+
+ /* Read envp */
+ len = ptrace_read_vec(pid, regs, envp_addr, envp, strtab, bufsize);
+ if (len == (size_t)-1) {
+ sudo_warn(U_("unable to read execve %s for process %d"),
+ "envp", (int)pid);
+ goto bad;
+ }
+ strtab += len;
+ bufsize -= len;
+
+ /* Read the pathname. */
+ len = ptrace_read_string(pid, path_addr, strtab, bufsize);
+ if (len == (size_t)-1) {
+ sudo_warn(U_("unable to read execve %s for process %d"),
+ "pathname", (int)pid);
+ goto bad;
+ }
+ pathname = strtab;
+
+ sudo_debug_execve(SUDO_DEBUG_DIAG, pathname, argv, envp);
+
+ *pathname_out = pathname;
+ *argc_out = argc;
+ *argv_out = argv;
+ *envc_out = envc;
+ *envp_out = envp;
+
+ debug_return_ptr(argbuf);
+bad:
+ free(argbuf);
+ debug_return_ptr(NULL);
+}
+
+/*
+ * Cause the current syscall to fail and set the error value to ecode.
+ */
+static bool
+ptrace_fail_syscall(pid_t pid, struct sudo_ptrace_regs *regs, int ecode)
+{
+ sigset_t chldmask;
+ bool ret = false;
+ int status;
+ debug_decl(ptrace_fail_syscall, SUDO_DEBUG_EXEC);
+
+ /* Cause the syscall to fail by changing its number to -1. */
+ set_syscallno(pid, regs, -1);
+ if (!ptrace_setregs(pid, regs)) {
+ sudo_warn(U_("unable to set registers for process %d"), (int)pid);
+ debug_return_bool(false);
+ }
+
+ /* Block SIGCHLD for the critical section (waitpid). */
+ sigemptyset(&chldmask);
+ sigaddset(&chldmask, SIGCHLD);
+ sigprocmask(SIG_BLOCK, &chldmask, NULL);
+
+ /* Allow the syscall to continue and change return value to ecode. */
+ ptrace(PTRACE_SYSCALL, pid, NULL, NULL);
+ for (;;) {
+ if (waitpid(pid, &status, __WALL) != -1)
+ break;
+ if (errno == EINTR)
+ continue;
+ sudo_warn(U_("%s: %s"), __func__, "waitpid");
+ goto done;
+ }
+ if (!WIFSTOPPED(status)) {
+ sudo_warnx(U_("process %d exited unexpectedly"), (int)pid);
+ goto done;
+ }
+ set_sc_retval(regs, -ecode);
+ if (!ptrace_setregs(pid, regs)) {
+ sudo_warn(U_("unable to set registers for process %d"), (int)pid);
+ goto done;
+ }
+
+ ret = true;
+
+done:
+ sigprocmask(SIG_UNBLOCK, &chldmask, NULL);
+
+ debug_return_bool(ret);
+}
+
+/*
+ * Check whether seccomp(2) filtering supports ptrace(2) traps.
+ * Only supported by Linux 4.14 and higher.
+ */
+static bool
+have_seccomp_action(const char *action)
+{
+ char line[LINE_MAX];
+ bool ret = false;
+ FILE *fp;
+ debug_decl(have_seccomp_action, SUDO_DEBUG_EXEC);
+
+ fp = fopen("/proc/sys/kernel/seccomp/actions_avail", "r");
+ if (fp != NULL) {
+ if (fgets(line, sizeof(line), fp) != NULL) {
+ char *cp, *last;
+
+ for ((cp = strtok_r(line, " \t\n", &last)); cp != NULL;
+ (cp = strtok_r(NULL, " \t\n", &last))) {
+ if (strcmp(cp, action) == 0) {
+ ret = true;
+ break;
+ }
+ }
+ }
+ fclose(fp);
+ }
+ debug_return_bool(ret);
+}
+
+/*
+ * Intercept execve(2) and execveat(2) using seccomp(2) and ptrace(2).
+ * If no tracer is present, execve(2) and execveat(2) will fail with ENOSYS.
+ * Must be called with CAP_SYS_ADMIN, before privs are dropped.
+ */
+bool
+set_exec_filter(void)
+{
+ struct sock_filter exec_filter[] = {
+ /* Load architecture value (AUDIT_ARCH_*) into the accumulator. */
+ BPF_STMT(BPF_LD | BPF_W | BPF_ABS, offsetof(struct seccomp_data, arch)),
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT2
+ /* Match on the compat2 architecture or jump to the compat check. */
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, SECCOMP_AUDIT_ARCH_COMPAT2, 0, 4),
+ /* Load syscall number into the accumulator. */
+ BPF_STMT(BPF_LD | BPF_W | BPF_ABS, offsetof(struct seccomp_data, nr)),
+ /* Jump to trace for compat2 execve(2)/execveat(2), else allow. */
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, COMPAT2_execve, 1, 0),
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, COMPAT2_execveat, 0, 13),
+ /* Trace execve(2)/execveat(2) syscalls (w/ compat flag) */
+ BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_TRACE | COMPAT_FLAG),
+# endif /* SECCOMP_AUDIT_ARCH_COMPAT2 */
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT
+ /* Match on the compat architecture or jump to the native arch check. */
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, SECCOMP_AUDIT_ARCH_COMPAT, 0, 4),
+ /* Load syscall number into the accumulator. */
+ BPF_STMT(BPF_LD | BPF_W | BPF_ABS, offsetof(struct seccomp_data, nr)),
+ /* Jump to trace for compat execve(2)/execveat(2), else allow. */
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, COMPAT_execve, 1, 0),
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, COMPAT_execveat, 0, 8),
+ /* Trace execve(2)/execveat(2) syscalls (w/ compat flag) */
+ BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_TRACE | COMPAT_FLAG),
+# endif /* SECCOMP_AUDIT_ARCH_COMPAT */
+ /* Jump to the end unless the architecture matches. */
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, SECCOMP_AUDIT_ARCH, 0, 6),
+ /* Load syscall number into the accumulator. */
+ BPF_STMT(BPF_LD | BPF_W | BPF_ABS, offsetof(struct seccomp_data, nr)),
+ /* Jump to trace for execve(2)/execveat(2), else allow. */
+# ifdef X32_execve
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, X32_execve, 3, 0),
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, X32_execveat, 2, 0),
+# else
+ /* No x32 support, check native system call numbers. */
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, __NR_execve, 3, 0),
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, __NR_execveat, 2, 3),
+# endif /* X32_execve */
+ /* If no x32 support, these two instructions are never reached. */
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, __NR_execve, 1, 0),
+ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, __NR_execveat, 0, 1),
+ /* Trace execve(2)/execveat(2) syscalls */
+ BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_TRACE),
+ /* Allow non-matching syscalls */
+ BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_ALLOW)
+ };
+ const struct sock_fprog exec_fprog = {
+ nitems(exec_filter),
+ exec_filter
+ };
+ debug_decl(set_exec_filter, SUDO_DEBUG_EXEC);
+
+ /* We must set SECCOMP_MODE_FILTER before dropping privileges. */
+ if (prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &exec_fprog) == -1) {
+ sudo_warn("%s", U_("unable to set seccomp filter"));
+ debug_return_bool(false);
+ }
+ debug_return_bool(true);
+}
+
+/*
+ * Seize control of the specified child process which must be in
+ * ptrace wait. Returns true on success, false if child is already
+ * being traced and -1 on error.
+ */
+int
+exec_ptrace_seize(pid_t child)
+{
+ const long ptrace_opts = PTRACE_O_TRACESECCOMP|PTRACE_O_TRACECLONE|
+ PTRACE_O_TRACEFORK|PTRACE_O_TRACEVFORK;
+ int ret = -1;
+ int status;
+ debug_decl(exec_ptrace_seize, SUDO_DEBUG_EXEC);
+
+ /* Seize control of the child process. */
+ if (ptrace(PTRACE_SEIZE, child, NULL, ptrace_opts) == -1) {
+ /*
+ * If the process is already being traced, we will get EPERM.
+ * We don't treat that as a fatal error since we want it to be
+ * possible to run sudo inside a sudo shell with intercept enabled.
+ */
+ if (errno != EPERM) {
+ sudo_warn("%s: ptrace(PTRACE_SEIZE, %d, NULL, 0x%lx)",
+ __func__, (int)child, ptrace_opts);
+ goto done;
+ }
+ sudo_debug_printf(SUDO_DEBUG_WARN,
+ "%s: unable to trace process %d, already being traced?",
+ __func__, (int)child);
+ ret = false;
+ }
+
+ /* The child is suspended waiting for SIGUSR1, wake it up. */
+ if (kill(child, SIGUSR1) == -1) {
+ sudo_warn("kill(%d, SIGUSR1)", (int)child);
+ goto done;
+ }
+ if (!ret)
+ goto done;
+
+ /* Wait for the child to enter trace stop and continue it. */
+ for (;;) {
+ if (waitpid(child, &status, __WALL) != -1)
+ break;
+ if (errno == EINTR)
+ continue;
+ sudo_warn(U_("%s: %s"), __func__, "waitpid");
+ goto done;
+ }
+ if (!WIFSTOPPED(status)) {
+ sudo_warnx(U_("process %d exited unexpectedly"), (int)child);
+ goto done;
+ }
+ if (ptrace(PTRACE_CONT, child, NULL, (void *)SIGUSR1) == -1) {
+ sudo_warn("%s: ptrace(PTRACE_CONT, %d, NULL, SIGUSR1)",
+ __func__, (int)child);
+ goto done;
+ }
+
+ ret = true;
+
+done:
+ debug_return_int(ret);
+}
+
+/*
+ * Verify that the execve(2) argument we wrote match the contents of closure.
+ * Returns true if they match, else false.
+ */
+static bool
+verify_execve_info(pid_t pid, struct sudo_ptrace_regs *regs,
+ struct intercept_closure *closure)
+{
+ char *pathname, **argv, **envp, *buf;
+ int argc, envc, i;
+ bool ret = true;
+ debug_decl(verify_execve_info, SUDO_DEBUG_EXEC);
+
+ buf = get_execve_info(pid, regs, &pathname, &argc, &argv,
+ &envc, &envp);
+ if (buf == NULL)
+ debug_return_bool(false);
+
+ if (pathname == NULL || strcmp(pathname, closure->command) != 0) {
+ sudo_warn(
+ U_("pathname mismatch, expected \"%s\", got \"%s\""),
+ closure->command, pathname ? pathname : "(NULL)");
+ ret = false;
+ }
+ for (i = 0; i < argc; i++) {
+ if (closure->run_argv[i] == NULL) {
+ ret = false;
+ sudo_warn(
+ U_("%s[%d] mismatch, expected \"%s\", got \"%s\""),
+ "argv", i, "(NULL)", argv[i] ? argv[i] : "(NULL)");
+ break;
+ } else if (argv[i] == NULL) {
+ ret = false;
+ sudo_warn(
+ U_("%s[%d] mismatch, expected \"%s\", got \"%s\""),
+ "argv", i, closure->run_argv[i], "(NULL)");
+ break;
+ } else if (strcmp(argv[i], closure->run_argv[i]) != 0) {
+ ret = false;
+ sudo_warn(
+ U_("%s[%d] mismatch, expected \"%s\", got \"%s\""),
+ "argv", i, closure->run_argv[i], argv[i]);
+ }
+ }
+ for (i = 0; i < envc; i++) {
+ if (closure->run_envp[i] == NULL) {
+ ret = false;
+ sudo_warn(
+ U_("%s[%d] mismatch, expected \"%s\", got \"%s\""),
+ "envp", i, "(NULL)", envp[i] ? envp[i] : "(NULL)");
+ break;
+ } else if (envp[i] == NULL) {
+ ret = false;
+ sudo_warn(
+ U_("%s[%d] mismatch, expected \"%s\", got \"%s\""),
+ "envp", i, closure->run_envp[i], "(NULL)");
+ break;
+ } else if (strcmp(envp[i], closure->run_envp[i]) != 0) {
+ ret = false;
+ sudo_warn(
+ U_("%s[%d] mismatch, expected \"%s\", got \"%s\""),
+ "envp", i, closure->run_envp[i], envp[i]);
+ }
+ }
+ free(buf);
+
+ debug_return_bool(ret);
+}
+
+/*
+ * Intercept execve(2) and perform a policy check.
+ * Reads current registers and execve(2) arguments.
+ * If the command is not allowed by policy, fail with EACCES.
+ * If the command is allowed, update argv if needed before continuing.
+ * Returns true on success and false on error.
+ */
+static bool
+ptrace_intercept_execve(pid_t pid, struct intercept_closure *closure)
+{
+ char *pathname, **argv, **envp, *buf;
+ int argc, envc, syscallno;
+ struct sudo_ptrace_regs regs;
+ bool path_mismatch = false;
+ bool argv_mismatch = false;
+ char cwd[PATH_MAX];
+ unsigned long msg;
+ bool ret = false;
+ struct stat sb;
+ int i;
+ debug_decl(ptrace_intercept_execve, SUDO_DEBUG_EXEC);
+
+ /* Do not check the policy if we are executing the initial command. */
+ if (closure->initial_command != 0) {
+ closure->initial_command--;
+ debug_return_bool(true);
+ }
+
+ /* Get compat flag. */
+ if (ptrace(PTRACE_GETEVENTMSG, pid, NULL, &msg) == -1) {
+ sudo_warn(U_("unable to get event message for process %d"), (int)pid);
+ debug_return_bool(false);
+ }
+
+ /* Get the registers. */
+ if (!ptrace_getregs(pid, &regs, msg)) {
+ sudo_warn(U_("unable to get registers for process %d"), (int)pid);
+ debug_return_bool(false);
+ }
+
+# ifdef SECCOMP_AUDIT_ARCH_COMPAT
+ if (regs.compat) {
+ syscallno = get_syscallno(&regs);
+ switch (syscallno) {
+ case COMPAT_execve:
+ /* Handled below. */
+ break;
+ case COMPAT_execveat:
+ /* We don't currently check execveat(2). */
+ debug_return_bool(true);
+ break;
+ default:
+ sudo_warnx("%s: unexpected compat system call %d",
+ __func__, syscallno);
+ debug_return_bool(false);
+ }
+ } else
+# endif /* SECCOMP_AUDIT_ARCH_COMPAT */
+ {
+ syscallno = get_syscallno(&regs);
+ switch (syscallno) {
+# ifdef X32_execve
+ case X32_execve:
+# endif
+ case __NR_execve:
+ /* Handled below. */
+ break;
+# ifdef X32_execveat
+ case X32_execveat:
+# endif
+ case __NR_execveat:
+ /* We don't currently check execveat(2). */
+ debug_return_bool(true);
+ break;
+ default:
+ sudo_warnx("%s: unexpected system call %d", __func__, syscallno);
+ debug_return_bool(false);
+ }
+ }
+
+ /* Get the current working directory and execve info. */
+ if (!getcwd_by_pid(pid, cwd, sizeof(cwd)))
+ (void)strlcpy(cwd, "unknown", sizeof(cwd));
+ buf = get_execve_info(pid, &regs, &pathname, &argc, &argv,
+ &envc, &envp);
+ if (buf == NULL) {
+ sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO,
+ "%s: %d: unable to get execve info", __func__, (int)pid);
+
+ /* Unrecoverable error, kill the process if it still exists. */
+ if (errno != ESRCH)
+ kill(pid, SIGKILL);
+ debug_return_bool(false);
+ }
+
+ /*
+ * Short-circuit the policy check if the command doesn't exist.
+ * Otherwise, both sudo and the shell will report the error.
+ */
+ if (stat(pathname, &sb) == -1) {
+ ptrace_fail_syscall(pid, &regs, errno);
+ ret = true;
+ goto done;
+ }
+
+ /* Perform a policy check. */
+ sudo_debug_printf(SUDO_DEBUG_INFO, "%s: %d: checking policy for %s",
+ __func__, (int)pid, pathname);
+ argv[0] = pathname;
+ if (!intercept_check_policy(pathname, argc, argv, envc, envp, cwd,
+ closure)) {
+ sudo_warnx("%s", U_(closure->errstr));
+ }
+
+ switch (closure->state) {
+ case POLICY_TEST:
+ path_mismatch = true;
+ argv_mismatch = true;
+ if (closure->command == NULL)
+ closure->command = pathname;
+ if (closure->run_argv == NULL)
+ closure->run_argv = argv;
+ if (closure->run_envp == NULL)
+ closure->run_envp = envp;
+ FALLTHROUGH;
+ case POLICY_ACCEPT:
+ /*
+ * Update pathname and argv if the policy modified it.
+ * We don't currently ever modify envp.
+ */
+ if (strcmp(pathname, closure->command) != 0)
+ path_mismatch = true;
+ for (i = 0; closure->run_argv[i] != NULL && argv[i] != NULL; i++) {
+ if (strcmp(closure->run_argv[i], argv[i]) != 0) {
+ argv_mismatch = true;
+ break;
+ }
+ }
+
+ if (path_mismatch || argv_mismatch) {
+ /*
+ * Need to rewrite pathname and/or argv.
+ * We can use space below the stack pointer to store the data.
+ * On amd64 there is a 128 byte red zone that must be avoided.
+ * Note: on pa-risc the stack grows up, not down.
+ */
+ unsigned long sp = get_stack_pointer(&regs) - 128;
+ unsigned long strtab;
+ size_t len, space = 0;
+
+ sudo_debug_execve(SUDO_DEBUG_DIAG, closure->command,
+ closure->run_argv, envp);
+
+ /*
+ * Calculate the amount of space required for pointers + strings.
+ * Since ptrace(2) always writes in sizeof(long) increments we
+ * need to be careful to avoid overwriting what we have already
+ * written for compat binaries (where the word size doesn't match).
+ *
+ * This is mostly a problem for the string table since we do
+ * interleaved writes of the argument vector pointers and the
+ * strings they refer to. For native binaries, it is sufficient
+ * to align the string table on a word boundary. For compat
+ * binaries, if argc is odd, writing the last pointer will overlap
+ * the first string so leave an extra word in between them.
+ */
+ if (argv_mismatch) {
+ /* argv pointers */
+ space += (argc + 1 + regs.compat) * regs.wordsize;
+
+ /* argv strings */
+ for (argc = 0; closure->run_argv[argc] != NULL; argc++) {
+ space += strlen(closure->run_argv[argc]) + 1;
+ }
+ }
+ if (path_mismatch) {
+ /* pathname string */
+ space += strlen(closure->command) + 1;
+ }
+
+ /* Reserve stack space for path, argv (w/ NULL) and its strings. */
+ sp -= WORDALIGN(space, regs);
+ strtab = sp;
+
+ if (argv_mismatch) {
+ /* Update argv address in the tracee to our new value. */
+ set_sc_arg2(&regs, sp);
+
+ /* Skip over argv pointers (plus NULL) for string table. */
+ strtab += (argc + 1 + regs.compat) * regs.wordsize;
+
+ len = ptrace_write_vec(pid, &regs, closure->run_argv,
+ sp, strtab);
+ if (len == (size_t)-1)
+ goto done;
+ strtab += len;
+ }
+ if (path_mismatch) {
+ /* Update pathname address in the tracee to our new value. */
+ set_sc_arg1(&regs, strtab);
+
+ /* Write pathname to the string table. */
+ len = ptrace_write_string(pid, strtab, closure->command);
+ if (len == (size_t)-1)
+ goto done;
+ }
+
+ /* Update args in the tracee to the new values. */
+ if (!ptrace_setregs(pid, &regs)) {
+ sudo_warn(U_("unable to set registers for process %d"),
+ (int)pid);
+ goto done;
+ }
+
+ if (closure->state == POLICY_TEST) {
+ /* Verify the contents of what we just wrote. */
+ if (!verify_execve_info(pid, &regs, closure)) {
+ sudo_debug_printf(SUDO_DEBUG_ERROR,
+ "%s: new execve args don't match closure", __func__);
+ }
+ }
+ }
+ break;
+ default:
+ /* If rejected, fake the syscall and set return to EACCES */
+ ptrace_fail_syscall(pid, &regs, EACCES);
+ break;
+ }
+
+ ret = true;
+
+done:
+ free(buf);
+ intercept_closure_reset(closure);
+
+ debug_return_bool(ret);
+}
+
+/*
+ * Handle a process stopped due to ptrace.
+ * Restarts the tracee with PTRACE_LISTEN (for a group-stop)
+ * or PTRACE_CONT (for signal-delivery-stop).
+ * Returns true if stopped by a group-stop, else false.
+ */
+bool
+exec_ptrace_stopped(pid_t pid, int status, void *intercept)
+{
+ struct intercept_closure *closure = intercept;
+ const int stopsig = WSTOPSIG(status);
+ const int sigtrap = status >> 8;
+ long signo = 0;
+ bool group_stop = false;
+ debug_decl(exec_ptrace_stopped, SUDO_DEBUG_EXEC);
+
+ if (sigtrap == (SIGTRAP | (PTRACE_EVENT_SECCOMP << 8))) {
+ if (!ptrace_intercept_execve(pid, closure)) {
+ sudo_debug_printf(SUDO_DEBUG_ERROR,
+ "%s: %d failed to intercept execve", __func__, (int)pid);
+ }
+ } else if (sigtrap == (SIGTRAP | (PTRACE_EVENT_CLONE << 8)) ||
+ sigtrap == (SIGTRAP | (PTRACE_EVENT_VFORK << 8)) ||
+ sigtrap == (SIGTRAP | (PTRACE_EVENT_FORK << 8))) {
+ unsigned long new_pid;
+
+ /* New child process, it will inherit the parent's trace flags. */
+ if (sudo_debug_needed(SUDO_DEBUG_INFO)) {
+ if (ptrace(PTRACE_GETEVENTMSG, pid, NULL, &new_pid) != -1) {
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: %d forked new child %lu", __func__, (int)pid, new_pid);
+ } else {
+ sudo_debug_printf(
+ SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO|SUDO_DEBUG_ERRNO,
+ "ptrace(PTRACE_GETEVENTMSG, %d, NULL, %p)", (int)pid,
+ &new_pid);
+ }
+ }
+ } else {
+ switch (stopsig) {
+ case SIGSTOP:
+ case SIGTSTP:
+ case SIGTTIN:
+ case SIGTTOU:
+ /* Is this a group-stop? */
+ if (status >> 16 == PTRACE_EVENT_STOP) {
+ /* Group-stop, do not deliver signal. */
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: %d: group-stop signal %d",
+ __func__, (int)pid, stopsig);
+ group_stop = true;
+ break;
+ }
+ FALLTHROUGH;
+ default:
+ /* Signal-delivery-stop, deliver signal. */
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "%s: %d: signal-delivery-stop signal %d",
+ __func__, (int)pid, stopsig);
+ signo = stopsig;
+ break;
+ }
+ }
+
+ if (group_stop) {
+ /*
+ * Restart child but prevent it from executing
+ * until SIGCONT is received (simulate SIGSTOP, etc).
+ */
+ if (ptrace(PTRACE_LISTEN, pid, NULL, 0L) == -1 && errno != ESRCH)
+ sudo_warn("%s: ptrace(PTRACE_LISTEN, %d, NULL, 0L)",
+ __func__, (int)pid);
+ } else {
+ /* Restart child immediately. */
+ if (ptrace(PTRACE_CONT, pid, NULL, signo) == -1 && errno != ESRCH)
+ sudo_warn("%s: ptrace(PTRACE_CONT, %d, NULL, %ld)",
+ __func__, (int)pid, signo);
+ }
+
+ debug_return_bool(group_stop);
+}
+
+bool
+exec_ptrace_intercept_supported(void)
+{
+# ifdef __mips__
+ /* MIPS doesn't support changing the syscall return value. */
+ return false;
+# else
+ if (seccomp_trap_supported == -1)
+ seccomp_trap_supported = have_seccomp_action("trap");
+
+ return seccomp_trap_supported == true;
+# endif
+}
+
+bool
+exec_ptrace_subcmds_supported(void)
+{
+ if (seccomp_trap_supported == -1)
+ seccomp_trap_supported = have_seccomp_action("trap");
+
+ return seccomp_trap_supported == true;
+}
+#else
+/* STUB */
+bool
+have_seccomp_action(const char *action)
+{
+ return false;
+}
+
+/* STUB */
+bool
+exec_ptrace_stopped(pid_t pid, int status, void *intercept)
+{
+ return true;
+}
+
+/* STUB */
+int
+exec_ptrace_seize(pid_t child)
+{
+ return true;
+}
+
+/* STUB */
+bool
+exec_ptrace_intercept_supported(void)
+{
+ return false;
+}
+
+/* STUB */
+bool
+exec_ptrace_subcmds_supported(void)
+{
+ return false;
+}
+#endif /* HAVE_PTRACE_INTERCEPT */
+
+/*
+ * Adjust flags based on the availability of ptrace support.
+ */
+void
+exec_ptrace_fix_flags(struct command_details *details)
+{
+ debug_decl(exec_ptrace_fix_flags, SUDO_DEBUG_EXEC);
+
+ if (ISSET(details->flags, CD_USE_PTRACE)) {
+ /* If both CD_INTERCEPT and CD_LOG_SUBCMDS set, CD_INTERCEPT wins. */
+ if (ISSET(details->flags, CD_INTERCEPT)) {
+ if (!exec_ptrace_intercept_supported())
+ CLR(details->flags, CD_USE_PTRACE);
+ } else if (ISSET(details->flags, CD_LOG_SUBCMDS)) {
+ if (!exec_ptrace_subcmds_supported())
+ CLR(details->flags, CD_USE_PTRACE);
+ } else {
+ CLR(details->flags, CD_USE_PTRACE);
+ }
+ }
+ debug_return;
+}
diff --git a/src/exec_ptrace.h b/src/exec_ptrace.h
new file mode 100644
index 000000000..7f26283a8
--- /dev/null
+++ b/src/exec_ptrace.h
@@ -0,0 +1,518 @@
+/*
+ * Copyright (c) 2022 Todd C. Miller <Todd.Miller@sudo.ws>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef SUDO_EXEC_PTRACE_H
+#define SUDO_EXEC_PTRACE_H
+
+#include <elf.h>
+#include <sys/prctl.h>
+#include <sys/ptrace.h>
+#include <sys/user.h>
+#include <asm/unistd.h>
+#include <linux/audit.h>
+#include <linux/ptrace.h>
+#include <linux/seccomp.h>
+#include <linux/filter.h>
+
+/* Older systems may not support execveat(2). */
+#ifndef __NR_execveat
+# define __NR_execveat -1
+#endif
+
+/* In case userland doesn't define __X32_SYSCALL_BIT. */
+#if defined(__x86_64__) && !defined(__X32_SYSCALL_BIT)
+# define __X32_SYSCALL_BIT 0x40000000
+#endif
+
+#ifdef __mips__
+# ifndef __NR_O32_Linux
+# define __NR_O32_Linux 4000
+# endif
+# ifndef __NR_N32_Linux
+# define __NR_N32_Linux 6000
+# endif
+#endif
+
+/* Align address to a (compat) word boundary. */
+#define WORDALIGN(_a, _r) \
+ (((_a) + ((long)(_r).wordsize - 1L)) & ~((long)(_r).wordsize - 1L))
+
+/*
+ * See syscall(2) for a list of registers used in system calls.
+ * For example code, see tools/testing/selftests/seccomp/seccomp_bpf.c
+ *
+ * The structs and registers vary among the different platforms.
+ * We define user_regs_struct as the struct to use for gettings
+ * and setting the general registers and define accessor
+ * macros to get/set the individual struct members.
+ *
+ * The value of SECCOMP_AUDIT_ARCH is used when matching the architecture
+ * in the seccomp(2) filter.
+ */
+#if defined(__x86_64__)
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_X86_64
+# define X32_execve __X32_SYSCALL_BIT + 520
+# define X32_execveat __X32_SYSCALL_BIT + 545
+# define sudo_pt_regs struct user_regs_struct
+# define reg_syscall(x) (x).orig_rax
+# define reg_retval(x) (x).rax
+# define reg_sp(x) (x).rsp
+# define reg_arg1(x) (x).rdi
+# define reg_arg2(x) (x).rsi
+# define reg_arg3(x) (x).rdx
+# define reg_arg4(x) (x).r10
+#elif defined(__aarch64__)
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_AARCH64
+# define reg_syscall(x) (x).regs[8] /* w8 */
+# define reg_retval(x) (x).regs[0] /* x0 */
+# define reg_sp(x) (x).sp /* sp */
+# define reg_arg1(x) (x).regs[0] /* x0 */
+# define reg_arg2(x) (x).regs[1] /* x1 */
+# define reg_arg3(x) (x).regs[2] /* x2 */
+# define reg_arg4(x) (x).regs[3] /* x3 */
+# define reg_set_syscall(_r, _nr) do { \
+ struct iovec _iov; \
+ long syscallno = (_nr); \
+ _iov.iov_base = &syscallno; \
+ _iov.iov_len = sizeof(syscallno); \
+ ptrace(PTRACE_SETREGSET, pid, NT_ARM_SYSTEM_CALL, &_iov); \
+} while (0)
+#elif defined(__arm__)
+/* Note: assumes arm EABI, not OABI */
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_ARM
+# define sudo_pt_regs struct pt_regs
+# define reg_syscall(x) (x).ARM_r7
+# define reg_retval(x) (x).ARM_r0
+# define reg_sp(x) (x).ARM_sp
+# define reg_arg1(x) (x).ARM_r0
+# define reg_arg2(x) (x).ARM_r1
+# define reg_arg3(x) (x).ARM_r2
+# define reg_arg4(x) (x).ARM_r3
+# define reg_set_syscall(_r, _nr) do { \
+ ptrace(PTRACE_SET_SYSCALL, pid, NULL, _nr); \
+} while (0)
+#elif defined (__hppa__)
+/* Untested (should also support hppa64) */
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PARISC
+# define sudo_pt_regs struct user_regs_struct
+# define reg_syscall(x) (x).gr[20] /* r20 */
+# define reg_retval(x) (x).gr[28] /* r28 */
+# define reg_sp(x) (x).gr[30] /* r30 */
+# define reg_arg1(x) (x).gr[26] /* r26 */
+# define reg_arg2(x) (x).gr[25] /* r25 */
+# define reg_arg3(x) (x).gr[24] /* r24 */
+# define reg_arg4(x) (x).gr[23] /* r23 */
+#elif defined(__i386__)
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_I386
+# define sudo_pt_regs struct user_regs_struct
+# define reg_syscall(x) (x).orig_eax
+# define reg_retval(x) (x).eax
+# define reg_sp(x) (x).esp
+# define reg_arg1(x) (x).ebx
+# define reg_arg2(x) (x).ecx
+# define reg_arg3(x) (x).edx
+# define reg_arg4(x) (x).esi
+#elif defined(__mips__)
+# if _MIPS_SIM == _MIPS_SIM_ABI32
+# /* Linux o32 style syscalls, 4000-4999. */
+# if BYTE_ORDER == LITTLE_ENDIAN
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPSEL
+# else
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPS
+# endif
+# elif _MIPS_SIM == _MIPS_SIM_ABI64
+# /* Linux 64-bit syscalls, 5000-5999. */
+# if BYTE_ORDER == LITTLE_ENDIAN
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPSEL64
+# else
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPS64
+# endif
+# elif _MIPS_SIM == _MIPS_SIM_NABI32
+# /* Linux N32 syscalls, 6000-6999. */
+# if BYTE_ORDER == LITTLE_ENDIAN
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPSEL64N32
+# else
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPS64N32
+# endif
+# else
+# error "Unsupported MIPS ABI"
+# endif
+/*
+ * If called via syscall(__NR_###), v0 holds __NR_O32_Linux and the real
+ * syscall is in the first arg (a0). The actual args are shifted by one.
+ * MIPS does not support setting the syscall return value via ptrace.
+ */
+# define sudo_pt_regs struct pt_regs
+# define reg_syscall(_r) ({ \
+ __u64 _nr; \
+ if ((_r).regs[2] == __NR_O32_Linux) \
+ _nr = (_r).regs[4]; /* a0 */ \
+ else \
+ _nr = (_r).regs[2]; /* v0 */ \
+ _nr; \
+})
+# define reg_retval(x) (x).regs[2] /* v0 */
+# define reg_sp(x) (x).regs[29] /* sp */
+# define reg_arg1(x) \
+ ((x).regs[2] == __NR_O32_Linux ? (x).regs[5] : (x).regs[4])
+# define reg_set_arg1(_r, _v) do { \
+ if ((_r).regs[2] == __NR_O32_Linux) \
+ (_r).regs[5] = _v; /* a1 */ \
+ else \
+ (_r).regs[4] = _v; /* a0 */ \
+} while (0)
+# define reg_arg2(x) \
+ ((x).regs[2] == __NR_O32_Linux ? (x).regs[6] : (x).regs[5])
+# define reg_set_arg2(_r, _v) do { \
+ if ((_r).regs[2] == __NR_O32_Linux) \
+ (_r).regs[6] = _v; /* a2 */ \
+ else \
+ (_r).regs[5] = _v; /* a1 */ \
+} while (0)
+# define reg_arg3(x) \
+ ((x).regs[2] == __NR_O32_Linux ? (x).regs[7] : (x).regs[6])
+# define reg_set_arg3(_r, _v) do { \
+ if ((_r).regs[2] == __NR_O32_Linux) \
+ (_r).regs[7] = _v; /* a3 */ \
+ else \
+ (_r).regs[6] = _v; /* a2 */ \
+} while (0)
+/* XXX - reg_arg4 probably wrong for syscall() type calls on 032. */
+# define reg_arg4(x) \
+ ((x).regs[2] == __NR_O32_Linux ? (x).regs[8] : (x).regs[7])
+# define reg_set_arg4(_r, _v) do { \
+ if ((_r).regs[2] == __NR_O32_Linux) \
+ (_r).regs[8] = _v; /* a4 */ \
+ else \
+ (_r).regs[7] = _v; /* a3 */ \
+} while (0)
+# define reg_set_syscall(_r, _nr) do { \
+ if ((_r).regs[2] == __NR_O32_Linux) \
+ (_r).regs[4] = _nr; /* a0 */ \
+ else \
+ (_r).regs[2] = _nr; /* v0 */ \
+} while (0)
+#elif defined(__powerpc__)
+# if defined(__powerpc64__)
+# if BYTE_ORDER == LITTLE_ENDIAN
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PPC64LE
+# else
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PPC64
+# endif
+# else
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PPC
+# endif
+# define sudo_pt_regs struct pt_regs
+# define reg_syscall(x) (x).gpr[0] /* r0 */
+# define reg_retval(x) (x).gpr[3] /* r3 */
+# define reg_sp(x) (x).gpr[1] /* r1 */
+# define reg_arg1(x) (x).orig_gpr3 /* r3 */
+# define reg_arg2(x) (x).gpr[4] /* r4 */
+# define reg_arg3(x) (x).gpr[5] /* r5 */
+# define reg_arg4(x) (x).gpr[6] /* r6 */
+# define reg_set_retval(_r, _v) do { \
+ if (((_r).trap & 0xfff0) == 0x3000) { \
+ /* scv 0 system call, uses negative error code for result. */ \
+ reg_retval(_r) = (_v); \
+ } else { \
+ /* \
+ * Set CR0 SO bit to indicate a syscall error, which is stored \
+ * as a positive error code. \
+ */ \
+ reg_retval(_r) = -(_v); \
+ (_r).ccr |= 0x10000000; \
+ } \
+} while (0)
+#elif defined(__riscv) && __riscv_xlen == 64
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_RISCV64
+# define sudo_pt_regs struct user_regs_struct
+# define reg_syscall(x) (x).a7
+# define reg_retval(x) (x).a0
+# define reg_sp(x) (x).sp
+# define reg_arg1(x) (x).a0
+# define reg_arg2(x) (x).a1
+# define reg_arg3(x) (x).a2
+# define reg_arg4(x) (x).a3
+#elif defined(__s390__)
+/*
+ * Both the syscall number and return value are stored in r2 for
+ * the s390 ptrace API. The first argument is stored in orig_gpr2.
+ */
+# if defined(__s390x__)
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_S390X
+# else
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_S390
+# endif
+# define sudo_pt_regs s390_regs
+# define reg_syscall(x) (x).gprs[2] /* r2 */
+# define reg_retval(x) (x).gprs[2] /* r2 */
+# define reg_sp(x) (x).gprs[15] /* r15 */
+# define reg_arg1(x) (x).orig_gpr2 /* r2 */
+# define reg_arg2(x) (x).gprs[3] /* r3 */
+# define reg_arg3(x) (x).gprs[4] /* r4 */
+# define reg_arg4(x) (x).gprs[5] /* r6 */
+#else
+# error "Do not know how to find your architecture's registers"
+#endif
+
+/*
+ * Compat definitions for running 32-bit binaries on 64-bit platforms.
+ * We must define the register struct too since there is no way to
+ * get it directly from the system headers.
+ *
+ * The value of SECCOMP_AUDIT_ARCH_COMPAT is used when matching the
+ * architecture in the seccomp(2) filter. We can tell when the compat
+ * arch matched by inspecting the message returned by PTRACE_GETEVENTMSG.
+ */
+#if defined(__x86_64__)
+struct i386_user_regs_struct {
+ unsigned int ebx;
+ unsigned int ecx;
+ unsigned int edx;
+ unsigned int esi;
+ unsigned int edi;
+ unsigned int ebp;
+ unsigned int eax;
+ unsigned int xds;
+ unsigned int xes;
+ unsigned int xfs;
+ unsigned int xgs;
+ unsigned int orig_eax;
+ unsigned int eip;
+ unsigned int xcs;
+ unsigned int eflags;
+ unsigned int esp;
+ unsigned int xss;
+};
+# define SECCOMP_AUDIT_ARCH_COMPAT AUDIT_ARCH_I386
+# define COMPAT_execve 11
+# define COMPAT_execveat 358
+# define compat_sudo_pt_regs struct i386_user_regs_struct
+# define compat_reg_syscall(x) (x).orig_eax
+# define compat_reg_retval(x) (x).eax
+# define compat_reg_sp(x) (x).esp
+# define compat_reg_arg1(x) (x).ebx
+# define compat_reg_arg2(x) (x).ecx
+# define compat_reg_arg3(x) (x).edx
+# define compat_reg_arg4(x) (x).esi
+#elif defined(__aarch64__)
+struct arm_pt_regs {
+ unsigned int uregs[18];
+};
+# define SECCOMP_AUDIT_ARCH_COMPAT AUDIT_ARCH_ARM
+# define COMPAT_execve 11
+# define COMPAT_execveat 387
+# define compat_sudo_pt_regs struct arm_pt_regs
+# define compat_reg_syscall(x) (x).uregs[7] /* r7 */
+# define compat_reg_retval(x) (x).uregs[0] /* r0 */
+# define compat_reg_sp(x) (x).uregs[13] /* r13 */
+# define compat_reg_arg1(x) (x).uregs[0] /* r0 */
+# define compat_reg_arg2(x) (x).uregs[1] /* r1 */
+# define compat_reg_arg3(x) (x).uregs[2] /* r2 */
+# define compat_reg_arg4(x) (x).uregs[3] /* r3 */
+# define compat_reg_set_syscall(_r, _nr) reg_set_syscall(_r, _nr)
+#elif defined(__mips__)
+# if _MIPS_SIM == _MIPS_SIM_ABI64
+/* MIPS o32/n32 binary compatibility on a mips64 system. */
+# if BYTE_ORDER == LITTLE_ENDIAN
+# define SECCOMP_AUDIT_ARCH_COMPAT AUDIT_ARCH_MIPSEL
+# define SECCOMP_AUDIT_ARCH_COMPAT2 AUDIT_ARCH_MIPSEL64N32
+# else
+# define SECCOMP_AUDIT_ARCH_COMPAT AUDIT_ARCH_MIPS
+# define SECCOMP_AUDIT_ARCH_COMPAT2 AUDIT_ARCH_MIPS64N32
+# endif
+# define COMPAT_execve __NR_O32_Linux + 11
+# define COMPAT_execveat __NR_O32_Linux + 356
+# define COMPAT2_execve __NR_N32_Linux + 57
+# define COMPAT2_execveat __NR_N32_Linux + 320
+# elif _MIPS_SIM == _MIPS_SIM_NABI32
+# if BYTE_ORDER == LITTLE_ENDIAN
+# define SECCOMP_AUDIT_ARCH_COMPAT AUDIT_ARCH_MIPSEL
+# else
+# define SECCOMP_AUDIT_ARCH_COMPAT AUDIT_ARCH_MIPS
+# endif
+# define COMPAT_execve __NR_O32_Linux + 11
+# define COMPAT_execveat __NR_O32_Linux + 356
+# endif /* _MIPS_SIM_ABI64 */
+/* MIPS ABIs use a common ptrace interface. */
+# define compat_sudo_pt_regs struct pt_regs
+# define compat_reg_syscall(x) reg_syscall(x)
+# define compat_reg_retval(x) reg_retval(x)
+# define compat_reg_sp(x) reg_sp(x)
+# define compat_reg_arg1(x) reg_arg1(x)
+# define compat_reg_set_arg1(_r, _v) reg_set_arg1(_r, _v)
+# define compat_reg_arg2(x) reg_arg2(x)
+# define compat_reg_set_arg2(_r, _v) reg_set_arg2(_r, _v)
+# define compat_reg_arg3(x) reg_arg3(x)
+# define compat_reg_set_arg3(_r, _v) reg_set_arg3(_r, _v)
+# define compat_reg_arg4(x) reg_arg4(x)
+# define compat_reg_set_arg4(_r, _v) reg_set_arg4(_r, _v)
+# define compat_reg_set_syscall(_r, _nr) reg_set_syscall(_r, _nr)
+#elif defined(__powerpc64__)
+struct ppc_pt_regs {
+ unsigned int gpr[32];
+ unsigned int nip;
+ unsigned int msr;
+ unsigned int orig_gpr3;
+ unsigned int ctr;
+ unsigned int link;
+ unsigned int xer;
+ unsigned int ccr;
+ unsigned int mq;
+ unsigned int trap;
+ unsigned int dar;
+ unsigned int dsisr;
+ unsigned int result;
+};
+# if BYTE_ORDER == LITTLE_ENDIAN
+/* There is no AUDIT_ARCH_PPCLE define. */
+# define SECCOMP_AUDIT_ARCH_COMPAT (AUDIT_ARCH_PPC|__AUDIT_ARCH_LE)
+# else
+# define SECCOMP_AUDIT_ARCH_COMPAT AUDIT_ARCH_PPC
+# endif
+# define COMPAT_execve __NR_execve
+# define COMPAT_execveat __NR_execveat
+# define compat_sudo_pt_regs struct ppc_pt_regs
+# define compat_reg_syscall(x) (x).gpr[0] /* r0 */
+# define compat_reg_retval(x) (x).gpr[3] /* r3 */
+# define compat_reg_sp(x) (x).gpr[1] /* r1 */
+# define compat_reg_arg1(x) (x).orig_gpr3 /* r3 */
+# define compat_reg_arg2(x) (x).gpr[4] /* r4 */
+# define compat_reg_arg3(x) (x).gpr[5] /* r5 */
+# define compat_reg_arg4(x) (x).gpr[6] /* r6 */
+# define compat_reg_set_retval(_r, _v) reg_set_retval(_r, _v)
+#endif
+
+/* Set the syscall number the "normal" way by default. */
+#ifndef reg_set_syscall
+# define reg_set_syscall(_r, _nr) do { \
+ reg_syscall(_r) = (_nr); \
+} while (0)
+#endif
+#ifndef compat_reg_set_syscall
+# define compat_reg_set_syscall(_r, _nr) do { \
+ compat_reg_syscall(_r) = (_nr); \
+} while (0)
+#endif
+
+/* Set the syscall return value the "normal" way by default. */
+#ifndef reg_set_retval
+# define reg_set_retval(_r, _v) do { \
+ reg_retval(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_retval
+# define compat_reg_set_retval(_r, _v) do { \
+ compat_reg_retval(_r) = (_v); \
+} while (0)
+#endif
+
+/* Set the syscall arguments the "normal" way by default. */
+#ifndef reg_set_arg1
+# define reg_set_arg1(_r, _v) do { \
+ reg_arg1(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_arg1
+# define compat_reg_set_arg1(_r, _v) do { \
+ compat_reg_arg1(_r) = (_v); \
+} while (0)
+#endif
+#ifndef reg_set_arg2
+# define reg_set_arg2(_r, _v) do { \
+ reg_arg2(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_arg2
+# define compat_reg_set_arg2(_r, _v) do { \
+ compat_reg_arg2(_r) = (_v); \
+} while (0)
+#endif
+#ifndef reg_set_arg3
+# define reg_set_arg3(_r, _v) do { \
+ reg_arg3(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_arg3
+# define compat_reg_set_arg3(_r, _v) do { \
+ compat_reg_arg3(_r) = (_v); \
+} while (0)
+#endif
+#ifndef reg_set_arg4
+# define reg_set_arg4(_r, _v) do { \
+ reg_arg4(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_arg4
+# define compat_reg_set_arg4(_r, _v) do { \
+ compat_reg_arg4(_r) = (_v); \
+} while (0)
+#endif
+
+/* Set the syscall arguments the "normal" way by default. */
+#ifndef reg_set_arg1
+# define reg_set_arg1(_r, _v) do { \
+ reg_arg1(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_arg1
+# define compat_reg_set_arg1(_r, _v) do { \
+ compat_reg_arg1(_r) = (_v); \
+} while (0)
+#endif
+#ifndef reg_set_arg2
+# define reg_set_arg2(_r, _v) do { \
+ reg_arg2(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_arg2
+# define compat_reg_set_arg2(_r, _v) do { \
+ compat_reg_arg2(_r) = (_v); \
+} while (0)
+#endif
+#ifndef reg_set_arg3
+# define reg_set_arg3(_r, _v) do { \
+ reg_arg3(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_arg3
+# define compat_reg_set_arg3(_r, _v) do { \
+ compat_reg_arg3(_r) = (_v); \
+} while (0)
+#endif
+#ifndef reg_set_arg4
+# define reg_set_arg4(_r, _v) do { \
+ reg_arg4(_r) = (_v); \
+} while (0)
+#endif
+#ifndef compat_reg_set_arg4
+# define compat_reg_set_arg4(_r, _v) do { \
+ compat_reg_arg4(_r) = (_v); \
+} while (0)
+#endif
+
+struct sudo_ptrace_regs {
+ union {
+ sudo_pt_regs native;
+#ifdef SECCOMP_AUDIT_ARCH_COMPAT
+ compat_sudo_pt_regs compat;
+#endif
+ } u;
+ unsigned int wordsize;
+ bool compat;
+};
+
+#endif /* SUDO_EXEC_PTRACE_H */
diff --git a/src/exec_pty.c b/src/exec_pty.c
index bba7c49cd..326d8318a 100644
--- a/src/exec_pty.c
+++ b/src/exec_pty.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2009-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -48,6 +48,10 @@
#include "sudo_plugin.h"
#include "sudo_plugin_int.h"
+#ifndef __WALL
+# define __WALL 0
+#endif
+
/* Evaluates to true if the event has /dev/tty as its fd. */
#define USERTTY_EVENT(_ev) (sudo_ev_get_fd((_ev)) == io_fds[SFD_USERTTY])
@@ -77,6 +81,7 @@ struct exec_closure_pty {
struct sudo_event *sigchld_event;
struct sudo_event *sigwinch_event;
struct command_status *cstat;
+ void *intercept;
struct monitor_message_list monitor_messages;
pid_t monitor_pid;
pid_t cmnd_pid;
@@ -527,12 +532,12 @@ check_foreground(struct exec_closure_pty *ec)
* foreground or SIGCONT_BG if it is a background process.
*/
static int
-suspend_sudo(struct exec_closure_pty *ec, int signo)
+suspend_sudo_pty(struct exec_closure_pty *ec, int signo)
{
char signame[SIG2STR_MAX];
struct sigaction sa, osa;
int ret = 0;
- debug_decl(suspend_sudo, SUDO_DEBUG_EXEC);
+ debug_decl(suspend_sudo_pty, SUDO_DEBUG_EXEC);
switch (signo) {
case SIGTTOU:
@@ -992,6 +997,20 @@ backchannel_cb(int fd, int what, void *v)
ec->cmnd_pid = cstat.val;
sudo_debug_printf(SUDO_DEBUG_INFO, "executed %s, pid %d",
ec->details->command, (int)ec->cmnd_pid);
+ if (ISSET(ec->details->flags, CD_USE_PTRACE)) {
+ /* Try to seize control of the command using ptrace(2). */
+ int rc = exec_ptrace_seize(ec->cmnd_pid);
+ if (rc == 0) {
+ /* There is another tracer present. */
+ CLR(ec->details->flags, CD_INTERCEPT|CD_LOG_SUBCMDS|CD_USE_PTRACE);
+ } else if (rc == -1) {
+ if (ec->cstat->type == CMD_INVALID) {
+ ec->cstat->type = CMD_ERRNO;
+ ec->cstat->val = errno;
+ }
+ sudo_ev_loopbreak(ec->evbase);
+ }
+ }
break;
case CMD_WSTATUS:
if (WIFSTOPPED(cstat.val)) {
@@ -1000,7 +1019,7 @@ backchannel_cb(int fd, int what, void *v)
/* Suspend parent and tell monitor how to resume on return. */
sudo_debug_printf(SUDO_DEBUG_INFO,
"command stopped, suspending parent");
- signo = suspend_sudo(ec, WSTOPSIG(cstat.val));
+ signo = suspend_sudo_pty(ec, WSTOPSIG(cstat.val));
schedule_signal(ec, signo);
/* Re-enable I/O events */
add_io_events(ec->evbase);
@@ -1045,47 +1064,62 @@ handle_sigchld_pty(struct exec_closure_pty *ec)
pid_t pid;
debug_decl(handle_sigchld_pty, SUDO_DEBUG_EXEC);
- /*
- * Monitor process was signaled; wait for it as needed.
- */
- do {
- pid = waitpid(ec->monitor_pid, &status, WUNTRACED|WNOHANG);
- } while (pid == -1 && errno == EINTR);
- switch (pid) {
- case 0:
- errno = ECHILD;
- FALLTHROUGH;
- case -1:
- sudo_warn(U_("%s: %s"), __func__, "waitpid");
- debug_return;
- }
+ /* There may be multiple children in intercept mode. */
+ for (;;) {
+ do {
+ pid = waitpid(-1, &status, __WALL|WUNTRACED|WNOHANG);
+ } while (pid == -1 && errno == EINTR);
+ switch (pid) {
+ case -1:
+ if (errno != ECHILD) {
+ sudo_warn(U_("%s: %s"), __func__, "waitpid");
+ debug_return;
+ }
+ FALLTHROUGH;
+ case 0:
+ /* Nothing left to wait for. */
+ debug_return;
+ }
- /*
- * If the monitor dies we get notified via backchannel_cb().
- * If it was stopped, we should stop too (the command keeps
- * running in its pty) and continue it when we come back.
- */
- if (WIFSTOPPED(status)) {
- sudo_debug_printf(SUDO_DEBUG_INFO,
- "monitor stopped, suspending sudo");
- n = suspend_sudo(ec, WSTOPSIG(status));
- kill(pid, SIGCONT);
- schedule_signal(ec, n);
- /* Re-enable I/O events */
- add_io_events(ec->evbase);
- } else if (WIFSIGNALED(status)) {
- char signame[SIG2STR_MAX];
- if (sig2str(WTERMSIG(status), signame) == -1)
- (void)snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
- sudo_debug_printf(SUDO_DEBUG_INFO, "%s: monitor (%d) killed, SIG%s",
- __func__, (int)ec->monitor_pid, signame);
- ec->monitor_pid = -1;
- } else {
- sudo_debug_printf(SUDO_DEBUG_INFO,
- "%s: monitor exited, status %d", __func__, WEXITSTATUS(status));
- ec->monitor_pid = -1;
+ if (WIFEXITED(status)) {
+ sudo_debug_printf(SUDO_DEBUG_INFO, "%s: process %d exited: %d",
+ __func__, (int)pid, WEXITSTATUS(status));
+ if (pid == ec->monitor_pid)
+ ec->monitor_pid = -1;
+ } else if (WIFSIGNALED(status)) {
+ char signame[SIG2STR_MAX];
+
+ if (sig2str(WTERMSIG(status), signame) == -1)
+ (void)snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
+ sudo_debug_printf(SUDO_DEBUG_INFO, "%s: process %d killed, SIG%s",
+ __func__, (int)pid, signame);
+ if (pid == ec->monitor_pid)
+ ec->monitor_pid = -1;
+ } else if (WIFSTOPPED(status)) {
+ if (pid != ec->monitor_pid) {
+ if (ISSET(ec->details->flags, CD_USE_PTRACE))
+ exec_ptrace_stopped(pid, status, ec->intercept);
+ continue;
+ }
+
+ /*
+ * If the monitor dies we get notified via backchannel_cb().
+ * If it was stopped, we should stop too (the command keeps
+ * running in its pty) and continue it when we come back.
+ */
+ sudo_debug_printf(SUDO_DEBUG_INFO,
+ "monitor stopped, suspending sudo");
+ n = suspend_sudo_pty(ec, WSTOPSIG(status));
+ kill(pid, SIGCONT);
+ schedule_signal(ec, n);
+ /* Re-enable I/O events */
+ add_io_events(ec->evbase);
+ } else {
+ sudo_debug_printf(SUDO_DEBUG_WARN,
+ "%s: unexpected wait status 0x%x for process (%d)",
+ __func__, status, (int)pid);
+ }
}
- debug_return;
}
/* Signal callback */
@@ -1390,13 +1424,15 @@ exec_pty(struct command_details *details, struct command_status *cstat)
fcntl(sv[1], F_SETFD, FD_CLOEXEC) == -1)
sudo_fatal("%s", U_("unable to create sockets"));
- /*
- * Allocate a socketpair for communicating with sudo_intercept.so.
- * This must be inherited across exec, hence no FD_CLOEXEC.
- */
if (ISSET(details->flags, CD_INTERCEPT|CD_LOG_SUBCMDS)) {
- if (socketpair(PF_UNIX, SOCK_STREAM, 0, intercept_sv) == -1)
- sudo_fatal("%s", U_("unable to create sockets"));
+ if (!ISSET(details->flags, CD_USE_PTRACE)) {
+ /*
+ * Allocate a socketpair for communicating with sudo_intercept.so.
+ * This must be inherited across exec, hence no FD_CLOEXEC.
+ */
+ if (socketpair(PF_UNIX, SOCK_STREAM, 0, intercept_sv) == -1)
+ sudo_fatal("%s", U_("unable to create sockets"));
+ }
}
/*
@@ -1641,9 +1677,10 @@ exec_pty(struct command_details *details, struct command_status *cstat)
fill_exec_closure_pty(&ec, cstat, details, ppgrp, sv[0]);
/* Create event and closure for intercept mode. */
- if (intercept_sv[0] != -1) {
- if (!intercept_setup(intercept_sv[0], ec.evbase, details))
- exit(EXIT_FAILURE);
+ if (ISSET(details->flags, CD_INTERCEPT|CD_LOG_SUBCMDS)) {
+ ec.intercept = intercept_setup(intercept_sv[0], ec.evbase, details);
+ if (ec.intercept == NULL)
+ terminate_command(ec.cmnd_pid, true);
}
/* Restore signal mask now that signal handlers are setup. */
diff --git a/src/intercept.exp.in b/src/intercept.exp.in
index c0e33f9ed..cb22c8a3f 100644
--- a/src/intercept.exp.in
+++ b/src/intercept.exp.in
@@ -4,3 +4,4 @@ execlp
execv
execve
execvp
+system
diff --git a/src/parse_args.c b/src/parse_args.c
index 5f76103cc..7a8da9209 100644
--- a/src/parse_args.c
+++ b/src/parse_args.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 1993-1996, 1998-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 1993-1996, 1998-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -52,61 +52,38 @@ static void usage_excl(void) __attribute__((__noreturn__));
/*
* Mapping of command line flags to name/value settings.
+ * Do not reorder, indexes must match ARG_ defines in sudo.h.
*/
static struct sudo_settings sudo_settings[] = {
-#define ARG_BSDAUTH_TYPE 0
{ "bsdauth_type" },
-#define ARG_LOGIN_CLASS 1
{ "login_class" },
-#define ARG_PRESERVE_ENVIRONMENT 2
{ "preserve_environment" },
-#define ARG_RUNAS_GROUP 3
{ "runas_group" },
-#define ARG_SET_HOME 4
{ "set_home" },
-#define ARG_USER_SHELL 5
{ "run_shell" },
-#define ARG_LOGIN_SHELL 6
{ "login_shell" },
-#define ARG_IGNORE_TICKET 7
{ "ignore_ticket" },
-#define ARG_PROMPT 8
{ "prompt" },
-#define ARG_SELINUX_ROLE 9
{ "selinux_role" },
-#define ARG_SELINUX_TYPE 10
{ "selinux_type" },
-#define ARG_RUNAS_USER 11
{ "runas_user" },
-#define ARG_PROGNAME 12
{ "progname" },
-#define ARG_IMPLIED_SHELL 13
{ "implied_shell" },
-#define ARG_PRESERVE_GROUPS 14
{ "preserve_groups" },
-#define ARG_NONINTERACTIVE 15
{ "noninteractive" },
-#define ARG_SUDOEDIT 16
{ "sudoedit" },
-#define ARG_CLOSEFROM 17
{ "closefrom" },
-#define ARG_NET_ADDRS 18
{ "network_addrs" },
-#define ARG_MAX_GROUPS 19
{ "max_groups" },
-#define ARG_PLUGIN_DIR 20
{ "plugin_dir" },
-#define ARG_REMOTE_HOST 21
{ "remote_host" },
-#define ARG_TIMEOUT 22
{ "timeout" },
-#define ARG_CHROOT 23
{ "cmnd_chroot" },
-#define ARG_CWD 24
{ "cmnd_cwd" },
-#define ARG_ASKPASS 25
{ "askpass" },
-#define NUM_SETTINGS 26
+ { "intercept_setid" },
+ { "intercept_ptrace" },
+ { "apparmor_profile" },
{ NULL }
};
@@ -610,6 +587,10 @@ parse_args(int argc, char **argv, int *old_optind, int *nargc, char ***nargv,
#ifdef ENABLE_SUDO_PLUGIN_API
sudo_settings[ARG_PLUGIN_DIR].value = sudo_conf_plugin_dir_path();
#endif
+ if (exec_ptrace_intercept_supported())
+ sudo_settings[ARG_INTERCEPT_SETID].value = "true";
+ if (exec_ptrace_subcmds_supported())
+ sudo_settings[ARG_INTERCEPT_PTRACE].value = "true";
if (mode == MODE_HELP)
help();
diff --git a/src/regress/intercept/test_ptrace.c b/src/regress/intercept/test_ptrace.c
new file mode 100644
index 000000000..36b52eef4
--- /dev/null
+++ b/src/regress/intercept/test_ptrace.c
@@ -0,0 +1,232 @@
+/*
+ * Copyright (c) 2022 Todd C. Miller <Todd.Miller@sudo.ws>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * This is an open source non-commercial project. Dear PVS-Studio, please check it.
+ * PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
+ */
+
+/*
+ * Test program to exercise seccomp(2) and ptrace(2) intercept code.
+ *
+ * Usage: test_ptrace [-d 1-3] [command]
+ */
+
+/* Ignore architecture restrictions and define this unilaterally. */
+#define HAVE_PTRACE_INTERCEPT
+#include "exec_ptrace.c"
+
+static sig_atomic_t got_sigchld;
+static int debug;
+int sudo_debug_instance = SUDO_DEBUG_INSTANCE_INITIALIZER;
+
+sudo_dso_public int main(int argc, char *argv[]);
+
+static void
+handler(int signo)
+{
+ if (signo == SIGCHLD)
+ got_sigchld = 1;
+}
+
+void
+intercept_closure_reset(struct intercept_closure *closure)
+{
+ memset(closure, 0, sizeof(*closure));
+}
+
+bool
+intercept_check_policy(const char *command, int argc, char **argv, int envc,
+ char **envp, const char *runcwd, void *v)
+{
+ struct intercept_closure *closure = v;
+ struct stat sb1, sb2;
+ bool is_denied;
+ debug_decl(intercept_check_policy, SUDO_DEBUG_EXEC);
+
+ /* Fake policy decisions. */
+ is_denied = stat(command, &sb1) == 0 && stat("/usr/bin/who", &sb2) == 0 &&
+ sb1.st_ino == sb2.st_ino && sb1.st_dev == sb2.st_dev;
+ if (is_denied) {
+ sudo_debug_printf(SUDO_DEBUG_DIAG, "denied %s", command);
+ closure->state = POLICY_REJECT;
+ } else {
+ sudo_debug_printf(SUDO_DEBUG_DIAG, "allowed %s", command);
+ closure->state = POLICY_TEST;
+ }
+
+ debug_return_bool(true);
+}
+
+static void
+init_debug_files(struct sudo_conf_debug_file_list *file_list,
+ struct sudo_debug_file *file)
+{
+ debug_decl(init_debug_files, SUDO_DEBUG_EXEC);
+
+ TAILQ_INIT(file_list);
+ switch (debug) {
+ case 0:
+ debug_return;
+ case 1:
+ file->debug_flags = "exec@diag";
+ break;
+ case 2:
+ file->debug_flags = "exec@info";
+ break;
+ default:
+ file->debug_flags = "exec@debug";
+ break;
+ }
+ file->debug_file = "/dev/stderr";
+ TAILQ_INSERT_HEAD(file_list, file, entries);
+
+ debug_return;
+}
+
+int
+sudo_sigaction(int signo, struct sigaction *sa, struct sigaction *osa)
+{
+ return sigaction(signo, sa, osa);
+}
+
+int
+main(int argc, char *argv[])
+{
+ struct sudo_conf_debug_file_list debug_files;
+ struct sudo_debug_file debug_file;
+ const char *base, *shell = _PATH_SUDO_BSHELL;
+ struct intercept_closure closure = { 0 };
+ const char *errstr;
+ sigset_t blocked, empty;
+ struct sigaction sa;
+ pid_t child, pid, ppgrp;
+ int ch, status;
+ debug_decl_vars(main, SUDO_DEBUG_MAIN);
+
+ initprogname(argc > 0 ? argv[0] : "test_ptrace");
+
+ if (!have_seccomp_action("trap"))
+ sudo_fatalx("SECCOMP_MODE_FILTER not available in this kernel");
+
+ while ((ch = getopt(argc, argv, "d:")) != -1) {
+ switch (ch) {
+ case 'd':
+ debug = sudo_strtonum(optarg, 1, INT_MAX, &errstr);
+ if (errstr != NULL)
+ sudo_fatalx(U_("%s: %s"), optarg, U_(errstr));
+ break;
+ default:
+ fprintf(stderr, "usage: %s [-d 1-3] [command]\n", getprogname());
+ return EXIT_FAILURE;
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (argc > 0)
+ shell = argv[0];
+ base = strrchr(shell, '/');
+ base = base ? base + 1 : shell;
+
+ /* Set debug level based on the debug flag. */
+ init_debug_files(&debug_files, &debug_file);
+ sudo_debug_instance = sudo_debug_register(getprogname(),
+ NULL, NULL, &debug_files, -1);
+ if (sudo_debug_instance == SUDO_DEBUG_INSTANCE_ERROR)
+ return EXIT_FAILURE;
+
+ /* Block SIGCHLD and SIGUSR during critical section. */
+ sigemptyset(&empty);
+ sigemptyset(&blocked);
+ sigaddset(&blocked, SIGCHLD);
+ sigaddset(&blocked, SIGUSR1);
+ sigprocmask(SIG_BLOCK, &blocked, NULL);
+
+ /* Signal handler sets a flag for SIGCHLD, nothing for SIGUSR1. */
+ memset(&sa, 0, sizeof(sa));
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = SA_RESTART;
+ sa.sa_handler = handler;
+ sigaction(SIGCHLD, &sa, NULL);
+ sigaction(SIGUSR1, &sa, NULL);
+
+ /* Fork a shell. */
+ ppgrp = getpgrp();
+ child = fork();
+ switch (child) {
+ case -1:
+ sudo_fatal("fork");
+ case 0:
+ /* child */
+ if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) == -1)
+ sudo_fatal("%s", "unable to set no_new_privs bit");
+ if (!set_exec_filter())
+ _exit(EXIT_FAILURE);
+
+ /* Suspend child until tracer seizes control and sends SIGUSR1. */
+ sigsuspend(&empty);
+ execl(shell, base, NULL);
+ sudo_fatal("execl");
+ default:
+ /* Parent attaches to child and allows it to continue. */
+ if (exec_ptrace_seize(child) == -1)
+ return EXIT_FAILURE;
+ break;
+ }
+
+ /* Wait for SIGCHLD. */
+ for (;;) {
+ sigsuspend(&empty);
+ if (!got_sigchld)
+ continue;
+ got_sigchld = 0;
+
+ for (;;) {
+ do {
+ pid = waitpid(-1, &status, __WALL|WNOHANG);
+ } while (pid == -1 && errno == EINTR);
+ if (pid <= 0) {
+ if (pid == -1 && errno != ECHILD)
+ sudo_fatal("waitpid");
+ /* No child to wait for. */
+ break;
+ }
+
+ if (WIFEXITED(status)) {
+ sudo_debug_printf(SUDO_DEBUG_DIAG, "%d: exited %d",
+ pid, WEXITSTATUS(status));
+ if (pid == child)
+ return WEXITSTATUS(status);
+ } else if (WIFSIGNALED(status)) {
+ sudo_debug_printf(SUDO_DEBUG_DIAG, "%d: killed by signal %d",
+ pid, WTERMSIG(status));
+ if (pid == child)
+ return WTERMSIG(status) | 128;
+ } else if (WIFSTOPPED(status)) {
+ if (exec_ptrace_stopped(pid, status, &closure)) {
+ if (pid == child) {
+ suspend_sudo_nopty(WSTOPSIG(status), ppgrp, child);
+ if (kill(child, SIGCONT) != 0)
+ sudo_warn("kill(%d, SIGCONT)", (int)child);
+ }
+ }
+ } else {
+ sudo_fatalx("%d: unknown status 0x%x", pid, status);
+ }
+ }
+ }
+}
diff --git a/src/selinux.c b/src/selinux.c
index 8cce2eb33..2326326ef 100644
--- a/src/selinux.c
+++ b/src/selinux.c
@@ -440,7 +440,7 @@ selinux_setexeccon(void)
void
selinux_execve(int fd, const char *path, char *const argv[], char *envp[],
- bool noexec)
+ int flags)
{
char **nargv;
const char *sesh;
@@ -474,10 +474,12 @@ selinux_execve(int fd, const char *path, char *const argv[], char *envp[],
sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
debug_return;
}
- if (noexec)
+ if (ISSET(flags, CD_NOEXEC)) {
nargv[0] = *argv[0] == '-' ? "-sesh-noexec" : "sesh-noexec";
- else
+ CLR(flags, CD_NOEXEC);
+ } else {
nargv[0] = *argv[0] == '-' ? "-sesh" : "sesh";
+ }
nargc = 1;
if (fd != -1 && asprintf(&nargv[nargc++], "--execfd=%d", fd) == -1) {
sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
@@ -487,7 +489,7 @@ selinux_execve(int fd, const char *path, char *const argv[], char *envp[],
memcpy(&nargv[nargc], &argv[1], argc * sizeof(char *)); /* copies NULL */
/* sesh will handle noexec for us. */
- sudo_execve(-1, sesh, nargv, envp, -1, 0);
+ sudo_execve(-1, sesh, nargv, envp, -1, flags);
serrno = errno;
free(nargv);
errno = serrno;
diff --git a/src/sudo.c b/src/sudo.c
index 0cb6ffc98..4f0f8fa35 100644
--- a/src/sudo.c
+++ b/src/sudo.c
@@ -650,10 +650,10 @@ bad:
static void
command_info_to_details(char * const info[], struct command_details *details)
{
- int i;
- id_t id;
- char *cp;
const char *errstr;
+ char *cp;
+ id_t id;
+ int i;
debug_decl(command_info_to_details, SUDO_DEBUG_PCOMM);
memset(details, 0, sizeof(*details));
@@ -689,6 +689,9 @@ command_info_to_details(char * const info[], struct command_details *details)
for (i = 0; info[i] != NULL; i++) {
sudo_debug_printf(SUDO_DEBUG_INFO, " %d: %s", i, info[i]);
switch (info[i][0]) {
+ case 'a':
+ SET_STRING("apparmor_profile=", apparmor_profile);
+ break;
case 'c':
SET_STRING("chroot=", chroot)
SET_STRING("command=", command)
@@ -720,6 +723,7 @@ command_info_to_details(char * const info[], struct command_details *details)
#ifdef HAVE_FEXECVE
/* Must keep fd open during exec. */
add_preserved_fd(&details->preserved_fds, details->execfd);
+ SET(details->flags, CD_FEXECVE);
#else
/* Plugin thinks we support fexecve() but we don't. */
(void)fcntl(details->execfd, F_SETFD, FD_CLOEXEC);
@@ -856,12 +860,16 @@ command_info_to_details(char * const info[], struct command_details *details)
break;
}
SET_FLAG("umask_override=", CD_OVERRIDE_UMASK)
+ SET_FLAG("use_ptrace=", CD_USE_PTRACE)
SET_FLAG("use_pty=", CD_USE_PTY)
SET_STRING("utmp_user=", utmp_user)
break;
}
}
+ /* Only use ptrace(2) for intercept/log_subcmds if supported. */
+ exec_ptrace_fix_flags(details);
+
if (!ISSET(details->flags, CD_SET_EUID))
details->cred.euid = details->cred.uid;
if (!ISSET(details->flags, CD_SET_EGID))
@@ -890,6 +898,15 @@ command_info_to_details(char * const info[], struct command_details *details)
exit(EXIT_FAILURE);
}
#endif
+
+#ifdef HAVE_APPARMOR
+ if (details->apparmor_profile != NULL && apparmor_is_enabled()) {
+ i = apparmor_prepare(details->apparmor_profile);
+ if (i != 0)
+ exit(EXIT_FAILURE);
+ }
+#endif
+
debug_return;
}
diff --git a/src/sudo.h b/src/sudo.h
index b291acab9..aa018ccd6 100644
--- a/src/sudo.h
+++ b/src/sudo.h
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 1993-1996, 1998-2005, 2007-2021
+ * Copyright (c) 1993-1996, 1998-2005, 2007-2022
* Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -75,6 +75,37 @@
#define MODE_NONINTERACTIVE 0x00800000
#define MODE_LONG_LIST 0x01000000
+/* Indexes into sudo_settings[] args, must match parse_args.c. */
+#define ARG_BSDAUTH_TYPE 0
+#define ARG_LOGIN_CLASS 1
+#define ARG_PRESERVE_ENVIRONMENT 2
+#define ARG_RUNAS_GROUP 3
+#define ARG_SET_HOME 4
+#define ARG_USER_SHELL 5
+#define ARG_LOGIN_SHELL 6
+#define ARG_IGNORE_TICKET 7
+#define ARG_PROMPT 8
+#define ARG_SELINUX_ROLE 9
+#define ARG_SELINUX_TYPE 10
+#define ARG_RUNAS_USER 11
+#define ARG_PROGNAME 12
+#define ARG_IMPLIED_SHELL 13
+#define ARG_PRESERVE_GROUPS 14
+#define ARG_NONINTERACTIVE 15
+#define ARG_SUDOEDIT 16
+#define ARG_CLOSEFROM 17
+#define ARG_NET_ADDRS 18
+#define ARG_MAX_GROUPS 19
+#define ARG_PLUGIN_DIR 20
+#define ARG_REMOTE_HOST 21
+#define ARG_TIMEOUT 22
+#define ARG_CHROOT 23
+#define ARG_CWD 24
+#define ARG_ASKPASS 25
+#define ARG_INTERCEPT_SETID 26
+#define ARG_INTERCEPT_PTRACE 27
+#define ARG_APPARMOR_PROFILE 28
+
/*
* Flags for tgetpass()
*/
@@ -140,6 +171,8 @@ struct user_details {
#define CD_LOGIN_SHELL 0x080000
#define CD_OVERRIDE_UMASK 0x100000
#define CD_LOG_SUBCMDS 0x200000
+#define CD_USE_PTRACE 0x400000
+#define CD_FEXECVE 0x800000
struct preserved_fd {
TAILQ_ENTRY(preserved_fd) entries;
@@ -167,6 +200,7 @@ struct command_details {
const char *chroot;
const char *selinux_role;
const char *selinux_type;
+ const char *apparmor_profile;
const char *utmp_user;
const char *tty;
char **argv;
@@ -252,7 +286,11 @@ int selinux_relabel_tty(const char *ttyn, int ttyfd);
int selinux_restore_tty(void);
int selinux_setexeccon(void);
void selinux_execve(int fd, const char *path, char *const argv[],
- char *envp[], bool noexec);
+ char *envp[], int flags);
+
+/* apparmor.c */
+int apparmor_is_enabled(void);
+int apparmor_prepare(const char* new_profile);
/* solaris.c */
void set_project(struct passwd *);
@@ -306,4 +344,9 @@ void unlimit_sudo(void);
int serialize_rlimits(char **info, size_t info_max);
bool parse_policy_rlimit(const char *str);
+/* exec_ptrace.c */
+void exec_ptrace_fix_flags(struct command_details *details);
+bool exec_ptrace_intercept_supported(void);
+bool exec_ptrace_subcmds_supported(void);
+
#endif /* SUDO_SUDO_H */
diff --git a/src/sudo_exec.h b/src/sudo_exec.h
index ac4de791f..d225524d5 100644
--- a/src/sudo_exec.h
+++ b/src/sudo_exec.h
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2010-2017, 2020-2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2010-2017, 2020-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -91,6 +91,20 @@ union sudo_token_un {
#define sudo_token_isset(_t) ((_t).u64[0] || (_t).u64[1])
/*
+ * Use ptrace-based intercept (using seccomp) on Linux if possible.
+ * On MIPS we can't change the syscall return and only support log_subcmds.
+ */
+#if defined(_PATH_SUDO_INTERCEPT) && defined(__linux__)
+# if defined(HAVE_DECL_SECCOMP_SET_MODE_FILTER) && HAVE_DECL_SECCOMP_SET_MODE_FILTER
+# if defined(__x86_64__) || defined(__i386__) || defined(__aarch64__) || defined(__arm__) || defined(__mips__) || defined(__powerpc__) || (defined(__riscv) && __riscv_xlen == 64) || defined(__s390__)
+# ifndef HAVE_PTRACE_INTERCEPT
+# define HAVE_PTRACE_INTERCEPT 1
+# endif /* HAVE_PTRACE_INTERCEPT */
+# endif /* __amd64__ || __i386__ || __aarch64__ || __riscv || __s390__ */
+# endif /* HAVE_DECL_SECCOMP_SET_MODE_FILTER */
+#endif /* _PATH_SUDO_INTERCEPT && __linux__ */
+
+/*
* Symbols shared between exec.c, exec_nopty.c, exec_pty.c and exec_monitor.c
*/
struct command_details;
@@ -99,7 +113,7 @@ struct sudo_event_base;
struct stat;
/* exec.c */
-void exec_cmnd(struct command_details *details, int intercept_fd, int errfd);
+void exec_cmnd(struct command_details *details, sigset_t *mask, int intercept_fd, int errfd);
void terminate_command(pid_t pid, bool use_pgrp);
bool sudo_terminated(struct command_status *cstat);
@@ -109,7 +123,7 @@ char **disable_execute(char *envp[], const char *dso);
char **enable_monitor(char *envp[], const char *dso);
/* exec_intercept.c */
-bool intercept_setup(int fd, struct sudo_event_base *evbase, struct command_details *details);
+void *intercept_setup(int fd, struct sudo_event_base *evbase, struct command_details *details);
void intercept_cleanup(void);
/* exec_nopty.c */
@@ -132,4 +146,12 @@ bool utmp_logout(const char *line, int status);
/* exec_preload.c */
char **sudo_preload_dso(char *envp[], const char *dso_file, int intercept_fd);
+/* exec_ptrace.c */
+bool exec_ptrace_stopped(pid_t pid, int status, void *intercept);
+bool set_exec_filter(void);
+int exec_ptrace_seize(pid_t child);
+
+/* suspend_nopty.c */
+void suspend_sudo_nopty(int signo, pid_t ppgrp, pid_t cmnd_pid);
+
#endif /* SUDO_EXEC_H */
diff --git a/src/sudo_intercept.c b/src/sudo_intercept.c
index 30a28eee0..943739400 100644
--- a/src/sudo_intercept.c
+++ b/src/sudo_intercept.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2021-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -25,6 +25,7 @@
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/wait.h>
#include <errno.h>
#include <stdarg.h>
@@ -34,6 +35,7 @@
#include <unistd.h>
#include <limits.h>
#include <string.h>
+#include <signal.h>
#ifdef HAVE_STDBOOL_H
# include <stdbool.h>
#else
@@ -193,7 +195,8 @@ exec_wrapper(const char *cmnd, char * const argv[], char * const envp[],
static int
execl_wrapper(int type, const char *name, const char *arg, va_list ap)
{
- char **argv, **envp = environ;
+ char * const *envp = environ;
+ char **argv;
int argc = 1;
va_list ap2;
debug_decl(execl_wrapper, SUDO_DEBUG_EXEC);
@@ -219,6 +222,72 @@ execl_wrapper(int type, const char *name, const char *arg, va_list ap)
debug_return_int(-1);
}
+static int
+system_wrapper(const char *cmnd)
+{
+ char * const argv[] = { "sh", "-c", (char *)cmnd, NULL };
+ const char shell[] = _PATH_SUDO_BSHELL;
+ struct sigaction saveint, savequit, sa;
+ sigset_t mask, omask;
+ pid_t child;
+ int status;
+ debug_decl(system_wrapper, SUDO_DEBUG_EXEC);
+
+ /* Special case for NULL command, just check whether shell exists. */
+ if (cmnd == NULL)
+ debug_return_int(access(shell, X_OK) == 0);
+
+ /* First, block signals to avoid potential race conditions. */
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGCHLD);
+ sigaddset(&mask, SIGINT);
+ sigaddset(&mask, SIGQUIT);
+ if (sigprocmask(SIG_BLOCK, &mask, &omask) == -1)
+ debug_return_int(-1);
+
+ switch (child = fork()) {
+ case -1:
+ /* error */
+ (void)sigprocmask(SIG_SETMASK, &omask, NULL);
+ debug_return_int(-1);
+ case 0:
+ /* child */
+ if (sigprocmask(SIG_SETMASK, &omask, NULL) != -1)
+ exec_wrapper(shell, argv, environ, false);
+ _exit(127);
+ default:
+ /* parent */
+ break;
+ }
+
+ /* We must ignore SIGINT and SIGQUIT until the command finishes. */
+ memset(&sa, 0, sizeof(sa));
+ sigemptyset(&sa.sa_mask);
+ sa.sa_handler = SIG_IGN;
+ (void)sigaction(SIGINT, &sa, &saveint);
+ (void)sigaction(SIGQUIT, &sa, &savequit);
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGINT);
+ sigaddset(&mask, SIGQUIT);
+ (void)sigprocmask(SIG_UNBLOCK, &mask, NULL);
+
+ for (;;) {
+ if (waitpid(child, &status, 0) == -1) {
+ if (errno == EINTR)
+ continue;
+ status = -1;
+ }
+ break;
+ }
+
+ /* Restore signal mask and handlers. */
+ (void)sigprocmask(SIG_SETMASK, &omask, NULL);
+ (void)sigaction(SIGINT, &saveint, NULL);
+ (void)sigaction(SIGQUIT, &savequit, NULL);
+
+ debug_return_int(status);
+}
+
#ifdef HAVE___INTERPOSE
/*
* Mac OS X 10.4 and above has support for library symbol interposition.
@@ -230,15 +299,21 @@ typedef struct interpose_s {
} interpose_t;
static int
+my_system(const char *cmnd)
+{
+ return system_wrapper(cmnd);
+}
+
+static int
my_execve(const char *cmnd, char * const argv[], char * const envp[])
{
- return exec_wrapper(cmnd, argv, environ, false);
+ return exec_wrapper(cmnd, argv, envp, false);
}
static int
my_execv(const char *cmnd, char * const argv[])
{
- return execve(cmnd, argv, environ);
+ return exec_wrapper(cmnd, argv, environ, false);
}
#ifdef HAVE_EXECVPE
@@ -294,6 +369,7 @@ my_execlp(const char *name, const char *arg, ...)
/* Magic to tell dyld to do symbol interposition. */
__attribute__((__used__)) static const interpose_t interposers[]
__attribute__((__section__("__DATA,__interpose"))) = {
+ { (void *)my_system, (void *)system },
{ (void *)my_execl, (void *)execl },
{ (void *)my_execle, (void *)execle },
{ (void *)my_execlp, (void *)execlp },
@@ -333,9 +409,15 @@ sudo_shl_get_next(const char *symbol, short type)
# endif /* HAVE_SHL_LOAD */
sudo_dso_public int
+system(const char *cmnd)
+{
+ return system_wrapper(cmnd);
+}
+
+sudo_dso_public int
execve(const char *cmnd, char * const argv[], char * const envp[])
{
- return exec_wrapper(cmnd, argv, environ, false);
+ return exec_wrapper(cmnd, argv, envp, false);
}
sudo_dso_public int
diff --git a/src/suspend_nopty.c b/src/suspend_nopty.c
new file mode 100644
index 000000000..babeae29b
--- /dev/null
+++ b/src/suspend_nopty.c
@@ -0,0 +1,111 @@
+/*
+ * SPDX-License-Identifier: ISC
+ *
+ * Copyright (c) 2009-2022 Todd C. Miller <Todd.Miller@sudo.ws>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * This is an open source non-commercial project. Dear PVS-Studio, please check it.
+ * PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
+ */
+
+#include <config.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+
+#include "sudo.h"
+#include "sudo_exec.h"
+
+void
+suspend_sudo_nopty(int signo, pid_t ppgrp, pid_t cmnd_pid)
+{
+ struct sigaction sa, osa;
+ pid_t saved_pgrp = -1;
+ int fd;
+ debug_decl(suspend_sudo_nopty, SUDO_DEBUG_EXEC);
+
+ /*
+ * Save the controlling terminal's process group so we can restore
+ * it after we resume, if needed. Most well-behaved shells change
+ * the pgrp back to its original value before suspending so we must
+ * not try to restore in that case, lest we race with the command
+ * upon resume, potentially stopping sudo with SIGTTOU while the
+ * command continues to run.
+ */
+ fd = open(_PATH_TTY, O_RDWR);
+ if (fd != -1) {
+ saved_pgrp = tcgetpgrp(fd);
+ if (saved_pgrp == -1) {
+ close(fd);
+ fd = -1;
+ }
+ }
+
+ if (saved_pgrp != -1) {
+ /*
+ * Command was stopped trying to access the controlling
+ * terminal. If the command has a different pgrp and we
+ * own the controlling terminal, give it to the command's
+ * pgrp and let it continue.
+ */
+ if (signo == SIGTTOU || signo == SIGTTIN) {
+ if (saved_pgrp == ppgrp) {
+ pid_t cmnd_pgrp = getpgid(cmnd_pid);
+ if (cmnd_pgrp != ppgrp) {
+ if (tcsetpgrp_nobg(fd, cmnd_pgrp) == 0) {
+ if (killpg(cmnd_pgrp, SIGCONT) != 0)
+ sudo_warn("kill(%d, SIGCONT)", (int)cmnd_pgrp);
+ close(fd);
+ debug_return;
+ }
+ }
+ }
+ }
+ }
+
+ if (signo == SIGTSTP) {
+ memset(&sa, 0, sizeof(sa));
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = SA_RESTART;
+ sa.sa_handler = SIG_DFL;
+ if (sudo_sigaction(SIGTSTP, &sa, &osa) != 0)
+ sudo_warn(U_("unable to set handler for signal %d"), SIGTSTP);
+ }
+ if (kill(getpid(), signo) != 0)
+ sudo_warn("kill(%d, %d)", (int)getpid(), signo);
+ if (signo == SIGTSTP) {
+ if (sudo_sigaction(SIGTSTP, &osa, NULL) != 0)
+ sudo_warn(U_("unable to restore handler for signal %d"), SIGTSTP);
+ }
+ if (saved_pgrp != -1) {
+ /*
+ * On resume, restore foreground process group, if different.
+ * Otherwise, we cannot resume some shells (pdksh).
+ *
+ * It is possible that we are no longer the foreground process,
+ * use tcsetpgrp_nobg() to prevent sudo from receiving SIGTTOU.
+ */
+ if (saved_pgrp != ppgrp)
+ tcsetpgrp_nobg(fd, saved_pgrp);
+ close(fd);
+ }
+
+ debug_return;
+}
diff --git a/src/tgetpass.c b/src/tgetpass.c
index b12301100..e99aecd2c 100644
--- a/src/tgetpass.c
+++ b/src/tgetpass.c
@@ -290,18 +290,16 @@ sudo_askpass(const char *askpass, const char *prompt)
{
static char buf[SUDO_CONV_REPL_MAX + 1], *pass;
struct sudo_cred *cred = &user_details.cred;
- struct sigaction sa, savechld;
+ sigset_t chldmask;
enum tgetpass_errval errval;
int pfd[2], status;
pid_t child;
debug_decl(sudo_askpass, SUDO_DEBUG_CONV);
- /* Set SIGCHLD handler to default since we call waitpid() below. */
- memset(&sa, 0, sizeof(sa));
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = SA_RESTART;
- sa.sa_handler = SIG_DFL;
- (void) sigaction(SIGCHLD, &sa, &savechld);
+ /* Block SIGCHLD for the duration since we call waitpid() below. */
+ sigemptyset(&chldmask);
+ sigaddset(&chldmask, SIGCHLD);
+ (void)sigprocmask(SIG_BLOCK, &chldmask, NULL);
if (pipe2(pfd, O_CLOEXEC) == -1)
sudo_fatal("%s", U_("unable to create pipe"));
@@ -363,8 +361,8 @@ sudo_askpass(const char *askpass, const char *prompt)
if (pass == NULL)
errno = EINTR; /* make cancel button simulate ^C */
- /* Restore saved SIGCHLD handler. */
- (void) sigaction(SIGCHLD, &savechld, NULL);
+ /* Unblock SIGCHLD. */
+ (void)sigprocmask(SIG_UNBLOCK, &chldmask, NULL);
debug_return_str_masked(pass);
}