diff --git a/.gitignore b/.gitignore index aea2963..944ef87 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,9 @@ *.o *~ .deps +.dirstamp .libs +ABOUT-NLS aclocal.m4 autom4te.cache/ build-aux/ @@ -14,9 +16,27 @@ config.h.in config.log config.status configure +core.* libtool +m4/ Makefile Makefile.in +Makefile.in.in +po/Makevars.template +po/POTFILES +po/Rules-quot +po/stamp-po +po/*.header +po/*.gmo +po/*.sed +po/*.sin +src/pam_panic/man/* +!src/pam_panic/man/Makefile.am +!src/pam_panic/man/man8/ src/pam_panic_pw/pam_panic_pw +src/pam_panic_pw/man/* +!src/pam_panic_pw/man/Makefile.am +!src/pam_panic_pw/man/man1/ stamp-h1 +test/pwfile test/test diff --git a/.travis.yml b/.travis.yml index 46f7699..91daabe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,4 @@ language: C +dist: trusty sudo: enabled -script: sudo apt install libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test +script: sudo apt install po4a autopoint gettext libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test diff --git a/ChangeLog b/ChangeLog index e69de29..09d5e48 100644 --- a/ChangeLog +++ b/ChangeLog @@ -0,0 +1,6 @@ +## [0.2.0] +- Adding gettext for translation capability +- Adding po4a system for man pages + +## [0.1.2] +- First stable release diff --git a/Makefile.am b/Makefile.am index 0547c75..2ab2379 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,9 +2,15 @@ ACLOCAL_AMFLAGS = -I m4 AM_CPPFLAGS = -I src -SUBDIRS = src/pam_panic src/pam_panic_pw +SUBDIRS = po po4a src/pam_panic src/pam_panic_pw .PHONY: all test clean + +update-po: + make -C po update-po + +all: update-po + test: make -C test diff --git a/README.md b/README.md index 600ef17..581db07 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,14 @@ There are two passwords you are able to set: the key password and the panic pass ## Installation -### Arch Linux -There is [pam_panic](https://aur.archlinux.org/packages/pam_panic) and [pam_panic-git](https://aur.archlinux.org/packages/pam_panic-git/) in the AUR. Install it with your favourite AUR helper. +### Arch Linux AUR +There is +- [pam_panic](https://aur.archlinux.org/packages/pam_panic/) - Actual [releases](https://github.com/pampanic/pam_panic/releases) and +- [pam_panic-git](https://aur.archlinux.org/packages/pam_panic-git/) for this actual git repository. ### Ubuntu -There's a [PPA](https://launchpad.net/~bandie/+archive/ubuntu/pampanic). +There's a [PPA](https://launchpad.net/~bandie/+archive/ubuntu/pampanic) updating for new [releases](https://github.com/pampanic/pam_panic/releases). + To install the package using the PPA: ``` sudo add-apt-repository ppa:bandie/pampanic @@ -32,7 +35,7 @@ sudo apt-get install pampanic ### From sources You will need GCC or similar, as well as the PAM headers. Some distributions package the PAM headers as `libpam0g-dev`. -Also you need `autoconf`. +Also you need `autoconf` and `gettext`. Some also need `autopoint`. To compile and install it, do the following within the project's root directory: @@ -100,7 +103,7 @@ See `man 8 pam_panic` and `man 1 pam_panic_pw` for more information. ## TODO -- [Manpage translations](https://github.com/Bandie/pam_panic/issues?q=is%3Aissue+is%3Aopen+label%3Alocalization) +- [Translations](https://github.com/pampanic/pam_panic/wiki/How-to-translate) # Addendum diff --git a/configure.ac b/configure.ac index 49c7047..6fdfb47 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_INIT( [pam_panic], - [0.1.0], + [0.2.0], [https://github.com/pampanic/pam_panic/issues], [pam_panic]) AC_CONFIG_AUX_DIR([build-aux]) @@ -20,6 +20,15 @@ CFLAGS+=" -std=gnu11" AM_PROG_AR +AM_GNU_GETTEXT_VERSION(0.18.3) +AM_GNU_GETTEXT([external]) + +AC_PATH_PROG([PO4A],po4a) +if test -z "$PO4A" ; then + AC_MSG_ERROR([Please install po4a before building pam_panic.]) +fi +AC_DEFINE_UNQUOTED([PO4A], "$PO4A", + [path to po4a]) AC_PATH_PROG([REBOOT], [reboot]) AC_DEFINE_UNQUOTED([REBOOT], "$REBOOT", @@ -31,6 +40,10 @@ AC_PATH_PROG([CRYPTSETUP], [cryptsetup]) AC_DEFINE_UNQUOTED([CRYPTSETUP], "$CRYPTSETUP", [path to the cryptsetup command]) +AC_PATH_PROG([FIND], [find]) +AC_DEFINE_UNQUOTED([FIND], "$FIND", + [path to the find command]) + AC_ARG_ENABLE(securedir, AS_HELP_STRING([--enable-securedir=DIR], [path to location of PAMs @<:@default=LIBDIR/security@:>@]), @@ -51,6 +64,8 @@ AC_ENABLE_SHARED([yes]) AC_CONFIG_FILES([ Makefile + po/Makefile.in + po4a/Makefile src/pam_panic/Makefile src/pam_panic/man/Makefile src/pam_panic_pw/Makefile diff --git a/lib/gettext.h b/lib/gettext.h new file mode 100644 index 0000000..841b072 --- /dev/null +++ b/lib/gettext.h @@ -0,0 +1,292 @@ +/* Convenience header for conditional use of GNU . + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2016 Free Software + Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include + +/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by + the gettext() and ngettext() macros. This is an alternative to calling + textdomain(), and is useful for libraries. */ +# ifdef DEFAULT_TEXT_DOMAIN +# undef gettext +# define gettext(Msgid) \ + dgettext (DEFAULT_TEXT_DOMAIN, Msgid) +# undef ngettext +# define ngettext(Msgid1, Msgid2, N) \ + dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) +# endif + +#else + +/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which + chokes if dcgettext is defined as a macro. So include it now, to make + later inclusions of a NOP. We don't include + as well because people using "gettext.h" will not include , + and also including would fail on SunOS 4, whereas + is OK. */ +#if defined(__sun) +# include +#endif + +/* Many header files from the libstdc++ coming with g++ 3.3 or newer include + , which chokes if dcgettext is defined as a macro. So include + it now, to make later inclusions of a NOP. */ +#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) +# include +# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H +# include +# endif +#endif + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to + contain "#define const". */ +# undef gettext +# define gettext(Msgid) ((const char *) (Msgid)) +# undef dgettext +# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) +# undef dcgettext +# define dcgettext(Domainname, Msgid, Category) \ + ((void) (Category), dgettext (Domainname, Msgid)) +# undef ngettext +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 \ + ? ((void) (Msgid2), (const char *) (Msgid1)) \ + : ((void) (Msgid1), (const char *) (Msgid2))) +# undef dngettext +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) +# undef dcngettext +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N)) +# undef textdomain +# define textdomain(Domainname) ((const char *) (Domainname)) +# undef bindtextdomain +# define bindtextdomain(Domainname, Dirname) \ + ((void) (Domainname), (const char *) (Dirname)) +# undef bind_textdomain_codeset +# define bind_textdomain_codeset(Domainname, Codeset) \ + ((void) (Domainname), (const char *) (Codeset)) + +#endif + +/* Prefer gnulib's setlocale override over libintl's setlocale override. */ +#ifdef GNULIB_defined_setlocale +# undef setlocale +# define setlocale rpl_setlocale +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strings + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +/* The separator between msgctxt and msgid in a .mo file. */ +#define GETTEXT_CONTEXT_GLUE "\004" + +/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a + MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be + short and rarely need to change. + The letter 'p' stands for 'particular' or 'special'. */ +#ifdef DEFAULT_TEXT_DOMAIN +# define pgettext(Msgctxt, Msgid) \ + pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#else +# define pgettext(Msgctxt, Msgid) \ + pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#endif +#define dpgettext(Domainname, Msgctxt, Msgid) \ + pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ + pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) +#ifdef DEFAULT_TEXT_DOMAIN +# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#else +# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#endif +#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ + npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +pgettext_aux (const char *domain, + const char *msg_ctxt_id, const char *msgid, + int category) +{ + const char *translation = dcgettext (domain, msg_ctxt_id, category); + if (translation == msg_ctxt_id) + return msgid; + else + return translation; +} + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +npgettext_aux (const char *domain, + const char *msg_ctxt_id, const char *msgid, + const char *msgid_plural, unsigned long int n, + int category) +{ + const char *translation = + dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); + if (translation == msg_ctxt_id || translation == msgid_plural) + return (n == 1 ? msgid : msgid_plural); + else + return translation; +} + +/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID + can be arbitrary expressions. But for string literals these macros are + less efficient than those above. */ + +#include + +#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ + /* || __STDC_VERSION__ >= 199901L */ ) +# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 +#else +# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 +#endif + +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +#include +#endif + +#define pgettext_expr(Msgctxt, Msgid) \ + dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) +#define dpgettext_expr(Domainname, Msgctxt, Msgid) \ + dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +dcpgettext_expr (const char *domain, + const char *msgctxt, const char *msgid, + int category) +{ + size_t msgctxt_len = strlen (msgctxt) + 1; + size_t msgid_len = strlen (msgid) + 1; + const char *translation; +#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + char msg_ctxt_id[msgctxt_len + msgid_len]; +#else + char buf[1024]; + char *msg_ctxt_id = + (msgctxt_len + msgid_len <= sizeof (buf) + ? buf + : (char *) malloc (msgctxt_len + msgid_len)); + if (msg_ctxt_id != NULL) +#endif + { + int found_translation; + memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); + msg_ctxt_id[msgctxt_len - 1] = '\004'; + memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); + translation = dcgettext (domain, msg_ctxt_id, category); + found_translation = (translation != msg_ctxt_id); +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + if (msg_ctxt_id != buf) + free (msg_ctxt_id); +#endif + if (found_translation) + return translation; + } + return msgid; +} + +#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ + dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) +#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ + dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +dcnpgettext_expr (const char *domain, + const char *msgctxt, const char *msgid, + const char *msgid_plural, unsigned long int n, + int category) +{ + size_t msgctxt_len = strlen (msgctxt) + 1; + size_t msgid_len = strlen (msgid) + 1; + const char *translation; +#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + char msg_ctxt_id[msgctxt_len + msgid_len]; +#else + char buf[1024]; + char *msg_ctxt_id = + (msgctxt_len + msgid_len <= sizeof (buf) + ? buf + : (char *) malloc (msgctxt_len + msgid_len)); + if (msg_ctxt_id != NULL) +#endif + { + int found_translation; + memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); + msg_ctxt_id[msgctxt_len - 1] = '\004'; + memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); + translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); + found_translation = !(translation == msg_ctxt_id || translation == msgid_plural); +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + if (msg_ctxt_id != buf) + free (msg_ctxt_id); +#endif + if (found_translation) + return translation; + } + return (n == 1 ? msgid : msgid_plural); +} + +#endif /* _LIBGETTEXT_H */ diff --git a/m4/.gitignore b/m4/.gitignore deleted file mode 100644 index 38066dd..0000000 --- a/m4/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -libtool.m4 -ltoptions.m4 -ltsugar.m4 -ltversion.m4 -lt~obsolete.m4 diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..1b08136 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,2 @@ +# Languages +de es fr ja diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..a1668fe --- /dev/null +++ b/po/Makevars @@ -0,0 +1,53 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Bandie + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = https://github.com/pampanic/pam_panic + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..90c1bd0 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,5 @@ +# The sources which contains output strings +src/pam_panic/pam_panic.c +src/pam_panic/pam_panic_authdevice.c +src/pam_panic/pam_panic_password.c +src/pam_panic_pw/pam_panic_pw.c diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..2d43376 --- /dev/null +++ b/po/de.po @@ -0,0 +1,97 @@ +# German translations for pam_panic package +# German translation for pam_panic. +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" +"PO-Revision-Date: 2018-09-20 21:03+0200\n" +"Last-Translator: \n" +"Language-Team: German\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/pam_panic/pam_panic.c:41 +msgid "CRITICAL: Problem with regcomp." +msgstr "CRITICAL: Problem mit regcomp." + +#: src/pam_panic/pam_panic.c:122 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" +"ERROR: Argument ungültig. Hinweis: \"allow\" und \"reject\" müssen eine " +"valide GPT UUID aufweisen." + +#: src/pam_panic/pam_panic.c:158 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "ALERT für Argument \"serious\": Gerät existiert nicht." + +#: src/pam_panic/pam_panic_authdevice.c:35 +msgid "Key? " +msgstr "Schlüssel? " + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Couldn't identify any key after 3 tries." +msgstr "Konnte keinen Schlüssel nach 3 Versuchen identifizieren." + +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." +msgstr "ALERT für Passwort-Option: Keine Passwort-Datei gefunden." + +#: src/pam_panic/pam_panic_password.c:34 +msgid "ERROR: Couldn't open password file." +msgstr "ERROR: Konnte Passwort-Datei nicht öffnen." + +#: src/pam_panic/pam_panic_password.c:46 +msgid "CRITICAL: Password file is corrupt!" +msgstr "CRITICAL: Passwort-Datei ist beschädigt!" + +#: src/pam_panic/pam_panic_password.c:91 +msgid "Password: " +msgstr "Passwort: " + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "ERROR: Datei konnte nicht geöffnet werden!\n" + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Key password: " +msgstr "Schlüsselpasswort: " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Panic password: " +msgstr "Panikpasswort: " + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Confirm key password: " +msgstr "Schlüsselpasswort bestätigen: " + +#: src/pam_panic_pw/pam_panic_pw.c:68 +msgid "Confirm panic password: " +msgstr "Panikpasswort bestätigen: " + +#: src/pam_panic_pw/pam_panic_pw.c:74 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" +"Dieses Programm muss als root ausgeführt werden. Schreibrechte auf %s sind " +"dabei notwendig.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:97 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "Hat nicht funktioniert. Tschüss.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:100 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "Passwort stimmt nicht überein. Bitte noch einmal versuchen.\n" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..4b616cf --- /dev/null +++ b/po/es.po @@ -0,0 +1,100 @@ +# Spanish translations for pam_panic package +# Traducciones al español para el paquete pam_panic. +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Dangered wolf >, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" +"PO-Revision-Date: 2018-09-29 18:19+0200\n" +"Last-Translator: Dangered wolf \n" +"Language-Team: Spanish\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.1.1\n" + +#: src/pam_panic/pam_panic.c:41 +msgid "CRITICAL: Problem with regcomp." +msgstr "CRITICAL: Problema con regcomp." + +#: src/pam_panic/pam_panic.c:122 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" +"ERROR: Argumentos inválidos. Tenga en cuenta que \"allow\" y \"reject\" " +"deben tener un UUID de GPT válido." + +#: src/pam_panic/pam_panic.c:158 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "ALERT para el argumento \"serious\": El dispositivo no existe." + +#: src/pam_panic/pam_panic_authdevice.c:35 +msgid "Key? " +msgstr "¿Código? " + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Couldn't identify any key after 3 tries." +msgstr "No se pudo identificar ninguna clave después de 3 intentos." + +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." +msgstr "" +"ALERT para la opción de contraseña: No se ha detectado ningún archivo de " +"contraseña." + +#: src/pam_panic/pam_panic_password.c:34 +msgid "ERROR: Couldn't open password file." +msgstr "ERROR: No se pudo abrir el archivo de contraseña." + +#: src/pam_panic/pam_panic_password.c:46 +msgid "CRITICAL: Password file is corrupt!" +msgstr "CRITICAL: Archivo de contraseña está dañado!" + +#: src/pam_panic/pam_panic_password.c:91 +msgid "Password: " +msgstr "Contraseña: " + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "ERROR al abrir el archivo!\n" + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Key password: " +msgstr "Contraseña clave: " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Panic password: " +msgstr "Contraseña de pánico: " + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Confirm key password: " +msgstr "Confirmar contraseña clave: " + +#: src/pam_panic_pw/pam_panic_pw.c:68 +msgid "Confirm panic password: " +msgstr "Confirmar contraseña de pánico: " + +#: src/pam_panic_pw/pam_panic_pw.c:74 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" +"Ejecute este programa con acceso root. El acceso de escritura a %s es " +"obligatorio.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:97 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "No funcionó. Adiós.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:100 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "La contraseña no coincide. Inténtalo de nuevo.\n" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..0ddedfe --- /dev/null +++ b/po/fr.po @@ -0,0 +1,98 @@ +# French translations for pam_panic package. +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Dashie , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" +"PO-Revision-Date: 2018-09-29 18:33+0200\n" +"Last-Translator: Dashie \n" +"Language-Team: French\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 2.1.1\n" + +#: src/pam_panic/pam_panic.c:41 +msgid "CRITICAL: Problem with regcomp." +msgstr "CRITICAL: Problème avec regcomp." + +#: src/pam_panic/pam_panic.c:122 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" +"ERROR: Arguments invalides. Notez que \"allow\" et \"reject\" doivent avoir " +"un GPU UUID valide." + +#: src/pam_panic/pam_panic.c:158 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "ALERT pour l'argument \"serious\": Le périphérique n'existe pas." + +#: src/pam_panic/pam_panic_authdevice.c:35 +msgid "Key? " +msgstr "Clé?" + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Couldn't identify any key after 3 tries." +msgstr "Impossible d'identifier une clé après 3 essais." + +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." +msgstr "" +"ALERT pour l'option de mot de passe: Aucun fichier de mot de passe détecté." + +#: src/pam_panic/pam_panic_password.c:34 +msgid "ERROR: Couldn't open password file." +msgstr "ERROR: Impossible d'ouvrir le fichier de mot de passe." + +#: src/pam_panic/pam_panic_password.c:46 +msgid "CRITICAL: Password file is corrupt!" +msgstr "CRITICAL: Le fichier de mot de passe est corrompu!" + +#: src/pam_panic/pam_panic_password.c:91 +msgid "Password: " +msgstr "Mot de passe : " + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "ERROR en ouvrant le fichier.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Key password: " +msgstr "Mot de passe clé : " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Panic password: " +msgstr "Mot de passe panique : " + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Confirm key password: " +msgstr "Confirmer le mot de passe de clé :" + +#: src/pam_panic_pw/pam_panic_pw.c:68 +msgid "Confirm panic password: " +msgstr "Confirmer le mot de passe de panique : " + +#: src/pam_panic_pw/pam_panic_pw.c:74 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" +"Veuillez exécuter ce programme avec les privilèges root. L'accès en écriture " +"à %s est obligatoire.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:97 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "N'a pas fonctionné. Au revoir.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:100 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "Le mot de passe ne correspond pas. Réessayer.\n" diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..038253f --- /dev/null +++ b/po/ja.po @@ -0,0 +1,97 @@ +# Japanese translations for pam_panic package. +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Chromium Neptune , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" +"PO-Revision-Date: 2018-09-29 18:51+0200\n" +"Last-Translator: Chromium Neptune \n" +"Language-Team: Japanese\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.1.1\n" + +#: src/pam_panic/pam_panic.c:41 +msgid "CRITICAL: Problem with regcomp." +msgstr "クリティカル: \"regcomp\"の問題" + +#: src/pam_panic/pam_panic.c:122 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" +"エラー: 引き数が無効です。 \"allow\"と \"reject\"には有効なGPT UUIDが必要で" +"す。" + +#: src/pam_panic/pam_panic.c:158 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "引数 \"serious\"のアラート:デバイスが存在しません。" + +#: src/pam_panic/pam_panic_authdevice.c:35 +msgid "Key? " +msgstr "キー? " + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Couldn't identify any key after 3 tries." +msgstr "3回の試行後にキーを特定できませんでした。" + +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." +msgstr "パスワードオプションの警告:パスワードファイルが検出されませんでした。" + +#: src/pam_panic/pam_panic_password.c:34 +msgid "ERROR: Couldn't open password file." +msgstr "エラー:パスワードファイルを開くことができませんでした。" + +#: src/pam_panic/pam_panic_password.c:46 +msgid "CRITICAL: Password file is corrupt!" +msgstr "危険:パスワードファイルが壊れています!" + +#: src/pam_panic/pam_panic_password.c:91 +msgid "Password: " +msgstr "パスフレーズ: " + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "ファイルを開く際にエラーが発生\n" + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Key password: " +msgstr "キーのパスワード: " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Panic password: " +msgstr "パニックパスワード: " + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Confirm key password: " +msgstr "キーのパスワードを確認: " + +#: src/pam_panic_pw/pam_panic_pw.c:68 +msgid "Confirm panic password: " +msgstr "パニックパスワードを確認する: " + +#: src/pam_panic_pw/pam_panic_pw.c:74 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" +"root権限でこのプログラムを実行してください。 %sへの書き込みアクセスは必須で" +"す。\n" + +#: src/pam_panic_pw/pam_panic_pw.c:97 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "うまくいきませんでした。 さようなら。\n" + +#: src/pam_panic_pw/pam_panic_pw.c:100 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "パスワードが一致しませんでした。 再試行する。\n" diff --git a/po/pam_panic.pot b/po/pam_panic.pot new file mode 100644 index 0000000..8f5d423 --- /dev/null +++ b/po/pam_panic.pot @@ -0,0 +1,92 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Bandie +# This file is distributed under the same license as the pam_panic package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/pam_panic/pam_panic.c:41 +msgid "CRITICAL: Problem with regcomp." +msgstr "" + +#: src/pam_panic/pam_panic.c:122 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" + +#: src/pam_panic/pam_panic.c:158 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "" + +#: src/pam_panic/pam_panic_authdevice.c:35 +msgid "Key? " +msgstr "" + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Couldn't identify any key after 3 tries." +msgstr "" + +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." +msgstr "" + +#: src/pam_panic/pam_panic_password.c:34 +msgid "ERROR: Couldn't open password file." +msgstr "" + +#: src/pam_panic/pam_panic_password.c:46 +msgid "CRITICAL: Password file is corrupt!" +msgstr "" + +#: src/pam_panic/pam_panic_password.c:91 +msgid "Password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Key password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Panic password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Confirm key password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:68 +msgid "Confirm panic password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:74 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:97 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:100 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "" diff --git a/po4a/Makefile.am b/po4a/Makefile.am new file mode 100644 index 0000000..e409e61 --- /dev/null +++ b/po4a/Makefile.am @@ -0,0 +1,3 @@ +all: + @printf "Building po4a man page translations...\n" + $(PO4A) ./po4a.cfg diff --git a/po4a/de.po b/po4a/de.po new file mode 100644 index 0000000..87ec98a --- /dev/null +++ b/po4a/de.po @@ -0,0 +1,568 @@ +# German translations for pam_panic package +# German translation for pam_panic +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Bandie , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: po 4a\n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: 2018-09-29 16:02+0200\n" +"Last-Translator: Bandie \n" +"Language-Team: German\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.1.1\n" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "PAM_PANIC" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "2018-09-28" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "PAM Panic Handbuch" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "NAME" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "" +"pam_panic - PAM-Module mit Panik-Funktion zum Schützen von wichtigen Daten " +"in Notsituationen" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "ÜBERSICHT" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "BESCHREIBUNG" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" +"Das pam_panic PAM-Modul schützt wichtige Daten durch das Anbieten einer " +"Panik-Funktion." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "Es gibt zwei Möglichkeiten der Verwendung:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "Erste Möglichkeit:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" +"Man verwendet zwei Wecheldatenträger, die als Schlüssel dienen. Hierbei " +"funktioniert eines als Authentifizierungsschlüssel und eines als " +"Panikschlüssel. Der Panikschlüssel führt die I aus." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "Sie dazu die Optionen B und B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "Zweite Möglichkeit:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" +"Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein " +"Schlüsselpasswort (Key password) und ein Panikpasswort (Panic password) " +"festgelegt.Das Panikpasswort wird hierbei die I aufrufen." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "Siehe dazu die Option B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "Die Panikfunktion:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" +"Das Verhalten der Panikfunktion wird durch die Argumente B, " +"B und/oder B definiert. Siehe dazu den Abschnitt " +"B." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "OPTIONEN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" +"Aktiviert die Passwortfunktion mit einem Panik- und Schlüsselpasswort. Wenn " +"B und B gesetzt sind, wird diese Option ignoriert." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "" +"Diese Passwörter können mit dem B(1) Programm gesetzt werden." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "" +"Diese Geräte-UUID wird zur Authentifizierung benutzt " +"(Authentifierungsschlüssel)." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 +#: ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." +msgstr "" +"Der Wechseldatenträger muss GPT-formatiert sein und mindestens eine " +"Partition enthalten.Die UUID eines GPT-formatierten Gerätes sieht " +"beispielsweise so aus: \"12345678-9ABC-DEF0-1234-56789ABCDEF0\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 +#: ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "Weitere Informationen im Abschnitt B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are specified." +msgstr "" +"Diese Geräte-UUID, welches in Notfällen benutzt wird. Die Verwendung des " +"Gerätes wird B, B und/oder die Panikfunktion auslösen, " +"sofern B B und/oder B angegeben wurden." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "B (empfohlen)" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "" +"Sorgt für ein Neustart des Systems, sobald die I ausgelöst " +"wird." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "Diese Option ist empfohlen." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "" +"Wenn B ebenfalls angegeben worden ist, wird B ignoriert." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" +"Sorgt für ein Herunterfahren des Systems, sobald die I " +"ausgeführt wird. Diese Option ist aus Sicherheitsgründen nicht " +"empfehlenswert." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" +"Die Geräte-UUID, dessen LUKS-Header zerstört werden soll, sobald die " +"I ausgelöst wurde. Das Zerstören der LUKS-Header hat zu " +"Folge, dass die Daten nicht mehr lesbar sein werden." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "" +"Der interne Befehl, der ausgeführt werden wird ist \"B\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this function." +msgstr "" +"HINWEIS: Ein Backup des LUKS-Headers wäre vor Verwendung dieser Funktion " +"sinnvoll." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "ANWENDUNG" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" +"Um dieses Modul zu aktivieren, musst du PAM konfigurieren. Siehe B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "" +"In allgemeinen Worten gefasst möchte man folgende Zeilen am Anfang einer PAM-" +"Konfigurationsdatei hinzufügen:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 +#: ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "account requisite __PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "Oder auch:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "WIE BESTIMME ICH MEINE UUIDS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" +"Die UUIDs können unter I gefunden werden. Um " +"nachvollziehen zu können, welcher Wecheldatenträger welches ist, ist es " +"ratsam \"B\" in der Lieblingsshell auszuführen." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "RÜCKGABEWERTE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "PAM_SUCCESS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "Zugriff wurde gewährt." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "PAM_IGNORE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "Ein Fehler ist aufgetreten. Dieses Modul wird ignoriert." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "PAM_MAXTRIES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "Der Wechseldatenträger wurde nicht erkannt." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "DATEIEN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "__PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "Dieses PAM-Modul, welches für alles zuständig ist." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "__PAMPANICPW__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "Programm zum Setzen und Verändern der Passwörter." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "BUGS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to Ehttps://github.com/" +"pampanic/pam_panicE." +msgstr "" +"Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können hier " +"eingereicht werden: Ehttps://github.com/pampanic/pam_panicE." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "SIEHE AUCH" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "B(1), B(8), B(8), B(5)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTOREN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "pam_panic wurde von Bandie Ebandie@chaospott.deE entwickelt." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson Ejordy." +"dickinson@icloud.comE." +msgstr "" +"Diese man page wurde von Bandie Ebandie@chaospott.deE ins Deutsche " +"übersetzt." + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "PAM_PANIC_PW" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "2018-09-28" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" +"pam_panic_pw - Setzen der Passwörter für das B(8) PAM-Modul." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "" +"B setzt die Passwörter für das B(8) PAM-Modul." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" +"Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein " +"\"Schlüsselpasswort\" und ein \"Panikpasswort\" festgelegt. Das " +"Panikpasswort wird hierbei die I aufrufen." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "0" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "Passwörter erfolgreich gesetzt." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "1" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "Keine Berechtigungen." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "2" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "Konnte Passwortdatei nicht öffnen." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "__PPASSFILE__" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "Die Passwortdatei." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "B(8), B(8), B(5), B(8)." diff --git a/po4a/es.po b/po4a/es.po new file mode 100644 index 0000000..a67b54d --- /dev/null +++ b/po4a/es.po @@ -0,0 +1,567 @@ +# Spanish translations for pam_panic package +# Traducciones al español para el paquete pam_panic +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Dangered wolf , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: po 4a\n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: 2018-09-29 16:02+0200\n" +"Last-Translator: d@angeredwolf.me\n" +"Language-Team: Spanish\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.1.1\n" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "PAM_PANIC" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "2018-03-28" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "PAM Panic Manual" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "NAME" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "" +"pam_panic - un módulo de PAM para controlar acceso usando media removible " +"(con función pánica)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "SINOPSIS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPCIÓN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" +"El módulo pam_panic protege los datos delicados y proporcióna una función " +"pánica para emergencias." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "Hay dos opciones posibles para utilizar este modulo de PAM:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "Primera opción posible:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" +"Hay dos medias removibles que están usando como claves: La clave de " +"autenticación y la clave de pánico. La clave para autenticación se permite " +"ingresar su contraseña mientras la clave para pánico va a llamar la " +"I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "Vea la sección de B y B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "Segunda opción posible:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" +"Hay dos contraseñas: La contraseña para autenticación y la contraseña de " +"pánico. La contrasenña clave le permitirá pasar al mensaje de contrasenña " +"original, mientras que la contrasenña de pánico llamará a la I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "Vea la sección de B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "La función de pánico:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" +"El comportamiento de esta función se define a través de los argumentos " +"B, B o B. Vea la sección de B para más " +"detalles." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "OPCIÓNES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" +"Activa la función de contraseã con pánico y contraseña clave. Si las " +"opcionesB y B son provistas esta opción será ignorada." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "" +"Estas contraseñas se pueden configurar con el comando B(1)." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "Es el UUID del dispositivo para autenticación." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 +#: ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." +msgstr "" +"El dispositivo debe estar formateado por GPT y contener al menos una " +"partición. El UUID de un dispositivo se ve como «12345678-9ABC-" +"DEF0-1234-56789ABCDEF0»." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 +#: ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "Vea B para detalles." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are specified." +msgstr "" +"Es el UUID del dispositivo para emergencias. Cuando este dispositivo está " +"presente, se disparará un reinicio, un apagado, y / o la función pánica, " +"según si B, B, y / o B han sido especificados." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "B (recomendado)" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "" +"Indica que la sistema debe reiniciarse cuando se active la I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "Esta opción es recomendada." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "Si B está especificado también, B estará ignorado." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" +"Indica que la sistema debe apagarse cuando se active la I." +"Esta opción no se recomienda por razones de seguridad." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" +"Es el UUID del dispositivo que contene el encabezamiento de LUKS que estará " +"borrado cuando se active la I. Borrar el encabezado LUKS " +"hará que los datos sean ilegibles." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "" +"El comando interno que se ejecutará es \"B\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this function." +msgstr "" +"NOTA: Se deberiá hacer una copia del encabezamiento de LUKS antes de usar " +"esta función." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "USAR" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" +"Para activar el módulo se tiene que configurar PAM. Vea B para " +"detalles." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "" +"En general, se necesita agregar lo siguiente al comienzo de un archivo de " +"configuración PAM:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 +#: ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "account requisite __PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "O:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "CÓMO DETERMINAR MIS UUIDS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" +"Se puede encontrar sus UUIDs en /dev/disk/by-partuuid. Es posible que desee " +"ejecutar «ls -l /dev/disk/by-partuuid» en su shell favorito para encontrar " +"cuál UUID es su dispositivo." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "VALORES DE RETORNO" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "PAM_SUCCESS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "Indica que acceso fue permitido." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "PAM_IGNORE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "Indica que se ha producido un error. El módulo estará ignorado." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "PAM_MAXTRIES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "El media removible no fue detectados." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "ARCHIVOS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "__PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "Este módulo PAM." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "__PAMPANICPW__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "Cambiador de contraseña." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "ERRORES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to Ehttps://github.com/" +"pampanic/pam_panicE." +msgstr "" +"Por favor reportar errores y enviar pull requests a Ehttps://github.com/" +"pampanic/pam_panicE." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "VER TAMBIÉN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "B(1), B(8), B(8), B(5)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTORES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "pam_panic fue escrito por Bandie Ebandie@chaospott.deE." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson Ejordy." +"dickinson@icloud.comE." +msgstr "" +"Este página man fue traducido al español por Jordy Dickinson Ejordy." +"dickinson@icloud.comE y dangered wolf Ed@ngeredwolf.meE." + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "PAM_PANIC_PW" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "2018-03-31" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" +"pam_panic_pw - Establecer y cambiar las contraseñas para el módulo PAM de " +"B(8)." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "" +"B establece las contraseñas para el módulo PAM de " +"B(8)." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" +"Hay dos contraseñas: La \"contraseña clave\" y la \"contraseña de pánico\". " +"La \"contraseña clave\" se usa para autenticación normal mientras la " +"\"contraseña de pánico\" ejecutará la función de pánico." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "0" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "Contraseñas establecidas con éxito." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "1" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "Acceso denegado." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "2" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "No se pudo abrir el archivo de contraseña." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "__PPASSFILE__" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "El archivo de contraseña." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "B(8), B(8), B(5), B(8)." diff --git a/po4a/fr.po b/po4a/fr.po new file mode 100644 index 0000000..4b4596f --- /dev/null +++ b/po4a/fr.po @@ -0,0 +1,569 @@ +# French translations for pam_panic package +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the po package. +# Dashie , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: po 4a\n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: 2018-09-29 16:01+0200\n" +"Last-Translator: Dashie \n" +"Language-Team: French\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 2.1.1\n" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "PAM_PANIC" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "2018-03-26" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "Manuel de PAM Panic" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "NOM" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "" +"pam_panic - Module PAM pour un contrôle d'accès via l'utilisation d'un " +"périphérique amovible (avec une fonction panique)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "SYNOPSIS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPTION" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" +"Le module PAM pam_panic protège les données sensibles et fournit une " +"fonction de panique pour les situations d'urgence." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "Il-y-à deux options possibles pour utiliser ce module PAM:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "Première option possible:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" +"Il y à deux périphériques amovibles qui fonctionnent comme clé : la clé " +"d'authentification et la clé de panique. La clé d'authentification permet de " +"passer à la demande de mot de passe alors que la clé de panique appellera la " +"I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "Voir l'options B et B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "Seconde option possible:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" +"Il-y-à deux mots de passe: le mot de pass de clé et celui de panique. Le mot " +"de passe de clé permet de passer a la demande de mot de passe alors que " +"celui de panique appellera la I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "Voir l'option B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "La fonction de panique:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" +"Le comportement de cette fonction est défini via les arguments B, " +"B et/ou B. Voir la section B pour plus de " +"détails." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "OPTIONS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" +"Active la fonction de mot de passe avec un mot de passe de clé et de " +"panique. Si les options options B et B sont fournies, cette " +"option sera ignorée." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "" +"Ces mots de passe peuvent être définis via le programme B(1)." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "" +"L'UUID du péripherique à utiliser pour l'authentification (la clé " +"d'authentification)." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 +#: ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." +msgstr "" +"Le périphérique doit être formatté en GPT avec au moins une partition. " +"L'UUID du périphérique formatté en GPT ressemble à \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 +#: ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "Lisez COMMENT DÉTERMINER MES UUIDS pour plus de détails." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are specified." +msgstr "" +"L'UUID du périphérique à utiliser en cas d'urgence. La présence de ce " +"périphérique entrainera un B, B et/ou la fonction de " +"panique, selon si B, B, et/ou B sont spécifiés." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "B (recommendé)" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "" +"Indique que le système doit redémarrer lorsque la I est " +"déclenchée." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "Cette option est recommandée." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "Si B est aussi spécifié, B sera ignoré." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" +"Indique que le système doit s’éteindre lorsque la I est " +"déclenchée. Cette option est déconseillée pour des raisons de sécurité." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" +"L'UUID du périphérique contenant l'en-tête LUKS à effacer lorsque la " +"I est déclenchée. Effacer l'en-tête LUKS rendra les " +"données illisibles." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "" +"La commande interne qui sera exécutée est la suivante: \"B\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this function." +msgstr "" +"NOTE: Vous devriez faire une sauvegarde de l'entête LUKS avant d'utiliser " +"cette fonction." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "UTILISATION" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" +"Pour activer ce module vous devez configurer PAM. Lisez B pour " +"plus de détails." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "" +"En général, vous voudrez ajouter ce qui suit au début du fichier de " +"configuration PAM:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 +#: ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "account requisite __PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "Ou:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "COMMENT DÉTERMINER MES UUIDS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" +"Vous trouverz vos UUIDs dans /dev/disk/by-partuuid. Vous voudriez peut-être " +"executer \"ls -l /dev/disk/by-partuuid/\" dans votre shell favoris pour " +"trouver quel UUID correspond à quel périphérique." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "VALEURS DE RETOUR" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "PAM_SUCCESS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "Accès autorisé." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "PAM_IGNORE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "Une erreur est survenue. Le module sera ignoré." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "PAM_MAXTRIES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "Le péripherique amovible n'a pas été détécté." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "FICHIERS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "__PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "Ce module PAM." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "__PAMPANICPW__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "Programme pour configurer les mots de passe." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "BUGS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to Ehttps://github.com/" +"pampanic/pam_panicE." +msgstr "" +"Veuillez reporter les bugs ou envoyer une demande de correction à " +"Ehttps://github.com/pampanic/pam_panicE." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "VOIR AUSSI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "B(1), B(8), B(8), B(5)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTEURS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "pam_panic à été écris par Bandie Ebandie@chaospott.deE." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson Ejordy." +"dickinson@icloud.comE." +msgstr "" +"La version Française à été traduite par Dashie Edashie@otter.shE." + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "PAM_PANIC_PW" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "2018-03-31" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" +"pam_panic_pw - Configurer et changer les mots de passe pour le module PAM " +"B(8)." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "" +"B configure les mots de passe pour le module PAM " +"B(8)." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" +"Il-y-à deux mots de passe: le \"mot de passe de clé\" et le \"mot de passe " +"de panique\". Le \"mot de passe de clé\" est utilisé pour une " +"authentification normale alors que le \"mot de passe de panique\" executera " +"la fonction de panique." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "0" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "Mots de passe configurés avec succès." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "1" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "Accès refusé." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "2" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "Impossible d'ouvrir le fichier de mots de passe." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "__PASSFILE__" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "Le fichier de mots de passe." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "B(8), B(8), B(5), B(8)." diff --git a/po4a/ja.po b/po4a/ja.po new file mode 100644 index 0000000..c168f84 --- /dev/null +++ b/po4a/ja.po @@ -0,0 +1,557 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Bandie +# This file is distributed under the same license as the pam_panic package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: 2018-09-29 16:41+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.1.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "PAM_PANIC" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "2018-05-31" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "PAM Panic マニュアル" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "名前" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "pam_panic - 緊急時に機密データを保護するPAMモジュール" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "概要" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "説明" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" +"pam_panic PAMモジュールは、緊急時にデータを保護するためのパニック機能を実装し" +"ます。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "このPAMモジュールを使用するには、次の2つの方法があります。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "方法1:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" +"認証キーとパニックキーの2つのデバイスをキーとして使用します。\n" +"認証キーではパスワード認証をスキップし、パニックキーではパニック機能が起動し" +"ます。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "オプションBとBを参照してください。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "方法2:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" +"パスワードを2つ用意します。認証パスワードとパニックパスワードです。認証パス" +"ワードでは通常通り認証が行われ、パニックパスワードではパニック機能が起動しま" +"す。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "オプションBを参照してください。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "パニック機能:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" +"この機能の動作は次の引数によって指定されます: B, B または " +"B 。詳細については、 B<オプション> セクションを確認してください。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "オプション" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" +"パスワードを認証に使用します。 引数に B と B が指定されている" +"場合、このオプションは無視されます。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "パスワードは B(1) コマンドによって指定できます。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "デバイスのUUIDを認証に使用します。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 +#: ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." +msgstr "" +"デバイスはGPTでフォーマットされている必要があり、最低1つのパーティションを含" +"んでいる\n" +"必要があります。GPTでフォーマットされたデバイスのUUIDは次のようになります: " +"\"12345678-9ABC-DEF0-1234-56789ABCDEF0\"。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 +#: ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "詳細については B を確認してください。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are specified." +msgstr "" +"緊急時に使用するデバイスのUUIDを指定します。このデバイスが存在する場合、" +"B, B またはパニック機能が発動します。 パニック機能は " +"B, B, B のうち、いずれか1つ以上で指定されます。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "B (推奨)" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "I<パニック機能>が起動したときにシステムが再起動することを示します。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "このオプションが推奨されます。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "B が同時に指定されている場合、 B は無視されます。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" +"I<パニック機能>が起動したときにシステムがシャットダウンすることを示します。 " +"セキュリティ上の理由から、このオプションはお勧めできません。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" +"LUKSヘッダーを消去するための鍵となるデバイスのUUIDを指定しますLUKSヘッダーを" +"消去した場合、データは復元できなくなります。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "実行される内部コマンドは \"B\"です。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this function." +msgstr "" +"注意: この機能を使用する前に、LUKSヘッダーをバックアップしておくことをおすす" +"めします。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "使用法" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" +"ジュールを使用するためには、PAMを設定する必要があります。詳細については、\n" +"B を参照してください。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "多くの場合、PAM設定ファイルの先頭に次の内容を設定するばあいです。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 +#: ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "account requisite __PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "または:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "UUIDを調べる方法" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" +"/dev/disk/by-partuuid でUUIDを調べることができます。 \"ls -l /dev/disk/by-" +"partuuid/\"\n" +"を任意のシェルで実行して、どのデバイスがどのUUIDかを調べる必要があるかもしれ" +"ません。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "返り値" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "PAM_SUCCESS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "アクセスは許可されました。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "PAM_IGNORE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "エラーが発生しました。モジュールは無視されます。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "PAM_MAXTRIES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "リムーバブルメディアが検知されませんでした。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "ファイル" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "__PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "このPAMモジュールです。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "__PAMPANICPW__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "パスワードの設定および変更を行うためのプログラムです。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "バグ報告" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to Ehttps://github.com/" +"pampanic/pam_panicE." +msgstr "" +"Ehttps://github.com/pampanic/pam_panicE で、バグの報告やプルリクエス" +"トを行ってください。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "関連項目" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "B(1), B(8), B(8), B(5)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "著者" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "" +"pam_panic は Bandie Ebandie@chaospott.deE によって作成されました。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson Ejordy." +"dickinson@icloud.comE." +msgstr "" +"この翻訳は Chromium Neptune Echromium@neplanet.comE によって作成され" +"ています。" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "PAM_PANIC_PW" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "2018-05-31" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" +"pam_panic_pw - B(8) PAM モジュールで使用するパスワードの設定と変更" +"を行う。" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "" +"B は B(8) PAM\n" +" モジュールで使用するパスワードの設定および変更を行います。" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" +"認証パスワードとパニックパスワードの2つのパスワードを用意します。\n" +"認証パスワードは、通常の認証に使用します。\n" +"パニックパスワードは、パニック機能の発動に使用します。" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "0" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "パスワードは正しく設定されました。" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "1" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "アクセスが拒否されました。" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "2" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "パスワードファイルを開けません。" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "__PPASSFILE__" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "パスワードファイルです。" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "B(8), B(8), B(5), B(8)." diff --git a/po4a/pam_panic.pot b/po4a/pam_panic.pot new file mode 100644 index 0000000..69ce13d --- /dev/null +++ b/po4a/pam_panic.pot @@ -0,0 +1,494 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Bandie +# This file is distributed under the same license as the pam_panic package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like " +"\"12345678-9ABC-DEF0-1234-56789ABCDEF0\"." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are " +"specified." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this " +"function." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to " +"Ehttps://github.com/pampanic/pam_panicE." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson " +"Ejordy.dickinson@icloud.comE." +msgstr "" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "" diff --git a/po4a/po4a.cfg b/po4a/po4a.cfg new file mode 100644 index 0000000..0c8f3be --- /dev/null +++ b/po4a/po4a.cfg @@ -0,0 +1,8 @@ +[options] opt:"--copyright-holder 'Bandie ' --package-name 'pam_panic' --msgid-bugs-address 'Bandie ' --package-version '0.2.0'" + + +[po_directory] . + +[type: man] ../src/pam_panic/man/man8/pam_panic.8 $lang:../src/pam_panic/man/$lang/man8/pam_panic.8 +[type: man] ../src/pam_panic_pw/man/man1/pam_panic_pw.1 $lang:../src/pam_panic_pw/man/$lang/man1/pam_panic_pw.1 + diff --git a/src/pam_panic/Makefile.am b/src/pam_panic/Makefile.am index 925f929..ab3c7e8 100644 --- a/src/pam_panic/Makefile.am +++ b/src/pam_panic/Makefile.am @@ -3,6 +3,8 @@ SUBDIRS = man securelibdir = $(SECUREDIR) securelibexecdir = $(securelibdir) +AM_CFLAGS = -DLOCALEDIR='"$(localedir)"' + securelibexec_LTLIBRARIES = pam_panic.la pam_panic_la_SOURCES = \ pam_panic.c \ diff --git a/src/pam_panic/man/Makefile.am b/src/pam_panic/man/Makefile.am index bd95e7a..3627aa5 100644 --- a/src/pam_panic/man/Makefile.am +++ b/src/pam_panic/man/Makefile.am @@ -10,7 +10,9 @@ nobase_dist_cant_believe_its_not_man_DATA = \ %.gz: % { sldr=$$(echo "$(securelibdir)" | $(SED) 's/\//\\\//g') ; bdr=$$(echo "$(bindir)" | $(SED) 's/\//\\\//g') ; $(SED) "s/__PAMPANICSO__/$$sldr\/pam_panic\\\\\&.so/; s/__PAMPANICPW__/$$bdr\/pam_panic_pw/" $< >$<.tmp ; } gzip -c $<.tmp >$@ + rm $<.tmp clean-local: - rm ./*/*.tmp ./*/*.gz ./*/*/*.tmp ./*/*/*.gz + $(RM) ./*/*.gz + $(FIND) . -type d -not -name man8 -not -path . -exec rm -rf {} + diff --git a/src/pam_panic/man/de/man8/pam_panic.8 b/src/pam_panic/man/de/man8/pam_panic.8 deleted file mode 100644 index eff087d..0000000 --- a/src/pam_panic/man/de/man8/pam_panic.8 +++ /dev/null @@ -1,209 +0,0 @@ -'\" t -.\" Title: pam_panic -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-03-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: German -.\" -.TH "PAM_PANIC" "8" "2018-03-31" "PAM Panic Handbuch" "PAM Panic Handbuch" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - -.SH "NAME" -pam_panic \- PAM-Modul mit Panik-Funktion zum Sch\(:utzen von wichtigen Daten in Notsituationen - - -.SH "\(:UBERSICHT" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] - - -.SH "BESCHREIBUNG" -.PP -Das pam_panic PAM Modul wurde mit dem Hintergedanken entwickelt, Personen mit wichtigen Daten zu sch\(:utzen\&. Es bietet eine Panik-Funktion\&. -.PP -Es gibt zwei M\(:oglichkeiten der Verwendung: -.PD 0 -.PP -Erste M\(:oglichkeit: -.RS 2 -Man verwendet zwei Wecheldatentr\(:ager, die als Schl\(:ussel dienen\&. -Hierbei funktioniert eines als Authentifizierungsschl\(:ussel und eines als Panikschl\(:ussel\&. -Der Panikschl\(:ussel f\(:uhrt die \fIPanikfunktion\fR aus\&. -.PD 0 -.PP -Siehe dazu die Optionen \fBallow\fR und \fBreject\fR\&. -.RE -.PP -Zweite M\(:oglichkeit: -.RS 2 -Man verwendet zwei Passw\(:orter, die als Schl\(:ussel dienen\&. -Dabei wird ein Schl\(:usselpasswort (Key password) und ein Panikpasswort (Panic password) festgelegt\&. -Das Panikpasswort wird hierbei die \fIPanikfunktion\fR aufrufen\&. -.PD 0 -.PP -Siehe dazu die Option \fBpassword\fR\&. -.RE - -.PD 1 -.PP -Die Panikfunktion: -.RS 2 -Das Verhalten der Panikfunktion wird durch die Argumente \fBreboot\fR, \fBpoweroff\fR und/oder \fBserious\fR definiert\&. -.RE - - -.SH "OPTIONEN" -.PP -\fBpassword\fR -.RS 4 -Diese Option aktiviert die Passwortfunktion mit einem Panikpasswort und einem Schl\(:usselpasswort. Wenn \fBallow\fR und \fBreject\fR gesetzt sind, wird diese Option ignoriert. -.PD 0 -.PP -.PD 1 -Um die Passw\(:orter zu setzen steht das Programm \fBpam_panic_pw\fR(1) zur Verf\(:ugung. -.RE - -.PP -\fBallow=\fR\fB\fIUUID(GPT)\fR\fR -.RS 4 -Diese Ger\(:ate-UUID wird zur Authentifizierung benutzt (Authentifierungsschl\(:ussel)\&. -.PD 0 -.PP -.PD 1 -Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird\&. -Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. -.PP -Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR\&. -.RE -.PP - -\fBreject=\fR\fB\fIUUID(GPT)\fR\fR -.RS 4 -Diese Ger\(:ate-UUID wird \fBreboot\fR, \fBpoweroff\fR und/oder die Panik-Funktion \fBserious\fR, sofern als Argument angegeben, aufrufen\& (Panikschl\(:ussel). -.PD 0 -.PP -.PD 1 -Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird\&. -Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. -.PP -Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR\&. -.RE -.PP - -\fBreboot\fR (empfohlen) -.RS 4 -Wenn dieses Argument angegeben wird, wird das System neu gestartet, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&. -Diese Option wird empfohlen\&. -.PP -Wenn \fBpoweroff\fR ebenfalls als Argument angegeben wird, wird \fBreboot\fR ignoriert\&. -.RE -.PP - -\fBpoweroff\fR -.RS 4 -Wenn dieses Argument angegeben wird, wird das System heruntergefahren, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&. -Aus Sicherheitsgr\(:unden wird von dieser Option abgeraten\&. -.RE -.PP - -\fBserious=\fR\fB\fIUUID\fR\fR -.RS 4 -Die Ger\(:ate-UUID, dessen luksHeaders zerst\(:ort werden w\(:urde, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&. -Das hei\(sst, dass die Daten auf den in den Optionen angegebenen Datentr\(:ager f\(:ur niemanden mehr lesbar sein werden\&. -.PD 0 -.PP -Intern wird das Programm "\fBcryptsetup luksErase [UUID]\fR" ausgef\(:uhrt\&. -.PD 1 -.PP -(Eine Erinnerung daran, ein luksHeader-Backup zu machen bevor diese Funktion benutzt wird.\&.) -.RE -.PP - - -.SH "ANWENDUNG" -.PP -Um das Modul zu aktivieren, muss PAM konfiguriert werden\&. Siehe dazu \fBpam\&.conf(5)\fR\&. -.PP -Man f\(:uge folgende beispielhafte Zeilen am Anfang einer Konfigurationsdatei hinzu: -.PD 0 -.RS 4 -auth requisite __PAMPANICSO__ auth= reject= reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -Oder auch: -.RS 4 -auth requisite __PAMPANICSO__ password reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -.PD 1 - - -.SH "WIE BESTIMME ICH MEINE UUIDS" -.PP -Die UUIDs k\(:onnen unter \fI/dev/disk/by-partuuid\fR gefunden werden\&. -Um nachvollziehen zu k\(:onnen, welcher Wecheldatentr\(:ager welches ist, ist es ratsam "\fBls -l /dev/disk/by-partuuid/\fR" in der Lieblingsshell auszuf\(:uhren\&. - - -.SH "R\(:UCKGABEWERTE" -.PP -PAM_SUCCESS -.RS 4 -Zugriff wurde gew\(:ahrt\&. -.RE -.PP -PAM_IGNORE -.RS 4 -Ein Fehler ist aufgetreten\&. Dieses Modul wird ignoriert\&. -.RE -.PP -PAM_MAXTRIES -.RS 4 -Der Wecheldatentr\(:ager wurde nicht erkannt\&. -.RE - - -.SH "DATEIEN" -.PP -__PAMPANICSO__ -.RS 4 -Shared object-Datei, die f\(:ur alles zust\(:andig ist\&. -.RE -.PP -__PAMPANICPW__ -.RS 4 -Programm zum Setzen und Ver\(:andern der Passw\(:orter\&. -.RE - - -.SH "BUGS" -.PP -Fehlerberichte (m\(:oglichst auf Englisch) und Codeverbesserungen k\(:onnen hier eingereicht werden: - - -.SH "SIEHE AUCH" -.PP -\fBpam_panic_pw\fR(1), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. - - -.SH "AUTOREN" - -.PD 0 -.PP -Dieses pam_panic PAM Modul wurde durch Bandie entwickelt\&. diff --git a/src/pam_panic/man/es/man8/pam_panic.8 b/src/pam_panic/man/es/man8/pam_panic.8 deleted file mode 100644 index fc95f42..0000000 --- a/src/pam_panic/man/es/man8/pam_panic.8 +++ /dev/null @@ -1,187 +0,0 @@ -'\" t -.\" Title: pam_panic -.\" Author: [vea la secci\('on "AUTORES"] -.\" Date: 2018-03-28 -.\" Manual: Linux-PAM Panic Manual -.\" Source: Linux-PAM Panic Manual -.\" Language: Spanish -.\" -.TH "PAM_PANIC" "8" "2018-03-28" "PAM Panic Manual" "PAM Panic Manual" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - - -.SH "NOMBRE" -pam_panic \- un m\('odulo de PAM para controlar acceso usando media removible (con funci\('on p\('anica) - - -.SH "SINOPSIS" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] - - -.SH "DESCRIPCI\('ON" -.PP -El m\('odulo pam_panic protege los datos delicados y proporci\('ona una funci\('on p\('anica para emergencias\&. -.PP -Hay dos opciones posibles para utilizar este modulo de PAM: -.PD 0 -.PP -Primera opci\('on posible: -.RS 2 -Hay dos medias removibles que est\('an usando como claves: La clave de autenticaci\('on y la clave de p\('anico\&. -La clave para autenticaci\('on se permite ingresar su contrase\(~na mientras la clave para p\('anico va a llamar la funci\('on de p\('anico. -.RE -Segunda opci\('on posible: -.RS 2 -Hay dos contrase\(~nas: La contrase\(~na para autenticaci\('on y la contrase\(~na de p\('anico. La contrasen\(~na clave le permitir\('a pasar al mensaje de contrasen\(~na original, mientras que la contrasen\(~na de p\('anico llamar\('a a la funci\('on de p\('anico. -.RE - -.PD 1 -.PP -La funci\('on de p\('anico: -.RS 2 -El comportamiento de esta función se define a través de los argumentos \fBreboot\fR, \fBpoweroff\fR o \fBserious\fR\&. Vea la secci\('on de \fBOPCI\('ONES\fR para m\('as detalles\&. -.RE -.SH "OPCI\('ONES" -.PP -\fBpassword\fR -.RS 4 -Activa la funci\('on de contrase\(~a con p\('anico y contrase\(~na clave\&. -Si las opciones \fBpermitir\fR y \fBrechazar\fR son provistas esta opci\('on ser\('a ignorada\&. -.PD 0 -.PP -Estas contraseñas se pueden configurar con el comando \fBpam_panic_pw\fR(1)\&. -.RE -.PD 1 -.PP - -\fBallow=\fR\fB\fIUUID(GPT)\fR\fR (necesario) -.RS 4 -Es el UUID del dispositivo para autenticaci\('on. -.PD 0 -.PP -.PD 1 -El dispositivo debe estar formateado por GPT y contener al menos una partici\('on\&. -El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]\&. -.PP -Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles\&. -.RE -.PP - -\fBreject=\fR\fB\fIUUID(GPT)\fR\fR (necesario) -.RS 4 -Es el UUID del dispositivo para emergencias. Cuando este dispositivo est\('a presente, se disparar\('a un reinicio, un apagado, y / o la funci\('on p\('anica, seg\('un si \fBreboot\fR, \fBpoweroff\fR, y / o \fBserious\fR han sido especificados. -.PD 0 -.PP -.PD 1 -El dispositivo debe estar formateado por GPT y contener al menos una partici\('on\&. -El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]\&. -.PP -Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles\&. -.RE -.PP - -\fBreboot\fR (recomendado) -.RS 4 -Indica que la sistema debe reiniciarse cuando se encontra el dispositivo especificado por \fBreject\fR\&. -.PP -Si \fBpoweroff\fR est\('a especificado tambi\('en, \fBreboot\fR estar\('a ignorado\&. -.RE -.PP - -\fBpoweroff\fR -.RS 4 -Indica que la sistema debe apagarse cuando se encontra el dispositivo especificado por \fBreject\fR\&. -Esta opci\('on no se recomienda por razones de seguridad\&. -.RE -.PP - -\fBserious=\fR\fB\fIUUID\fR\fR -.RS 4 -Es el UUID del dispositivo que contene el encabezamiento de LUKS que estar\('a borrado cuando encuentra el dispositivo especificado por \fBreject\fR\&. -.PP -NOTA: Se deberi\('a hacer una copia del encabezamiento de LUKS antes de usar esta funci\('on. -.RE -.PP - - -.SH "USAR" -.PP -Para activar el m\('odulo se tiene que configurar PAM\&. Vea \fBpam\&.conf(5)\fR para detalles\&. -.PP -En general, se necesita agregar lo siguiente al comienzo de un archivo de configuraci\('on PAM: -.PD 0 -.RS 4 -auth requisite __PAMPANICSO__ auth= reject= reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -Or: -.RS 4 -auth requisite __PAMPANICSO__ password reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -.PD 1 - -.SH "C\('OMO DETERMINAR MIS UUIDS" -.PP -Se puede encontrar sus UUIDs en \fI/dev/disk/by-partuuid\fR\&. -Es posible que desee ejecutar \[Fo]\fBls -l /dev/disk/by-partuuid\fR\[Fc] en su shell favorito para encontrar cu\('al UUID es su dispositivo\&. - -.SH "VALORES DE RETORNO" -.PP -PAM_SUCCESS -.RS 4 -Indica que acceso fue permitido\&. -.RE -.PP -PAM_IGNORE -.RS 4 -Indica que se ha producido un error\&. El m\('odulo estar\('a ignorado. -.RE -.PP -PAM_MAXTRIES -.RS 4 -El media removible no fue detectados\&. -.RE - -.SH "ARCHIVOS" -.PP -__PAMPANICSO__ -.RS 4 -Este m\('odulo PAM\&. -.RE -.PP -__PAMPANICPW__ -.RS 4 -Cambiador de contraseña -.RE - -.SH "ERRORES" -.PP -Por favor reportar errores y enviar pull requests a \&. - - -.SH "VER TAMBI\('EN" -.PP -\fBcryptsetup\fR(8), \fBpam\fR(8), \fBpam\&.conf\fR(5) - - -.SH "AUTORES" -.PD 0 -.PP -pam_panic fue escrito por Bandie \&. -.PP -Este p\('agina man fue traducido al espa\(~nol por Jordy Dickinson y dangered wolf \&. diff --git a/src/pam_panic/man/fr/man8/pam_panic.8 b/src/pam_panic/man/fr/man8/pam_panic.8 deleted file mode 100644 index 84b133c..0000000 --- a/src/pam_panic/man/fr/man8/pam_panic.8 +++ /dev/null @@ -1,198 +0,0 @@ -'\" t -.\" Title: pam_panic -.\" Author: [see the "AUTEURS" section] -.\" Date: 2018-03-28 -.\" Manual: Linux-PAM Panic Manual -.\" Source: Linux-PAM Panic Manual -.\" Language: French -.\" -.TH "PAM_PANIC" "8" "2018-03-26" "Manuel de PAM Panic" "Manuel de PAM Panic" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - - -.SH "NOM" -pam_panic \- Module PAM pour un contrôle d'accès via l'utilisation d'un périphérique amovible (avec une fonction panique) - - -.SH "SYNOPSIS" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] - - -.SH "DESCRIPTION" -.PP -Le module PAM pam_panic protège les données sensibles et fournit une fonction de panique pour les situations d'urgence\&. -.PP -Il-y-à deux options possibles pour utiliser ce module PAM: -.PD 0 -.PP -Première option possible: -.RS 2 -Il y à deux périphériques amovibles qui fonctionnent comme clé : la clé d'authentification et la clé de panique\&. -La clé d'authentification permet de passer à la demande de mot de passe alors que la clé de panique appellera la fonction de panique\&. -.RE -Seconde option possible: -.RS 2 -Il-y-à deux mots de passe: le mot de pass de clé et celui de panique\&. Le mot de passe de clé permet de passer a la demande de mot de passe alors que celui de panique appellera la fonction de panique\&. -.RE - -.PD 1 -.PP -La fonction de panique: -.RS 2 -Le comportement de cette fonction est défini via les arguments \fBreboot\fR, \fBpoweroff\fR et/ou \fBserious\fR\&. Voir la section \fBOPTIONS\fR pour plus de détails\&. -.RE - -.SH "OPTIONS" -.PP -\fBpassword\fR -.RS 4 -Active la fonction de mot de passe avec un mot de passe de clé et de panique.\& -Si les options options \fBallow\fR et \fBreject\fR sont fournies, cette option sera ignorée\&. -.PD 0 -.PP -Ces mots de passe peuvent être définis via le programme \fBpam_panic_pw\fR(1)\&. -.RE -.PD 1 -.PP - -.PP -\fBallow=\fR\fB\fIUUID(GPT)\fR\fR (requis) -.RS 4 -L'UUID du péripherique à utiliser pour l'authentification (la clé d'authentification)\&. -.PD 0 -.PP -.PD 1 -Le périphérique doit être formatté en GPT avec au moins une partition\&. -L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. -.PP -Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails\&. -.RE -.PP - -\fBreject=\fR\fB\fIUUID(GPT)\fR\fR (requis) -.RS 4 -L'UUID du périphérique à utiliser en cas d'urgence. La présence de ce périphérique entrainera un \fBreboot\fR, \fBpoweroff\fR et/ou la fonction de panique, selon si \fBreboot\fR, \fBpoweroff\fR, et/ou \fBserious\fR sont spécifiés. -.PD 0 -.PP -.PD 1 -Le périphérique doit être formatté en GPT avec au moins une partition\&. -L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. -.PP -Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails\&. -.RE -.PP - -\fBreboot\fR (recommendé) -.RS 4 -Indique que le système doit redémarrer lorsqu'il détecte le périphérique spécifié avec \fBreject\fR\&. -.PP -Si \fBpoweroff\fR est aussi spécifié, \fBreboot\fR sera ignoré\&. -.RE -.PP - -\fBpoweroff\fR -.RS 4 -Indique que le système doit s'éteindre lorsqu'il détecte le périphérique spécifié avec \fBreject\fR\&. -Cette option est déconseillée pour des raisons de sécurité\&. -.RE -.PP - -\fBserious=\fR\fB\fIUUID\fR\fR -.RS 4 -L'UUID du périphérique contenant l'entête LUKS à éffacer lors de la détéction du périphérique spécifié avec \fBreject\fR\&. -.PP -NOTE: Vous devriez faire une sauvegarde de l'entête LUKS avant d'utiliser cette fonction\&. -.RE -.PP - - -.SH "UTILISATION" -.PP -Pour activer ce module vous devez configurer PAM\&. Lisez \fBpam\&.conf(5)\fR pour plus de détails\&. -.PP -En général, vous voudrez ajouter ce qui suit au début du fichier de configuration PAM: -.PD 0 -.RS 4 -auth requisite __PAMPANICSO__ auth= reject= reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -Ou: -.RS 4 -auth requisite __PAMPANICSO__ password reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -.PD 1 - - -.SH "COMMENT DÉTERMINER MES UUIDS" -.PP -Vous trouverz vos UUIDs dans \fI/dev/disk/by-partuuid\fR\&. -Vous voudriez peut-être executer "\fBls -l /dev/disk/by-partuuid/\fR" dans votre shell favoris pour trouver quel UUID correspond à quel périphérique\&. - - -.SH "VALEURS DE RETOUR" -.PP -PAM_SUCCESS -.RS 4 -Accès autorisé\&. -.RE -.PP -PAM_IGNORE -.RS 4 -Une erreur est survenue\&. Le module sera ignoré\&. -.RE -.PP -PAM_MAXTRIES -.RS 4 -Le péripherique amovible n'a pas été détécté\&. -.RE - - -.SH "FICHIERS" -.PP -__PAMPANICSO__ -.RS 4 -Ce module PAM\&. -.RE -.PP -__PAMPANICPW__ -.RS 4 -Programme pour configurer les mots de passe\&. -.RE - - -.SH "BUGS" -.PP -Veuillez reporter les bugs ou envoyer une demande de correction à \&. - - -.SH "VOIR AUSSI" -.PP -\fBpam_panic_pw\fR(1), -\fBcryptsetup\fR(8), -\fBpam\fR(8), -\fBpam\&.conf\fR(5) - - -.SH "AUTEURS" -.PD 0 -.PP -pam_panic à été écris par Bandie \&. -.PP -La page de manuel Anglaise à été révisée par Jordy Dickinson \&. -.PP -La version Française à été traduite par Dashie \&. diff --git a/src/pam_panic/man/ja/man8/pam_panic.8 b/src/pam_panic/man/ja/man8/pam_panic.8 deleted file mode 100644 index 15a0d94..0000000 --- a/src/pam_panic/man/ja/man8/pam_panic.8 +++ /dev/null @@ -1,196 +0,0 @@ -'\" t -.\" Title: pam_panic -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-05-31 -.\" Manual: Linux-PAM Panic Manual -.\" Source: Linux-PAM Panic Manual -.\" Language: Japanese -.\" -.TH "PAM_PANIC" "8" "2018-05-31" "PAM Panic マニュアル" "PAM Panic マニュアル" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - - -.SH "名前" -pam_panic \- 緊急時に機密データを保護するPAMモジュール - - -.SH "概要" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] - - -.SH "説明" -.PP -pam_panic PAMモジュールは、緊急時にデータを保護するためのパニック機能を実装します。 -.PP -このPAMモジュールを使用するには、次の2つの方法があります。 -.PD 0 -.PP -方法1: -.RS 2 -認証キーとパニックキーの2つのデバイスをキーとして使用します。 -認証キーではパスワード認証をスキップし、パニックキーではパニック機能が起動します。 -.RE -方法2: -.RS 2 -パスワードを2つ用意します。認証パスワードとパニックパスワードです。認証パスワードでは通常通り認証が行われ、パニックパスワードではパニック機能が起動します。 -.RE - -.PD 1 -.PP -パニック機能: -.RS 2 -この機能の動作は次の引数によって指定されます: \fBreboot\fR, \fBpoweroff\fR または \fBserious\fR\ 。詳細については、 \fBOPTIONS\fR セクションを確認してください。 -.RE - - -.SH "オプション" -.PP -\fBpassword\fR -.RS 4 -パスワードを認証に使用します。 -引数に \fBallow\fR と \fBreject\fR が指定されている場合、このオプションは無視されます。 -.PD 0 -.PP -パスワードは \fBpam_panic_pw\fR(1) コマンドによって指定できます。 -.RE -.PD 1 -.PP - -\fBallow=\fR\fB\fIUUID(GPT)\fR\fR -.RS 4 -デバイスのUUIDを認証に使用します。 -.PD 0 -.PP -.PD 1 -デバイスはGPTでフォーマットされている必要があり、最低1つのパーティションを含んでいる必要があります。 -GPTでフォーマットされたデバイスのUUIDは次のようになります: "12345678-9ABC-DEF0-1234-56789ABCDEF0"。 -.PP -詳細については \fBUUIDを調べる方法\fR を確認してください。 -.RE -.PP - -\fBreject=\fR\fB\fIUUID(GPT)\fR\fR -.RS 4 -緊急時に使用するデバイスのUUIDを指定します。このデバイスが存在する場合、\fBreboot\fR, \fBpoweroff\fR またはパニック機能が発動します。 パニック機能は \fBreboot\fR, \fBpoweroff\fR, \fBserious\fR のうち、いずれか1つ以上で指定されます。 -.PD 0 -.PP -.PD 1 -デバイスはGPTでフォーマットされている必要があり、最低1つのパーティションを含んでいる必要があります。 -GPTでフォーマットされたデバイスのUUIDは次のようになります: "12345678-9ABC-DEF0-1234-56789ABCDEF0"。 -.PP -詳細については \fBUUIDを調べる方法\fR を確認してください。 -.RE -.PP - -\fBreboot\fR (推奨) -.RS 4 -\fBreject\fR で指定されたデバイスが検知された場合、再起動します。 -.PP -\fBpoweroff\fR が同時に指定されている場合、 \fBreboot\fR は無視されます。 -.RE -.PP - -\fBpoweroff\fR -.RS 4 -\fBreject\fR で指定されたデバイスが検知された場合、シャットダウンします。 -セキュリティ上の理由から、このオプションは推奨されません。 -.RE -.PP - -\fBserious=\fR\fB\fIUUID\fR\fR -.RS 4 -LUKSヘッダーを消去するための鍵となるデバイスのUUIDを指定します。 -LUKSヘッダーを消去した場合、データは復元できなくなります。 -.PP -注意: この機能を使用する前に、LUKSヘッダーをバックアップしておくことをおすすめします。 -.RE -.PP - - -.SH "USAGE" -.PP -モジュールを使用するためには、PAMを設定する必要があります。詳細については、 \fBpam\&.conf(5)\fR を参照してください。 -.PP -多くの場合、PAM設定ファイルの先頭に次の内容を設定すればよいでしょう。 -.PD 0 -.RS 4 -auth requisite __PAMPANICSO__ auth= reject= reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -Or: -.RS 4 -auth requisite __PAMPANICSO__ password reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -.PD 1 - - -.SH "UUIDを調べる方法" -.PP -\fI/dev/disk/by-partuuid\fR でUUIDを調べることができます。 -"\fBls -l /dev/disk/by-partuuid/\fR" を任意のシェルで実行して、どのデバイスがどのUUIDかを調べる必要があるかもしれません。 - -.SH "返り値" -.PP -PAM_SUCCESS -.RS 4 -アクセスは許可されました。 -.RE -.PP -PAM_IGNORE -.RS 4 -エラーが発生しました。モジュールは無視されます。 -.RE -.PP -PAM_MAXTRIES -.RS 4 -リムーバブルメディアが検知されませんでした。 -.RE - - -.SH "ファイル" -.PP -__PAMPANICSO__ -.RS 4 -このPAMモジュールです。 -.RE -.PP -__PAMPANICPW__ -.RS 4 -パスワードの設定および変更を行うためのプログラムです。 -.RE - - -.SH "バグ報告" -.PP - で、バグの報告やプルリクエストを行ってください。 - - -.SH "関連項目" -.PP -\fBpam_panic_pw\fR(1), -\fBcryptsetup\fR(8), -\fBpam\fR(8), -\fBpam\&.conf\fR(5) - - -.SH "著者" -.PD 0 -.PP -pam_panic は Bandie によって作成されました。 -.PP -この翻訳は Chromium Neptune によって作成されています。 diff --git a/src/pam_panic/man/man8/pam_panic.8 b/src/pam_panic/man/man8/pam_panic.8 index 913b8fb..1dc943b 100644 --- a/src/pam_panic/man/man8/pam_panic.8 +++ b/src/pam_panic/man/man8/pam_panic.8 @@ -7,8 +7,8 @@ .\" Language: English .\" .TH "PAM_PANIC" "8" "2018-03-26" "PAM Panic Manual" "PAM Panic Manual" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' +.\".ie \n(.g .ds Aq \(aq +.\".el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -26,32 +26,39 @@ pam_panic \- PAM module with panic function to protect sensitive data in emergen .SH "SYNOPSIS" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] +.HP \w'\fBpam_panic.so\fR\ 'u +\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] .SH "DESCRIPTION" .PP -The pam_panic PAM module protects sensitive data and provides a panic function for emergency situations\&. +The pam_panic PAM module protects sensitive data and provides a panic function for emergency situations. .PP There are two possible options in how to use this PAM module: .PD 0 .PP First possible option: .RS 2 -There are two removable media which work as keys: the auth key and the panic key\&. -The auth key will let you pass to the password prompt whereas the panic key will call the panic function\&. +There are two removable media which work as keys: the auth key and the panic key. +The auth key will let you pass to the password prompt whereas the panic key will call the \fIpanic function\fR. +.PD 0 +.PP +See options \fBallow\fR and \fBreject\fR. .RE +.PP Second possible option: .RS 2 -There are two passwords: the key password and the panic password\&. The key password will let you pass to the original password prompt whereas the panic password will call the panic function\&. +There are two passwords: the key password and the panic password. The key password will let you pass to the original password prompt whereas the panic password will call the \fIpanic function\fR. +.PD 0 +.PP +See option \fBpassword\fR. .RE .PD 1 .PP The panic function: .RS 2 -The behaviour of this function is defined through the arguments \fBreboot\fR, \fBpoweroff\fR and/or \fBserious\fR\&. See the \fBOPTIONS\fR section for details\&. +The behaviour of this function is defined through the arguments \fBreboot\fR, \fBpoweroff\fR and/or \fBserious\fR. See the \fBOPTIONS\fR section for details. .RE @@ -59,25 +66,25 @@ The behaviour of this function is defined through the arguments \fBreboot\fR, \f .PP \fBpassword\fR .RS 4 -Activates the password function having a panic and key password\&. -If the options \fBallow\fR and \fBreject\fR are provided this option will be ignored\&. +Activates the password function having a panic and key password. +If the options \fBallow\fR and \fBreject\fR are provided this option will be ignored. .PD 0 .PP -These passwords can be set with the \fBpam_panic_pw\fR(1) command\&. +These passwords can be set with the \fBpam_panic_pw\fR(1) command. .RE .PD 1 .PP \fBallow=\fR\fB\fIUUID(GPT)\fR\fR .RS 4 -The UUID of the device to be used for authentication (the auth key)\&. +The UUID of the device to be used for authentication (the auth key). .PD 0 .PP .PD 1 -The device must be GPT-formatted and contain at least one partition\&. -The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. +The device must be GPT-formatted and contain at least one partition. +The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0". .PP -See \fBHOW TO DETERMINE MY UUIDS\fR for details\&. +See \fBHOW TO DETERMINE MY UUIDS\fR for details. .RE .PP @@ -87,41 +94,48 @@ The UUID of the device to be used in emergencies. The presence of this device wi .PD 0 .PP .PD 1 -The device must be GPT-formatted and contain at least one partition\&. -The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. +The device must be GPT-formatted and contain at least one partition. +The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0". .PP -See \fBHOW TO DETERMINE MY UUIDS\fR for details\&. +See \fBHOW TO DETERMINE MY UUIDS\fR for details. .RE .PP \fBreboot\fR (recommended) .RS 4 -Indicates that the system should reboot upon encountering the device specified with \fBreject\fR\&. +Indicates that the system should reboot when the \fIpanic function\fR is triggered. +.PD 0 .PP -If \fBpoweroff\fR is also specified, \fBreboot\fR will be ignored\&. +This option is recommended. +.PD 1 +.PP +If \fBpoweroff\fR is also specified, \fBreboot\fR will be ignored. .RE .PP \fBpoweroff\fR .RS 4 -Indicates that the system should shut down upon encountering the device specified with \fBreject\fR\&. -This option is discouraged for security reasons\&. +Indicates that the system should shut down when the \fIpanic function\fR is triggered. +This option is discouraged for security reasons. .RE .PP \fBserious=\fR\fB\fIUUID\fR\fR .RS 4 -The UUID of the device containing the LUKS header to erase upon encountering the device specified with \fBreject\fR\&. -Erasing the LUKS header will render the data unreadable\&. +The UUID of the device containing the LUKS header to erase when the \fIpanic function\fR is triggered. Erasing the LUKS header will render the data unreadable. +.PD 0 .PP -NOTE: You should make a backup of the LUKS header before using this function\&. +The internal command which will be executed is "\fBcryptsetup luksErase [UUID]\fR". +.PD 1 +.PP +NOTE: You should make a backup of the LUKS header before using this function. .RE .PP .SH "USAGE" .PP -To activate the module you have to configure PAM\&. See \fBpam\&.conf(5)\fR for details\&. +To activate the module you have to configure PAM. See \fBpam.conf(5)\fR for details. .PP In general, you will want to add the following to the top of a PAM configuration file: .PD 0 @@ -141,25 +155,25 @@ account requisite __PAMPANICSO__ .SH "HOW TO DETERMINE MY UUIDS" .PP -You will find your UUIDs in \fI/dev/disk/by-partuuid\fR\&. -You might want to execute "\fBls -l /dev/disk/by-partuuid/\fR" in your favourite shell to find out which UUID is which device\&. +You will find your UUIDs in \fI/dev/disk/by-partuuid\fR. +You might want to execute "\fBls -l /dev/disk/by-partuuid/\fR" in your favourite shell to find out which UUID is which device. .SH "RETURN VALUES" .PP PAM_SUCCESS .RS 4 -Access was granted\&. +Access was granted. .RE .PP PAM_IGNORE .RS 4 -An error has occured\&. The module will be ignored.\&. +An error has occured. The module will be ignored. .RE .PP PAM_MAXTRIES .RS 4 -The removable media was not detected\&. +The removable media was not detected. .RE @@ -167,18 +181,18 @@ The removable media was not detected\&. .PP __PAMPANICSO__ .RS 4 -This PAM module\&. +This PAM module, which does everything of this above. .RE .PP __PAMPANICPW__ .RS 4 -Program to set and change the passwords\&. +Program to set and change the passwords. .RE .SH "BUGS" .PP -Please report bugs and send pull requests to \&. +Please report bugs and send pull requests to . .SH "SEE ALSO" @@ -186,12 +200,12 @@ Please report bugs and send pull requests to \&. +pam_panic was written by Bandie . .PP -This man page has been revised by Jordy Dickinson +This man page has been revised by Jordy Dickinson . diff --git a/src/pam_panic/pam_panic.c b/src/pam_panic/pam_panic.c index 37f8072..873c271 100644 --- a/src/pam_panic/pam_panic.c +++ b/src/pam_panic/pam_panic.c @@ -6,6 +6,8 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ +#include "pam_panic.h" + #include #include #include @@ -16,12 +18,18 @@ LICENSE : GNU-GPLv3 #include #include #include -#include "config.h" + #include "pam_panic_reject.h" +#include "../../lib/gettext.h" + +#define _(String) gettext(String) + #include "pam_panic_authdevice.h" #include "pam_panic_password.h" +#ifdef PACKAGE +#ifdef LOCALEDIR #ifdef REBOOT #ifdef POWEROFF #ifdef CRYPTSETUP @@ -30,7 +38,7 @@ int makeRegex(pam_handle_t *pamh, regex_t *regex){ char *pattern = "^[A-Fa-f0-9]\\{8\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{12\\}$"; if(regcomp(regex, pattern, 0)){ - pam_syslog(pamh, LOG_CRIT, "ERROR: Problem with regcomp."); + pam_syslog(pamh, LOG_CRIT, _("CRITICAL: Problem with regcomp.")); return 1; } @@ -67,6 +75,10 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons int8_t bPoweroff = 0; int8_t bPassword = 0; + // gettext + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); // Regex for checking arguments regex_t regex; @@ -107,7 +119,7 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons || (rejected_temp != NULL && regexec(®ex, rejected_temp, 0, NULL, 0) == REG_NOMATCH) || (bSerious && serious_temp == NULL) ) { - pam_syslog(pamh, LOG_ERR, "Arguments invalid. Note that allow and reject must have a valid GPT UUID."); + pam_syslog(pamh, LOG_ERR, _("ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a valid GPT UUID.")); return (PAM_ABORT); } @@ -143,7 +155,7 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons // Check if panic key exist if(bSerious && access(serious_dev, F_OK) == -1){ - pam_syslog(pamh, LOG_ALERT, "ALERT for argument \"serious\": Device doesn't exist."); + pam_syslog(pamh, LOG_ALERT, _("ALERT for argument \"serious\": Device doesn't exist.")); return (PAM_ABORT); } @@ -201,3 +213,5 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const c #endif #endif #endif +#endif +#endif diff --git a/src/pam_panic/pam_panic.h b/src/pam_panic/pam_panic.h index 0ec8644..b5dc29f 100644 --- a/src/pam_panic/pam_panic.h +++ b/src/pam_panic/pam_panic.h @@ -1,25 +1,15 @@ /* -FILENAME : pam_panic.c -DESCRIPTION : Header is made for testing purposes. +FILENAME : pam_panic.h +DESCRIPTION : Header. AUTHOR : Bandie DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -#include -#include -#include -#include -#include -#include -#include #include #include #include -#include "pam_panic_reject.h" -#include "pam_panic_authdevice.h" -#include "pam_panic_password.h" void argSplit(char **some_arg, char **some_temp, const char *arg); diff --git a/src/pam_panic/pam_panic_authdevice.c b/src/pam_panic/pam_panic_authdevice.c index 94386f5..3a09c45 100644 --- a/src/pam_panic/pam_panic_authdevice.c +++ b/src/pam_panic/pam_panic_authdevice.c @@ -6,23 +6,35 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -#include +#include "pam_panic_authdevice.h" + #include + +#include "../../lib/gettext.h" #include #include #include -#include "pam_panic_reject.h" +#include "pam_panic_reject.h" #include "pam_panic_authdevice.h" +#define _(String) gettext(String) + + int authDevice(pam_handle_t *pamh, char *allowed, char *rejected, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){ #ifndef TEST + + // gettext + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + int8_t counter = 0; while(access(allowed, F_OK) == -1 && access(rejected, F_OK) == -1){ - pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, NULL, ASK); + pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, NULL, _("Key? ")); if(++counter >= 3){ - pam_syslog(pamh, LOG_NOTICE, "Couldn't identify any keys. 3 tries."); + pam_syslog(pamh, LOG_NOTICE, _("Couldn't identify any key after 3 tries.")); return (PAM_MAXTRIES); } } diff --git a/src/pam_panic/pam_panic_authdevice.h b/src/pam_panic/pam_panic_authdevice.h index fe4386b..3302a34 100644 --- a/src/pam_panic/pam_panic_authdevice.h +++ b/src/pam_panic/pam_panic_authdevice.h @@ -5,7 +5,8 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ - -#define ASK "Key? " +#include "../config.h" +#include +#include int authDevice(pam_handle_t *pamh, char *allowed, char *rejected, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff); diff --git a/src/pam_panic/pam_panic_password.c b/src/pam_panic/pam_panic_password.c index 2b7414e..6230986 100644 --- a/src/pam_panic/pam_panic_password.c +++ b/src/pam_panic/pam_panic_password.c @@ -6,33 +6,32 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ +#include "pam_panic_password.h" + #include #include #include #include #include -#include -#include + +#include "../../lib/gettext.h" + #include #include -#include "pam_panic_password.h" #include "pam_panic_reject.h" -#define MSG_NOFILE "ALERT for password option: No password file detected." -#define MSG_ERROPEN "ERROR: Couldn't open password file." -#define MSG_CORRUPT "CRITICAL: Password file is corrupt!" - +#define _(String) gettext(String) int readPassword(pam_handle_t *pamh, char pw[2][99]){ // Open file if(access(PPASSFILE, F_OK) == -1){ - pam_syslog(pamh, LOG_ALERT, MSG_NOFILE); + pam_syslog(pamh, LOG_ALERT, _("ALERT for password option: No password file detected.")); return 2; } FILE *f = fopen(PPASSFILE, "r"); if(f == NULL){ - pam_syslog(pamh, LOG_ALERT, MSG_ERROPEN); + pam_syslog(pamh, LOG_ALERT, _("ERROR: Couldn't open password file.")); return 1; } @@ -44,7 +43,7 @@ int readPassword(pam_handle_t *pamh, char pw[2][99]){ fclose(f); if(nread != 198){ - pam_syslog(pamh, LOG_CRIT, MSG_CORRUPT); + pam_syslog(pamh, LOG_CRIT, _("CRITICAL: Password file is corrupt!")); return 3; } @@ -65,6 +64,11 @@ int readPassword(pam_handle_t *pamh, char pw[2][99]){ int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){ + // gettext + setlocale (LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + // PAM password response char resp[256]; char *response = NULL; @@ -84,7 +88,7 @@ int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t - pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, &response, PWPROMPT); + pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, &response, _("Password: ")); // Is response null? if(!response) diff --git a/src/pam_panic/pam_panic_password.h b/src/pam_panic/pam_panic_password.h index 6476554..356d73e 100644 --- a/src/pam_panic/pam_panic_password.h +++ b/src/pam_panic/pam_panic_password.h @@ -5,12 +5,14 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -#include "config.h" +#include "../config.h" +#include +#include +#include #ifndef PPASSFILE #error PPASSFILE must be declared! #endif -#define PWPROMPT "Password::" int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff); diff --git a/src/pam_panic/pam_panic_reject.c b/src/pam_panic/pam_panic_reject.c index 44ef9e3..b0af67e 100644 --- a/src/pam_panic/pam_panic_reject.c +++ b/src/pam_panic/pam_panic_reject.c @@ -6,7 +6,7 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -#include +#include "pam_panic_reject.h" #include #ifdef TEST #include @@ -14,8 +14,6 @@ LICENSE : GNU-GPLv3 #include #endif #include -#include "config.h" -#include "pam_panic_reject.h" int reject(char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){ if(bSerious){ diff --git a/src/pam_panic/pam_panic_reject.h b/src/pam_panic/pam_panic_reject.h index 5c18236..de44350 100644 --- a/src/pam_panic/pam_panic_reject.h +++ b/src/pam_panic/pam_panic_reject.h @@ -5,4 +5,7 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ +#include "../config.h" +#include + int reject(char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff); diff --git a/src/pam_panic_pw/Makefile.am b/src/pam_panic_pw/Makefile.am index 6d795b6..911e3a9 100644 --- a/src/pam_panic_pw/Makefile.am +++ b/src/pam_panic_pw/Makefile.am @@ -1,5 +1,7 @@ SUBDIRS = man +AM_CFLAGS = -DLOCALEDIR='"$(localedir)"' + bin_PROGRAMS = pam_panic_pw pam_panic_pw_SOURCES = pam_panic_pw.c pam_panic_pw.h pam_panic_pw_LDFLAGS = -lcrypt diff --git a/src/pam_panic_pw/man/Makefile.am b/src/pam_panic_pw/man/Makefile.am index 936912f..56b7d87 100644 --- a/src/pam_panic_pw/man/Makefile.am +++ b/src/pam_panic_pw/man/Makefile.am @@ -9,7 +9,9 @@ nobase_dist_cant_believe_its_not_man_DATA = \ %.gz: % { ppf=$$(echo "$(PPASSFILE)" | $(SED) 's/\//\\\//g') ; bdr=$$(echo "$(bindir)" | $(SED) 's/\//\\\//g') ; $(SED) "s/__PPASSFILE__/$$ppf/; s/__PAMPANICPW__/$$bdr\/pam_panic\\\\\&.so/" $< >$<.tmp ; } gzip -c $<.tmp >$@ + rm $<.tmp clean-local: - rm ./*/*.tmp ./*/*.gz ./*/*/*.tmp ./*/*/*.g + $(RM) -f ./*/*.gz + $(FIND) . -type d -not -name man1 -not -path . -exec rm -rf {} + diff --git a/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 deleted file mode 100644 index 740092c..0000000 --- a/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 +++ /dev/null @@ -1,89 +0,0 @@ -'\" t -.\" Title: pam_panic_pw -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-03-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: German -.\" -.TH "PAM_PANIC_PW" "8" "2018-03-31" "PAM Panic Handbuch" "PAM Panic Handbuch" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - -.SH "NAME" -pam_panic_pw \- Setzen der Passw\(:orter f\(:ur das \fBpam_panic\fR(8) PAM Modul\&. - - -.SH "\(:UBERSICHT" -.HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fR - - -.SH "BESCHREIBUNG" -.PP -Es setzt die Passw\(:orter f\(:ur das \fBpam_panic\fR(8) PAM Modul\&. -.PP -Dabei gibt es das "Key password" und das "Panic password"\&. -Das "Key password" dient zur normalen Authentifizierung -w\(:ahrend das "Panic password" die Panikfunktion ausf\(:uhrt\&. - - -.SH "R\(:UCKGABEWERTE" -.PP -0 -.RS 4 -Passw\(:orter erfolgreich gesetzt\&. -.RE -.PP -1 -.RS 4 -Keine Berechtigung\&. -.RE -.PP -2 -.RS 4 -Die Passwortdatei konnte nicht ge\(:offnet werden\&. -.RE - - -.SH "DATEIEN" -.PP -__PAMPANICPW__ -.RS 4 -Programm zum Setzen und Ver\(:andern der Passw\(:orter\&. -.RE -.PP -__PPASSFILE__ -.RS 4 -Die Passwortdatei\&. -.RE - - -.SH "BUGS" -.PP -Fehlerberichte (m\(:oglichst auf Englisch) und Codeverbesserungen k\(:onnen hier eingereicht werden: - - -.SH "SIEHE AUCH" -.PP -\fBpam_panic\fR(8), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. - - -.SH "AUTOREN" - -.PD 0 -.PP -Dieses pam_panic PAM Modul wurde durch Bandie entwickelt\&. diff --git a/src/pam_panic_pw/man/es/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/es/man1/pam_panic_pw.1 deleted file mode 100644 index b4e55e4..0000000 --- a/src/pam_panic_pw/man/es/man1/pam_panic_pw.1 +++ /dev/null @@ -1,93 +0,0 @@ -'\" t -.\" Title: pam_panic_pw -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-03-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: Spanish -.\" -.TH "PAM_PANIC_PW" "8" "2018-03-31" "Manual de PAM Panic" "Manual de PAM Panic" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - -.SH "NOMBRE" -pam_panic_pw \- Establecer y cambiar las contrase\(~nas para el m\('odulo PAM de \fBpam_panic\fR(8)\&. - - -.SH "SINOPSIS" -.HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fR - - -.SH "DESCRIPCI\('ON" -.PP -\fBpam_panic_pw\fR establece las contrase\(~nas para el m\('odulo PAM de \fBpam_panic\fR(8)\&. -.PP -Hay dos contrase\(~nas: La "contrase\(~na clave" y la "contraseña de p\('anico"\&. -La "contrase\(~na clave" se usa para autenticaci\('on normal -mientras la "contrase\(~na de p\('anico" ejecutar\('a la funci\('on de p\('anico\&. - - -.SH "VALORES DEVUELTOS" -.PP -0 -.RS 4 -Contrase\(~nas establecidas con \('exito\&. -.RE -.PP -1 -.RS 4 -Acceso denegado\&. -.RE -.PP -2 -.RS 4 -No se pudo abrir el archivo de contrase\(~na\&. -.RE - - -.SH "ARCHIVOS" -.PP -__PAMPANICPW__ -.RS 4 -Programa para establecer y cambiar las contrase\(~nas\&. -.RE -.PP -__PPASSFILE__ -.RS 4 -El archivo de contrase\(~na\&. -.RE - - -.SH "PROBLEMAS" -.PP -Por favor repuerta errores y enviar pull requests a \&. - - -.SH "VER TAMBI\('EN" -.PP -\fBpam_panic\fR(8), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. - - -.SH "AUTORES" - -.PD 0 -.PP -pam_panic fue escrito por Bandie \&. -.PP -Esta p\('agina de man ha sido revisada por Jordy Dickinson -.PP -Este p\('agina man fue traducido al español por dangered wolf diff --git a/src/pam_panic_pw/man/fr/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/fr/man1/pam_panic_pw.1 deleted file mode 100644 index 7551068..0000000 --- a/src/pam_panic_pw/man/fr/man1/pam_panic_pw.1 +++ /dev/null @@ -1,93 +0,0 @@ -'\" t -.\" Title: pam_panic_pw -.\" Author: [see the "AUTEURS" section] -.\" Date: 2018-03-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: French -.\" -.TH "PAM_PANIC_PW" "8" "2018-03-31" "Manuel de PAM Panic" "Manuel de PAM Panic" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - -.SH "NAME" -pam_panic_pw \- Configurer et changer les mots de passe pour le module PAM \fBpam_panic\fR(8)\&. - - -.SH "SYNOPSIS" -.HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fR - - -.SH "DESCRIPTION" -.PP -\fBpam_panic_pw\fR configure les mots de passe pour le module PAM \fBpam_panic\fR(8)\&. -.PP -Il-y-à deux mots de passe: le "Key password" (mot de passe de clé) et le "Panic password" (mot de passe de panique)\&. -Le "Key password" (mot de passe de clé) est utilisé pour une authentification normale alors que le "Panic password" (mot de passe de panique) executera la fonction de panique\&. - - -.SH "VALEURS DE RETOUR" -.PP -0 -.RS 4 -Mots de passe configurés avec succès\&. -.RE -.PP -1 -.RS 4 -Accès refusé\&. -.RE -.PP -2 -.RS 4 -Impossible d'ouvrir le fichier de mots de passe\&. -.RE - - -.SH "FICHIERS" -.PP -__PAMPANICPW__ -.RS 4 -Programme pour changer les mots de passe\&. -.RE -.PP -__PPASSFILE__ -.RS 4 -Le fichier de mots de passe\&. -.RE - - -.SH "BUGS" -.PP -Veuillez reporter les bugs ou envoyer une demande de correction à \&. - - -.SH "VOIR AUSSI" -.PP -\fBpam_panic\fR(8), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. - - -.SH "AUTEURS" - -.PD 0 -.PP -pam_panic à été écris par Bandie \&. -.PP -La page de manuel Anglaise à été révisée par Jordy Dickinson \&. -.PP -La version Française à été traduite par Dashie \&. - diff --git a/src/pam_panic_pw/man/ja/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/ja/man1/pam_panic_pw.1 deleted file mode 100644 index 6b127f9..0000000 --- a/src/pam_panic_pw/man/ja/man1/pam_panic_pw.1 +++ /dev/null @@ -1,91 +0,0 @@ -'\" t -.\" Title: pam_panic_pw -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-05-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: Japanese -.\" -.TH "PAM_PANIC_PW" "8" "2018-05-31" "PAM Panic マニュアル" "PAM Panic マニュアル" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - -.SH "名前" -pam_panic_pw \- \fBpam_panic\fR(8) PAM モジュールで使用するパスワードの設定と変更を行う - - -.SH "概要" -.HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fR - - -.SH "説明" -.PP -\fBpam_panic_pw\fR は \fBpam_panic\fR(8) PAM モジュールで使用するパスワードの設定および変更を行います。 -.PP -認証パスワードとパニックパスワードの2つのパスワードを用意します。 -認証パスワードは、通常の認証に使用します。 -パニックパスワードは、パニック機能の発動に使用します。 - - -.SH "返り値" -.PP -0 -.RS 4 -パスワードは正しく設定されました。 -.RE -.PP -1 -.RS 4 -アクセスが拒否されました。 -.RE -.PP -2 -.RS 4 -パスワードファイルを開けません。 -.RE - - -.SH "ファイル" -.PP -__PAMPANICPW__ -.RS 4 -パスワードの設定および変更を行うためのプログラムです。 -.RE -.PP -__PPASSFILE__ -.RS 4 -パスワードファイルです。 -.RE - - -.SH "バグ報告" -.PP - で、バグの報告やプルリクエストを行ってください。 - - -.SH "関連項目" -.PP -\fBpam_panic\fR(8), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. - - -.SH "著者" - -.PD 0 -.PP -pam_panic は Bandie によって作成されました。 -.PP -この翻訳は Chromium Neptune によって作成されています。 diff --git a/src/pam_panic_pw/man/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/man1/pam_panic_pw.1 index fcb9756..db3dbb7 100644 --- a/src/pam_panic_pw/man/man1/pam_panic_pw.1 +++ b/src/pam_panic_pw/man/man1/pam_panic_pw.1 @@ -7,8 +7,8 @@ .\" Language: English .\" .TH "PAM_PANIC_PW" "8" "2018-03-31" "PAM Panic Manual" "PAM Panic Manual" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' +.\".ie \n(.g .ds Aq \(aq +.\".el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -21,7 +21,7 @@ .\" ----------------------------------------------------------------- .SH "NAME" -pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM module\&. +pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM module. .SH "SYNOPSIS" @@ -31,28 +31,28 @@ pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM modu .SH "DESCRIPTION" .PP -\fBpam_panic_pw\fR sets the passwords for the \fBpam_panic\fR(8) PAM module\&. +\fBpam_panic_pw\fR sets the passwords for the \fBpam_panic\fR(8) PAM module. .PP -There are two passwords: the "key password" and the "panic password"\&. +There are two passwords: the "key password" and the "panic password". The "key password" is used for the normal authentication -whereas the "panic password" will execute the panic function\&. +whereas the "panic password" will execute the panic function. .SH "RETURN VALUES" .PP 0 .RS 4 -Passwords set successfully\&. +Passwords set successfully. .RE .PP 1 .RS 4 -Access denied\&. +Access denied. .RE .PP 2 .RS 4 -Could not open the password file\&. +Could not open the password file. .RE @@ -60,33 +60,33 @@ Could not open the password file\&. .PP __PAMPANICPW__ .RS 4 -Program to set and change the passwords\&. +Program to set and change the passwords. .RE .PP __PPASSFILE__ .RS 4 -The password file\&. +The password file. .RE .SH "BUGS" .PP -Please report bugs and send pull requests to \&. +Please report bugs and send pull requests to . .SH "SEE ALSO" .PP \fBpam_panic\fR(8), \fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. +\fBpam.conf\fR(5), +\fBpam\fR(8). .SH "AUTHORS" .PD 0 .PP -pam_panic was written by Bandie \&. +pam_panic was written by Bandie . .PP -This man page has been revised by Jordy Dickinson +This man page has been revised by Jordy Dickinson . diff --git a/src/pam_panic_pw/pam_panic_pw.c b/src/pam_panic_pw/pam_panic_pw.c index 6f54cda..19e895d 100644 --- a/src/pam_panic_pw/pam_panic_pw.c +++ b/src/pam_panic_pw/pam_panic_pw.c @@ -7,7 +7,7 @@ LICENSE : GNU-GPLv3 */ - +#include "pam_panic_pw.h" #include #include @@ -17,13 +17,15 @@ LICENSE : GNU-GPLv3 #include #include #include "config.h" +#include "../../lib/gettext.h" +#define _(String) gettext(String) -int writePasswords(char pw[][99]){ +int writePasswords(char pw[][256], char* pwfile){ - FILE *f = fopen(PPASSFILE, "w"); + FILE *f = fopen(pwfile, "w"); if(f == NULL){ - fprintf(stderr, "ERROR opening file!\n"); + fprintf(stderr, _("ERROR opening file!\n")); return 2; } @@ -31,14 +33,21 @@ int writePasswords(char pw[][99]){ fclose(f); - chmod(PPASSFILE, 0644); + chmod(pwfile, 0644); return 0; } +#ifndef TEST int main(void){ + // gettext + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + + // init time_t t; srand((unsigned) time(&t)); unsigned long seed[2]; @@ -49,15 +58,20 @@ int main(void){ char *password[2]; char *pwvrf[2]; - char pw[2][99]; - char pwv[2][99]; + char pw[2][256]; + char pwv[2][256]; - char *prompt[4] = {"Key password: ", "Panic password: ", "Retype key password: ","Retype panic password: "}; + char *prompt[4] = { + _("Key password: "), + _("Panic password: "), + _("Confirm key password: "), + _("Confirm panic password: ") + }; int i; if(getuid() != 0){ - printf("Please run this program under root. Write access to %s is mandatory.\n", PPASSFILE); return 1; + printf(_("Please run this program under root. Write access to %s is mandatory.\n"), PPASSFILE); return 1; } for(int j=0; j<2; j++){ @@ -80,10 +94,10 @@ int main(void){ int ok = strcmp(pw[j], pwv[j]) == 0; if(!ok){ if(k==2){ - printf("Didn't work. Bye.\n"); + printf(_("Didn't work. Bye.\n")); return 1; }else - printf("Password didn't match. Try again.\n"); + printf(_("Password didn't match. Try again.\n")); }else break; } @@ -92,5 +106,6 @@ int main(void){ /* Save the results. */ - return writePasswords(pw); + return writePasswords(pw, PPASSFILE); } +#endif diff --git a/src/pam_panic_pw/pam_panic_pw.h b/src/pam_panic_pw/pam_panic_pw.h index d75a6b3..7320d2f 100644 --- a/src/pam_panic_pw/pam_panic_pw.h +++ b/src/pam_panic_pw/pam_panic_pw.h @@ -5,4 +5,4 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -int writePassword(char pw[][99]); +int writePasswords(char pw[][256], char* pwfile); diff --git a/test/Makefile.am b/test/Makefile.am index 7d1dc92..8b7587a 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,8 +1,11 @@ -CFLAGS += -DTEST +AM_CFLAGS = -DTEST bin_PROGRAMS = test -test_SOURCES = ../src/pam_panic/pam_panic_authdevice.c ../src/pam_panic/pam_panic_reject.c test.c -test_LDFLAGS = -lpam -lcunit +test_SOURCES = ../src/pam_panic/pam_panic_authdevice.c ../src/pam_panic/pam_panic_reject.c ../src/pam_panic_pw/pam_panic_pw.c test.c +test_LDFLAGS = -lpam -lcrypt -lcunit all: @printf "Running test...\n" ./test + @printf "Cleaning up...\n" + $(RM) ./pwfile + diff --git a/test/test.c b/test/test.c index 027c21c..8e2b1df 100644 --- a/test/test.c +++ b/test/test.c @@ -6,12 +6,14 @@ DATE : 2018-05-11T04:13:51+02:00 LICENSE : GNU-GPLv3 */ - #include #include #include + +#include "../lib/gettext.h" #include "../src/pam_panic/pam_panic_authdevice.h" #include "../src/pam_panic/pam_panic_reject.h" +#include "../src/pam_panic_pw/pam_panic_pw.h" #include #define STATE_GOOD 0 @@ -23,9 +25,15 @@ LICENSE : GNU-GPLv3 #define STATE_REJ_POW 2 #define STATE_REJ_NA 3 +#define STATE_PPP_WRITEPASSWORDS 0 + #define GOODUUID "./good" #define BADUUID "./bad" +#define PASSWORDFILE "./pwfile" +#define GOODPASSWORD "yip" +#define BADPASSWORD "69" + char* gU = GOODUUID; char* bU = BADUUID; @@ -85,6 +93,78 @@ void test_rejectNA(void) { } +// pam_panic_pw tests +void test_writePassword(void) { + + char encpw[2][256]; + + strcpy(encpw[0], crypt(GOODPASSWORD, "$6$somesalt")); + strcpy(encpw[1], crypt(BADPASSWORD, "$6$somesalt")); + + int ret = writePasswords(encpw, PASSWORDFILE); + CU_ASSERT_EQUAL(ret, STATE_PPP_WRITEPASSWORDS); +} + +void test_passwordCheckFromFile(void) { + + int ret; + char buf[2][256]; + char* line = NULL; + + FILE *f = fopen(PASSWORDFILE, "r"); + size_t len = 0; + + if(f){ + int i = 0; + while(getline(&line, &len, f)){ + strncpy(buf[i], line, len); + if(++i > 1) + break; + } + if(ferror(f)) + CU_FAIL("Some error occured with the password file."); + fclose(f); + } + + + ret = strcmp(strtok(buf[0], "\n"), crypt(GOODPASSWORD, buf[0])) == 0; + CU_ASSERT_TRUE(ret); + + ret = strcmp(strtok(buf[1], "\n"), crypt(BADPASSWORD, buf[1])) == 0; + CU_ASSERT_TRUE(ret); + +} + +void test_badPasswordCheckFromFile(void) { + + int ret; + char buf[2][256]; + char* line = NULL; + + FILE *f = fopen(PASSWORDFILE, "r"); + size_t len = 0; + + if(f){ + int i = 0; + while(getline(&line, &len, f)){ + strncpy(buf[i], line, len); + if(++i > 1) + break; + } + if(ferror(f)) + CU_FAIL("Some error occured with the password file."); + fclose(f); + } + + + ret = strcmp(strtok(buf[0], "\n"), crypt(BADPASSWORD, buf[0])) == 0; + CU_ASSERT_FALSE(ret); + + ret = strcmp(strtok(buf[1], "\n"), crypt(GOODPASSWORD, buf[1])) == 0; + CU_ASSERT_FALSE(ret); + +} + int main(void) { @@ -94,14 +174,16 @@ int main(void) { // init CUnit test registry CU_pSuite pSuiteDevice = NULL; CU_pSuite pSuiteReject = NULL; + CU_pSuite pSuitePasswordWrite = NULL; if (CUE_SUCCESS != CU_initialize_registry()) return CU_get_error(); // Make suits pSuiteDevice = CU_add_suite("Suite pam_panic_authdevice", init_suite, clean_suite); pSuiteReject = CU_add_suite("Suite pam_panic_reject", init_suite, clean_suite); + pSuitePasswordWrite = CU_add_suite("Suite pam_panic_pw", init_suite, clean_suite); if (pSuiteDevice == NULL - || pSuiteReject == NULL) { + || pSuiteReject == NULL || pSuitePasswordWrite == NULL) { CU_cleanup_registry(); return CU_get_error(); } @@ -111,10 +193,13 @@ int main(void) { if ( (NULL == CU_add_test(pSuiteDevice, "Authenticate with good device?", test_authDeviceGood)) || (NULL == CU_add_test(pSuiteDevice, "Authenticate with bad device?", test_authDeviceBad)) || (NULL == CU_add_test(pSuiteDevice, "Authenticate with no device?", test_authDeviceNA)) - || (NULL == CU_add_test(pSuiteReject, "Reject: Serious?", test_rejectSerious)) - || (NULL == CU_add_test(pSuiteReject, "Reject: Reboot?", test_rejectReboot)) - || (NULL == CU_add_test(pSuiteReject, "Reject: Poweroff?", test_rejectPoweroff)) - || (NULL == CU_add_test(pSuiteReject, "Reject: Nothing?", test_rejectNA)) + || (NULL == CU_add_test(pSuiteReject, "Serious function?", test_rejectSerious)) + || (NULL == CU_add_test(pSuiteReject, "Reboot function?", test_rejectReboot)) + || (NULL == CU_add_test(pSuiteReject, " Poweroff function?", test_rejectPoweroff)) + || (NULL == CU_add_test(pSuiteReject, " Nothing at all function?", test_rejectNA)) + || (NULL == CU_add_test(pSuitePasswordWrite, "Write a password into a file?", test_writePassword)) + || (NULL == CU_add_test(pSuitePasswordWrite, "Check password file with right passwords?", test_passwordCheckFromFile)) + || (NULL == CU_add_test(pSuitePasswordWrite, "Check password file with wrong passwords?", test_badPasswordCheckFromFile)) ) { CU_cleanup_registry(); return CU_get_error();