Merge branch 'master' of https://code.google.com/p/cryptsetup
authorArno Wagner <wagner.arno@gmail.com>
Sun, 10 Jun 2012 15:59:00 +0000 (17:59 +0200)
committerArno Wagner <wagner.arno@gmail.com>
Sun, 10 Jun 2012 15:59:00 +0000 (17:59 +0200)
28 files changed:
ChangeLog
TODO
configure.in
docs/v1.4.3-ReleaseNotes [new file with mode: 0644]
lib/crypt_plain.c
lib/crypto_backend/crypto_backend.h
lib/crypto_backend/crypto_gcrypt.c
lib/crypto_backend/crypto_kernel.c
lib/crypto_backend/crypto_nettle.c
lib/crypto_backend/crypto_nss.c
lib/crypto_backend/crypto_openssl.c
lib/internal.h
lib/libcryptsetup.h
lib/loopaes/loopaes.c
lib/luks1/af.c
lib/luks1/keymanage.c
lib/random.c
lib/setup.c
lib/utils_crypt.c
lib/utils_fips.c
po/cs.po
po/de.po
po/fi.po
po/nl.po
po/pl.po
po/uk.po
po/vi.po
tests/mode-test

index 080293a..fca8200 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-27  Milan Broz  <gmazyland@gmail.com>
+       * Fix readonly activation if underlying device is readonly (1.4.0).
+       * Include stddef.h in libdevmapper.h (size_t definition).
+       * Version 1.4.3.
+
 2012-05-21  Milan Broz  <gmazyland@gmail.com>
        * Add --enable-fips for linking with fipscheck library.
        * Initialize binary and library selfcheck if running in FIPS mode.
diff --git a/TODO b/TODO
index ad44f21..2644f28 100644 (file)
--- a/TODO
+++ b/TODO
@@ -4,3 +4,4 @@ Version 1.5.0:
 - FIPS patches (RNG, volume key restrictions, move changekey to library)
 - online reencryption api?
 - integrate more metadata formats
+- TRIM for keyslots
\ No newline at end of file
index f6ceb86..7c994c0 100644 (file)
@@ -1,9 +1,9 @@
 AC_PREREQ([2.67])
-AC_INIT([cryptsetup],[1.4.3-git])
+AC_INIT([cryptsetup],[1.4.4-git])
 
 dnl library version from <major>.<minor>.<release>[-<suffix>]
 LIBCRYPTSETUP_VERSION=$(echo $PACKAGE_VERSION | cut -f1 -d-)
-LIBCRYPTSETUP_VERSION_INFO=5:0:1
+LIBCRYPTSETUP_VERSION_INFO=6:0:2
 
 AC_CONFIG_SRCDIR(src/cryptsetup.c)
 AC_CONFIG_MACRO_DIR([m4])
@@ -140,6 +140,12 @@ AC_DEFUN([CONFIGURE_NSS], [
 
        PKG_CHECK_MODULES([NSS], [nss],,
                AC_MSG_ERROR([You need nss library.]))
+
+       saved_CFLAGS=$CFLAGS
+       CFLAGS="$CFLAGS $NSS_CFLAGS"
+       AC_CHECK_DECLS([NSS_GetVersion], [], [], [#include <nss.h>])
+       CFLAGS=$saved_CFLAGS
+
        CRYPTO_CFLAGS=$NSS_CFLAGS
        CRYPTO_LIBS=$NSS_LIBS
        NO_FIPS([])
diff --git a/docs/v1.4.3-ReleaseNotes b/docs/v1.4.3-ReleaseNotes
new file mode 100644 (file)
index 0000000..f084e06
--- /dev/null
@@ -0,0 +1,62 @@
+Cryptsetup 1.4.3 Release Notes
+==============================
+
+Changes since version 1.4.2
+
+* Fix readonly activation if underlying device is readonly (1.4.0).
+
+* Fix loop mapping on readonly file.
+
+* Include stddef.h in libdevmapper.h (size_t definition).
+
+* Fix keyslot removal for device with 4k hw block (1.4.0).
+(Wipe keyslot failed in this case.)
+
+* Relax --shared flag to allow mapping even for overlapping segments.
+
+  The --shared flag (and API CRYPT_ACTIVATE_SHARED flag) is now able
+  to map arbitrary overlapping area. From API it is even usable
+  for LUKS devices.
+  It is user responsibility to not cause data corruption though.
+
+  This allows e.g. scubed to work again and also allows some
+  tricky extensions later.
+
+* Allow empty cipher (cipher_null) for testing.
+
+  You can now use "null" (or directly cipher_null-ecb) in cryptsetup.
+  This means no encryption, useful for performance tests
+  (measure dm-crypt layer overhead).
+
+* Switch on retry on device remove for libdevmapper.
+  Device-mapper now retry removal if device is busy.
+
+* Allow "private" activation (skip some udev global rules) flag.
+  Cryptsetup library API now allows to specify CRYPT_ACTIVATE_PRIVATE,
+  which means that some udev rules are not processed.
+  (Used for temporary devices, like internal keyslot mappings where
+  it is not desirable to run any device scans.)
+
+* This release also includes some Red Hat/Fedora specific extensions
+related to FIPS140-2 compliance.
+
+In fact, all these patches are more formal changes and are just subset
+of building blocks for FIPS certification. See FAQ for more details
+about FIPS.
+
+FIPS extensions are enabled by using --enable-fips configure switch.
+
+In FIPS mode (kernel booted with fips=1 and gcrypt in FIPS mode)
+
+  - it provides library and binary integrity verification using
+  libfipscheck (requires pre-generated checksums)
+
+  - it uses FIPS approved RNG for encryption key and salt generation
+  (note that using /dev/random is not formally FIPS compliant RNG).
+
+ - only gcrypt crypto backend is currently supported in FIPS mode.
+
+The FIPS RNG requirement for salt comes from NIST SP 800-132 recommendation.
+(Recommendation for Password-Based Key Derivation. Part 1: Storage Applications.
+http://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf)
+LUKS should be aligned to this recommendation otherwise.
index 19a62e2..dc4fac3 100644 (file)
@@ -22,8 +22,8 @@
 #include <stdlib.h>
 #include <errno.h>
 
+#include "libcryptsetup.h"
 #include "internal.h"
-#include "crypto_backend.h"
 
 static int hash(const char *hash_name, size_t key_size, char *key,
                size_t passphrase_size, const char *passphrase)
index 81d74e6..c7f30cb 100644 (file)
 #ifndef _CRYPTO_BACKEND_H
 #define _CRYPTO_BACKEND_H
 
-#include "libcryptsetup.h"
-#include "internal.h"
+#include <stdint.h>
+#include "config.h"
 
+struct crypt_device;
 struct crypt_hash;
 struct crypt_hmac;
 
@@ -30,6 +31,7 @@ int crypt_backend_init(struct crypt_device *ctx);
 #define CRYPT_BACKEND_KERNEL (1 << 0)  /* Crypto uses kernel part, for benchmark */
 
 uint32_t crypt_backend_flags(void);
+const char *crypt_backend_version(void);
 
 /* HASH */
 int crypt_hash_size(const char *name);
@@ -46,7 +48,8 @@ int crypt_hmac_write(struct crypt_hmac *ctx, const char *buffer, size_t length);
 int crypt_hmac_final(struct crypt_hmac *ctx, char *buffer, size_t length);
 int crypt_hmac_destroy(struct crypt_hmac *ctx);
 
-/* RNG (must be usable in FIPS mode) */
-int crypt_backend_fips_rng(char *buffer, size_t length, int quality);
+/* RNG (if fips paramater set, must provide FIPS compliance) */
+enum { CRYPT_RND_NORMAL = 0, CRYPT_RND_KEY = 1, CRYPT_RND_SALT = 2 };
+int crypt_backend_rng(char *buffer, size_t length, int quality, int fips);
 
 #endif /* _CRYPTO_BACKEND_H */
index 033b7a8..ee14198 100644 (file)
  */
 
 #include <string.h>
+#include <stdio.h>
 #include <errno.h>
 #include <assert.h>
 #include <gcrypt.h>
 #include "crypto_backend.h"
 
 static int crypto_backend_initialised = 0;
+static int crypto_backend_secmem = 1;
+static char version[64];
 
 struct crypt_hash {
        gcry_md_hd_t hd;
@@ -42,8 +45,6 @@ int crypt_backend_init(struct crypt_device *ctx)
        if (crypto_backend_initialised)
                return 0;
 
-       log_dbg("Initialising gcrypt crypto backend.");
-       crypt_fips_libcryptsetup_check(ctx);
        if (!gcry_control (GCRYCTL_INITIALIZATION_FINISHED_P)) {
                if (!gcry_check_version (GCRYPT_REQ_VERSION)) {
                        return -ENOSYS;
@@ -56,8 +57,8 @@ int crypt_backend_init(struct crypt_device *ctx)
  * and it locks its memory space anyway.
  */
 #if 0
-               log_dbg("Initializing crypto backend (secure memory disabled).");
                gcry_control (GCRYCTL_DISABLE_SECMEM);
+               crypto_backend_secmem = 0;
 #else
 
                gcry_control (GCRYCTL_SUSPEND_SECMEM_WARN);
@@ -67,10 +68,18 @@ int crypt_backend_init(struct crypt_device *ctx)
                gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
        }
 
+       snprintf(version, 64, "gcrypt %s%s",
+                gcry_check_version(NULL),
+                crypto_backend_secmem ? "" : ", secmem disabled");
        crypto_backend_initialised = 1;
        return 0;
 }
 
+const char *crypt_backend_version(void)
+{
+       return crypto_backend_initialised ? version : "";
+}
+
 uint32_t crypt_backend_flags(void)
 {
        return 0;
@@ -227,8 +236,8 @@ int crypt_hmac_destroy(struct crypt_hmac *ctx)
        return 0;
 }
 
-/* RNG  */
-int crypt_backend_fips_rng(char *buffer, size_t length, int quality)
+/* RNG */
+int crypt_backend_rng(char *buffer, size_t length, int quality, int fips)
 {
        switch(quality) {
        case CRYPT_RND_NORMAL:
index da9f1ea..50e7167 100644 (file)
@@ -36,6 +36,7 @@
 #endif
 
 static int crypto_backend_initialised = 0;
+static char version[64];
 
 struct hash_alg {
        const char *name;
@@ -93,7 +94,6 @@ bad:
 int crypt_backend_init(struct crypt_device *ctx)
 {
        struct utsname uts;
-
        struct sockaddr_alg sa = {
                .salg_family = AF_ALG,
                .salg_type = "hash",
@@ -104,11 +104,8 @@ int crypt_backend_init(struct crypt_device *ctx)
        if (crypto_backend_initialised)
                return 0;
 
-       log_dbg("Initialising kernel crypto API backend.");
-
        if (uname(&uts) == -1 || strcmp(uts.sysname, "Linux"))
                return -EINVAL;
-       log_dbg("Kernel version %s %s.", uts.sysname, uts.release);
 
        if (_socket_init(&sa, &tfmfd, &opfd) < 0)
                return -EINVAL;
@@ -116,6 +113,9 @@ int crypt_backend_init(struct crypt_device *ctx)
        close(tfmfd);
        close(opfd);
 
+       snprintf(version, sizeof(version), "%s %s kernel cryptoAPI",
+                uts.sysname, uts.release);
+
        crypto_backend_initialised = 1;
        return 0;
 }
@@ -125,6 +125,11 @@ uint32_t crypt_backend_flags(void)
        return CRYPT_BACKEND_KERNEL;
 }
 
+const char *crypt_backend_version(void)
+{
+       return crypto_backend_initialised ? version : "";
+}
+
 static struct hash_alg *_get_alg(const char *name)
 {
        int i = 0;
@@ -293,7 +298,7 @@ int crypt_hmac_destroy(struct crypt_hmac *ctx)
 }
 
 /* RNG - N/A */
-int crypt_backend_fips_rng(char *buffer, size_t length, int quality)
+int crypt_backend_rng(char *buffer, size_t length, int quality, int fips)
 {
        return -EINVAL;
 }
index 9a438a8..2fc2ce6 100644 (file)
@@ -24,6 +24,8 @@
 #include <nettle/hmac.h>
 #include "crypto_backend.h"
 
+static char *version = "Nettle";
+
 typedef void (*init_func) (void *);
 typedef void (*update_func) (void *, unsigned, const uint8_t *);
 typedef void (*digest_func) (void *, unsigned, uint8_t *);
@@ -135,10 +137,14 @@ static struct hash_alg *_get_alg(const char *name)
 
 int crypt_backend_init(struct crypt_device *ctx)
 {
-       log_dbg("Initialising Nettle crypto backend.");
        return 0;
 }
 
+const char *crypt_backend_version(void)
+{
+       return version;
+}
+
 /* HASH */
 int crypt_hash_size(const char *name)
 {
@@ -264,7 +270,7 @@ int crypt_hmac_destroy(struct crypt_hmac *ctx)
 }
 
 /* RNG - N/A */
-int crypt_backend_fips_rng(char *buffer, size_t length, int quality)
+int crypt_backend_rng(char *buffer, size_t length, int quality, int fips)
 {
        return -EINVAL;
 }
index 86d429e..a4a5b08 100644 (file)
 #include <pk11pub.h>
 #include "crypto_backend.h"
 
+#define CONST_CAST(x) (x)(uintptr_t)
+
 static int crypto_backend_initialised = 0;
+static char version[64];
 
 struct hash_alg {
        const char *name;
@@ -70,10 +73,14 @@ int crypt_backend_init(struct crypt_device *ctx)
        if (crypto_backend_initialised)
                return 0;
 
-       log_dbg("Initialising NSS crypto backend.");
        if (NSS_NoDB_Init(".") != SECSuccess)
                return -EINVAL;
 
+#if HAVE_DECL_NSS_GETVERSION
+       snprintf(version, 64, "NSS %s", NSS_GetVersion());
+#else
+       snprintf(version, 64, "NSS");
+#endif
        crypto_backend_initialised = 1;
        return 0;
 }
@@ -83,6 +90,11 @@ uint32_t crypt_backend_flags(void)
        return 0;
 }
 
+const char *crypt_backend_version(void)
+{
+       return crypto_backend_initialised ? version : "";
+}
+
 /* HASH */
 int crypt_hash_size(const char *name)
 {
@@ -275,8 +287,14 @@ int crypt_hmac_destroy(struct crypt_hmac *ctx)
        return 0;
 }
 
-/* RNG - N/A */
-int crypt_backend_fips_rng(char *buffer, size_t length, int quality)
+/* RNG */
+int crypt_backend_rng(char *buffer, size_t length, int quality, int fips)
 {
-       return -EINVAL;
+       if (fips)
+               return -EINVAL;
+
+       if (PK11_GenerateRandom((unsigned char *)buffer, length) != SECSuccess)
+               return -EINVAL;
+
+       return 0;
 }
index e7f0c59..bbd35bf 100644 (file)
@@ -30,6 +30,7 @@
 #include <errno.h>
 #include <openssl/evp.h>
 #include <openssl/hmac.h>
+#include <openssl/rand.h>
 #include "crypto_backend.h"
 
 static int crypto_backend_initialised = 0;
@@ -52,7 +53,6 @@ int crypt_backend_init(struct crypt_device *ctx)
                return 0;
 
        OpenSSL_add_all_digests();
-       log_dbg("OpenSSL crypto backend initialized.");
 
        crypto_backend_initialised = 1;
        return 0;
@@ -63,6 +63,11 @@ uint32_t crypt_backend_flags(void)
        return 0;
 }
 
+const char *crypt_backend_version(void)
+{
+       return SSLeay_version(SSLEAY_VERSION);
+}
+
 /* HASH */
 int crypt_hash_size(const char *name)
 {
@@ -214,8 +219,14 @@ int crypt_hmac_destroy(struct crypt_hmac *ctx)
        return 0;
 }
 
-/* RNG - N/A */
-int crypt_backend_fips_rng(char *buffer, size_t length, int quality)
+/* RNG */
+int crypt_backend_rng(char *buffer, size_t length, int quality, int fips)
 {
-       return -EINVAL;
+       if (fips)
+               return -EINVAL;
+
+       if (RAND_bytes((unsigned char *)buffer, length) != 1)
+               return -EINVAL;
+
+       return 0;
 }
index f7ae864..1469c4e 100644 (file)
@@ -36,6 +36,7 @@
 #include "utils_loop.h"
 #include "utils_dm.h"
 #include "utils_fips.h"
+#include "crypto_backend.h"
 
 /* to silent gcc -Wcast-qual for const cast */
 #define CONST_CAST(x) (x)(uintptr_t)
@@ -98,7 +99,6 @@ void get_topology_alignment(const char *device,
                            unsigned long *alignment_offset,   /* bytes */
                            unsigned long default_alignment);
 
-enum { CRYPT_RND_NORMAL = 0, CRYPT_RND_KEY = 1, CRYPT_RND_SALT = 2 };
 int crypt_random_init(struct crypt_device *ctx);
 int crypt_random_get(struct crypt_device *ctx, char *buf, size_t len, int quality);
 void crypt_random_exit(void);
index 2b10add..e4b384f 100644 (file)
@@ -33,6 +33,7 @@
 extern "C" {
 #endif
 
+#include <stddef.h>
 #include <stdint.h>
 
 struct crypt_device; /* crypt device handle */
index dd61df3..298ff9f 100644 (file)
@@ -22,8 +22,9 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "crypto_backend.h"
+#include "libcryptsetup.h"
 #include "loopaes.h"
+#include "internal.h"
 
 static const char *get_hash(unsigned int key_size)
 {
index 8e79f9b..d147438 100644 (file)
@@ -26,7 +26,6 @@
 #include <string.h>
 #include <netinet/in.h>
 #include <errno.h>
-#include "crypto_backend.h"
 #include "internal.h"
 #include "af.h"
 
index a349993..753a06c 100644 (file)
@@ -1049,7 +1049,7 @@ int LUKS1_activate(struct crypt_device *cd,
                device_check = DEV_EXCL;
 
        r = device_check_and_adjust(cd, dmd.device, device_check,
-                                   &dmd.size, &dmd.offset, &flags);
+                                   &dmd.size, &dmd.offset, &dmd.flags);
        if (r)
                return r;
 
index 870ab64..5de4214 100644 (file)
@@ -25,7 +25,6 @@
 
 #include "libcryptsetup.h"
 #include "internal.h"
-#include "crypto_backend.h"
 
 static int random_initialised = 0;
 
@@ -179,13 +178,13 @@ int crypt_random_get(struct crypt_device *ctx, char *buf, size_t len, int qualit
                break;
        case CRYPT_RND_SALT:
                if (crypt_fips_mode())
-                       status = crypt_backend_fips_rng(buf, len, quality);
+                       status = crypt_backend_rng(buf, len, quality, 1);
                else
                        status = _get_urandom(ctx, buf, len);
                break;
        case CRYPT_RND_KEY:
                if (crypt_fips_mode()) {
-                       status = crypt_backend_fips_rng(buf, len, quality);
+                       status = crypt_backend_rng(buf, len, quality, 1);
                        break;
                }
                rng_type = ctx ? crypt_get_rng_type(ctx) :
index f34733d..fa9b174 100644 (file)
@@ -30,7 +30,6 @@
 #include "luks.h"
 #include "loopaes.h"
 #include "internal.h"
-#include "crypto_backend.h"
 
 struct crypt_device {
        char *type;
@@ -157,6 +156,8 @@ static int init_crypto(struct crypt_device *ctx)
 {
        int r;
 
+       crypt_fips_libcryptsetup_check(ctx);
+
        r = crypt_random_init(ctx);
        if (r < 0) {
                log_err(ctx, _("Cannot initialize crypto RNG backend.\n"));
@@ -167,6 +168,7 @@ static int init_crypto(struct crypt_device *ctx)
        if (r < 0)
                log_err(ctx, _("Cannot initialize crypto backend.\n"));
 
+       log_dbg("Crypto backend (%s) initialized.", crypt_backend_version());
        return r;
 }
 
index 8b12167..1fe9555 100644 (file)
@@ -61,7 +61,7 @@ int crypt_parse_name_and_mode(const char *s, char *cipher, int *key_nums,
        /* Short version for "empty" cipher */
        if (!strcmp(s, "null")) {
                strncpy(cipher, "cipher_null", MAX_CIPHER_LEN);
-               strncpy(cipher_mode, "ecb-null", 9);
+               strncpy(cipher_mode, "ecb", 9);
                if (key_nums)
                        *key_nums = 0;
                return 0;
index 4ca003f..d6d4b1d 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <stdlib.h>
+#include <unistd.h>
 #include "libcryptsetup.h"
 #include "nls.h"
 #include "utils_fips.h"
@@ -43,7 +44,7 @@ static void crypt_fips_verify(struct crypt_device *cd,
 
        if (!FIPSCHECK_verify(name, function)) {
                crypt_log(cd, CRYPT_LOG_ERROR, _("FIPS checksum verification failed.\n"));
-               exit(EXIT_FAILURE);
+               _exit(EXIT_FAILURE);
        }
 
        crypt_log(cd, CRYPT_LOG_VERBOSE, _("Running in FIPS mode.\n"));
index 2d07532..4f5f5d7 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -1,20 +1,20 @@
 # Czech translation for cryptsetup.
 # Copyright (C) 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the cryptsetup package.
-# Petr Pisar <petr.pisar@atlas.cz>, 2010, 2011.
+# Petr Pisar <petr.pisar@atlas.cz>, 2010, 2011, 2012.
 # Milan Broz <mbroz@redhat.com>, 2010.
 #
 # See `LUKS On-Disk Format Specification' document to clarify some terms.
 #
 # key slot → pozice klíče
-# plain/LUSK1 crypt → šifra plain/LUKS1 („plain“ nepřekládat)
+# plain/LUKS1 crypt → šifra plain/LUKS1 („plain“ nepřekládat)
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup 1.4.2\n"
+"Project-Id-Version: cryptsetup 1.4.3\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2012-04-03 00:12+0200\n"
-"PO-Revision-Date: 2012-04-09 19:41+0200\n"
+"POT-Creation-Date: 2012-05-22 23:31+0200\n"
+"PO-Revision-Date: 2012-05-26 14:45+0200\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -27,12 +27,12 @@ msgstr ""
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
 msgstr "Nelze inicializovat device-mapper. Je jaderný modul dm_mod zaveden?\n"
 
-#: lib/libdevmapper.c:412
+#: lib/libdevmapper.c:423
 #, c-format
 msgid "DM-UUID for device %s was truncated.\n"
 msgstr "DM-UUID pro zařízení %s bylo zkráceno.\n"
 
-#: lib/random.c:74
+#: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 "Please move mouse or type some text in another window to gather some random events.\n"
@@ -41,20 +41,20 @@ msgstr ""
 "Aby bylo možné nasbírat náhodné události, žádáme uživatele, aby pohyboval\n"
 "myší nebo psal text do jiného okna.\n"
 
-#: lib/random.c:78
+#: lib/random.c:79
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Vytváří se klíč (%d %% hotovo).\n"
 
-#: lib/random.c:167
+#: lib/random.c:168
 msgid "Fatal error during RNG initialisation.\n"
 msgstr "Fatální chyba během přípravy generátoru náhodných čísel.\n"
 
-#: lib/random.c:194
+#: lib/random.c:205
 msgid "Unknown RNG quality requested.\n"
 msgstr "Požadována neznámá kvalita generátoru náhodných čísel.\n"
 
-#: lib/random.c:199
+#: lib/random.c:210
 #, c-format
 msgid "Error %d reading from RNG: %s\n"
 msgstr "Chyba %d při čtení z generátoru náhodných čísel: %s\n"
@@ -91,160 +91,155 @@ msgstr "Pozice klíče %d není platná, prosím, vyberte číslo mezi 0 a %d.\n
 msgid "Key slot %d is full, please select another one.\n"
 msgstr "Pozice klíče %d je obsazena, prosím, vyberte jinou.\n"
 
-#: lib/setup.c:340
+#: lib/setup.c:345
 #, c-format
 msgid "Enter passphrase for %s: "
 msgstr "Zadejte heslo pro %s: "
 
-#: lib/setup.c:500
+#: lib/setup.c:505
 msgid "Cannot find a free loopback device.\n"
 msgstr "Nelze najít volné zařízení zpětné smyčky.\n"
 
-#: lib/setup.c:508
+#: lib/setup.c:513
 msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
 msgstr ""
 "Připojení zařízení zpětné smyčky selhalo (požadováno zařízení s příznakem\n"
 "autoclear).\n"
 
-#: lib/setup.c:564
+#: lib/setup.c:569
 #, c-format
 msgid "LUKS header detected but device %s is too small.\n"
 msgstr "Nalezena hlavička LUKS, ale zařízení %s je příliš malé.\n"
 
-#: lib/setup.c:580 lib/setup.c:1068
+#: lib/setup.c:585 lib/setup.c:1073
 msgid "This operation is not supported for this device type.\n"
 msgstr "Tato operace není na zařízení tohoto typu podporována.\n"
 
-#: lib/setup.c:643 lib/setup.c:1035 lib/setup.c:1808
+#: lib/setup.c:648 lib/setup.c:1040 lib/setup.c:1810
 #, c-format
 msgid "Device %s is not active.\n"
 msgstr "Zařízení %s není aktivní.\n"
 
-#: lib/setup.c:661
+#: lib/setup.c:666
 #, c-format
 msgid "Underlying device for crypt device %s disappeared.\n"
 msgstr "Zařízení nižší úrovně pod šifrovaným zařízením %s zmizelo.\n"
 
-#: lib/setup.c:775
+#: lib/setup.c:780
 msgid "Invalid plain crypt parameters.\n"
 msgstr "Neplatné parametry plain šifry.\n"
 
-#: lib/setup.c:780 lib/setup.c:885
+#: lib/setup.c:785 lib/setup.c:890
 msgid "Invalid key size.\n"
 msgstr "Neplatná velikost klíče.\n"
 
-#: lib/setup.c:821
+#: lib/setup.c:826
 msgid "Can't format LUKS without device.\n"
 msgstr "LUKS nelze bez zařízení naformátovat.\n"
 
-#: lib/setup.c:859
+#: lib/setup.c:864
 #, c-format
 msgid "Cannot format device %s which is still in use.\n"
 msgstr "Zařízení %s, které se stále používá, nelze formátovat.\n"
 
-#: lib/setup.c:862
+#: lib/setup.c:867
 #, c-format
 msgid "Cannot wipe header on device %s.\n"
 msgstr "Ze zařízení %s nelze odstranit hlavičku.\n"
 
-#: lib/setup.c:880
+#: lib/setup.c:885
 msgid "Can't format LOOPAES without device.\n"
 msgstr "LOOPAES nelze bez zařízení naformátovat.\n"
 
-#: lib/setup.c:940
+#: lib/setup.c:945
 #, c-format
 msgid "Unknown crypt device type %s requested.\n"
 msgstr "Požadován neznámý typ šifrovaného zařízení %s.\n"
 
-#: lib/setup.c:1083
+#: lib/setup.c:1088
 msgid "Do you really want to change UUID of device?"
 msgstr "Opravdu chcete změnit UUID zařízení?"
 
-#: lib/setup.c:1168 lib/setup.c:1215 lib/setup.c:1264 lib/setup.c:1330
-#: lib/setup.c:1406 lib/setup.c:1487 lib/setup.c:1533 lib/setup.c:1868
-#: lib/setup.c:1973 lib/setup.c:2112
+#: lib/setup.c:1173 lib/setup.c:1220 lib/setup.c:1269 lib/setup.c:1335
+#: lib/setup.c:1411 lib/setup.c:1492 lib/setup.c:1538 lib/setup.c:1875
+#: lib/setup.c:1980 lib/setup.c:2119
 msgid "This operation is supported only for LUKS device.\n"
 msgstr "Tato operace je podporována jen u zařízení LUKS.\n"
 
-#: lib/setup.c:1175
+#: lib/setup.c:1180
 #, c-format
 msgid "Volume %s is not active.\n"
 msgstr "Svazek %s není aktivní.\n"
 
-#: lib/setup.c:1187
+#: lib/setup.c:1192
 #, c-format
 msgid "Volume %s is already suspended.\n"
 msgstr "Svazek %s je již uspán.\n"
 
-#: lib/setup.c:1225 lib/setup.c:1274
+#: lib/setup.c:1230 lib/setup.c:1279
 #, c-format
 msgid "Volume %s is not suspended.\n"
 msgstr "Svazek %s není uspán.\n"
 
-#: lib/setup.c:1281 lib/setup.c:1658 lib/setup.c:1672 src/cryptsetup.c:343
+#: lib/setup.c:1286 lib/setup.c:1663 lib/setup.c:1677 src/cryptsetup.c:343
 msgid "Enter passphrase: "
 msgstr "Zadejte heslo: "
 
-#: lib/setup.c:1344 lib/setup.c:1420
+#: lib/setup.c:1349 lib/setup.c:1425
 msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
 msgstr ""
 "Nelze přidat pozici klíče, všechny pozice jsou zakázány a klíč svazku\n"
 "nebyl poskytnut.\n"
 
-#: lib/setup.c:1353 lib/setup.c:1426 lib/setup.c:1430
+#: lib/setup.c:1358 lib/setup.c:1431 lib/setup.c:1435
 msgid "Enter any passphrase: "
 msgstr "Zadejte jakékoliv heslo: "
 
-#: lib/setup.c:1370 lib/setup.c:1443 lib/setup.c:1447 lib/setup.c:1510
+#: lib/setup.c:1375 lib/setup.c:1448 lib/setup.c:1452 lib/setup.c:1515
 msgid "Enter new passphrase for key slot: "
 msgstr "Zadejte nové heslo pro pozici klíče: "
 
-#: lib/setup.c:1501 lib/setup.c:1762 lib/setup.c:1775 lib/setup.c:1879
+#: lib/setup.c:1506 lib/setup.c:1767 lib/setup.c:1780 lib/setup.c:1886
 msgid "Volume key does not match the volume.\n"
 msgstr "Heslo svazku neodpovídá svazku.\n"
 
-#: lib/setup.c:1539
+#: lib/setup.c:1544
 #, c-format
 msgid "Key slot %d is invalid.\n"
 msgstr "Pozice klíče %d je neplatná.\n"
 
-#: lib/setup.c:1544
+#: lib/setup.c:1549
 #, c-format
 msgid "Key slot %d is not used.\n"
 msgstr "Pozice klíče %d není použita.\n"
 
-#: lib/setup.c:1574 lib/setup.c:1646 lib/setup.c:1738
+#: lib/setup.c:1579 lib/setup.c:1651 lib/setup.c:1743
 #, c-format
 msgid "Device %s already exists.\n"
 msgstr "Zařízení %s již existuje.\n"
 
-#: lib/setup.c:1749
+#: lib/setup.c:1754
 msgid "Incorrect volume key specified for plain device.\n"
 msgstr "Byl zadán neplatný klíč svazku.\n"
 
-#: lib/setup.c:1780
+#: lib/setup.c:1785
 msgid "Device type is not properly initialised.\n"
 msgstr "Typ zařízení není řádně inicializován.\n"
 
-#: lib/setup.c:1804
-#, c-format
-msgid "Device %s is busy.\n"
-msgstr "Zařízení %s je stále používáno.\n"
-
-#: lib/setup.c:1812
+#: lib/setup.c:1814
 #, c-format
 msgid "Invalid device %s.\n"
 msgstr "Neplatné zařízení %s.\n"
 
-#: lib/setup.c:1835
+#: lib/setup.c:1842
 msgid "Volume key buffer too small.\n"
 msgstr "Vyhrazená paměť pro klíč svazku je příliš malá.\n"
 
-#: lib/setup.c:1843
+#: lib/setup.c:1850
 msgid "Cannot retrieve volume key for plain device.\n"
 msgstr "Nelze získat klíč svazku pro otevřené zařízení.\n"
 
-#: lib/setup.c:1849
+#: lib/setup.c:1856
 #, c-format
 msgid "This operation is not supported for %s crypt device.\n"
 msgstr "Na šifrovaném zařízení %s není tato operace podporována.\n"
@@ -298,92 +293,95 @@ msgstr "Požadovaná poloha je za hranicí skutečné velikosti zařízení %s.\
 msgid "Device %s has zero size.\n"
 msgstr "Zařízení %s má nulovou velikost.\n"
 
-#: lib/utils.c:415 lib/luks1/keymanage.c:524
+#: lib/utils.c:415 lib/luks1/keymanage.c:532
 #, c-format
 msgid "Device %s is too small.\n"
 msgstr "Zařízení %s je příliš malé.\n"
 
-#: lib/utils.c:423
-#, c-format
-msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
-msgstr "Zařízení %s nelze použít (šifrované segmenty se překrývají nebo jsou používány jiným zařízením).\n"
-
-#: lib/utils.c:450
+#: lib/utils.c:439
 msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
 msgstr "POZOR!!! Zřejmě nezabezpečená paměť. Jste root?\n"
 
-#: lib/utils.c:456
+#: lib/utils.c:445
 msgid "Cannot get process priority.\n"
 msgstr "Nelze zjistit prioritu procesu.\n"
 
-#: lib/utils.c:459 lib/utils.c:472
+#: lib/utils.c:448 lib/utils.c:461
 #, c-format
 msgid "setpriority %d failed: %s\n"
 msgstr "nastavení priority %d selhalo: %s\n"
 
-#: lib/utils.c:470
+#: lib/utils.c:459
 msgid "Cannot unlock memory.\n"
 msgstr "Paměť nelze odemknout.\n"
 
-#: lib/utils_crypt.c:212 lib/utils_crypt.c:225 lib/utils_crypt.c:329
-#: lib/utils_crypt.c:345
+#: lib/utils_crypt.c:221 lib/utils_crypt.c:234 lib/utils_crypt.c:338
+#: lib/utils_crypt.c:354
 msgid "Out of memory while reading passphrase.\n"
 msgstr "Při čtení hesla došla paměť.\n"
 
-#: lib/utils_crypt.c:217 lib/utils_crypt.c:232
+#: lib/utils_crypt.c:226 lib/utils_crypt.c:241
 msgid "Error reading passphrase from terminal.\n"
 msgstr "Chyba při čtení hesla z terminálu.\n"
 
-#: lib/utils_crypt.c:230
+#: lib/utils_crypt.c:239
 msgid "Verify passphrase: "
 msgstr "Ověřte heslo: "
 
-#: lib/utils_crypt.c:237
+#: lib/utils_crypt.c:246
 msgid "Passphrases do not match.\n"
 msgstr "Hesla se neshodují.\n"
 
-#: lib/utils_crypt.c:278
+#: lib/utils_crypt.c:287
 msgid "Cannot use offset with terminal input.\n"
 msgstr "Ve vstupu z terminálu nelze měnit polohu.\n"
 
-#: lib/utils_crypt.c:297
+#: lib/utils_crypt.c:306
 msgid "Failed to open key file.\n"
 msgstr "Soubor s klíčem se nepodařilo otevřít.\n"
 
-#: lib/utils_crypt.c:306
+#: lib/utils_crypt.c:315
 msgid "Failed to stat key file.\n"
 msgstr "O souboru s klíčem nebylo možné zjistit údaje.\n"
 
-#: lib/utils_crypt.c:314 lib/utils_crypt.c:336
+#: lib/utils_crypt.c:323 lib/utils_crypt.c:345
 msgid "Cannot seek to requested keyfile offset.\n"
 msgstr "Nelze se přesunout na požadované místo v souboru s klíčem.\n"
 
-#: lib/utils_crypt.c:353
+#: lib/utils_crypt.c:362
 msgid "Error reading passphrase.\n"
 msgstr "Chyba při čtení hesla.\n"
 
-#: lib/utils_crypt.c:371
-msgid "Maximum keyfile size exceeeded.\n"
+#: lib/utils_crypt.c:380
+msgid "Maximum keyfile size exceeded.\n"
 msgstr "Maximální délka souboru s klíčem překročena.\n"
 
-#: lib/utils_crypt.c:376
+#: lib/utils_crypt.c:385
 msgid "Cannot read requested amount of data.\n"
 msgstr "Požadované množství dat nelze načíst.\n"
 
-#: lib/luks1/keyencryption.c:76
+#: lib/utils_fips.c:45
+msgid "FIPS checksum verification failed.\n"
+msgstr "Ověření kontrolního součtu FIPS selhalo.\n"
+
+#: lib/utils_fips.c:49
+msgid "Running in FIPS mode.\n"
+msgstr "Režim FIPS zapnut.\n"
+
+#: lib/luks1/keyencryption.c:79
 #, c-format
 msgid "Unable to obtain sector size for %s"
 msgstr "Není možné zjistit velikost sektoru u %s"
 
-#: lib/luks1/keyencryption.c:103
+#: lib/luks1/keyencryption.c:106
 msgid "Key size in XTS mode must be 256 or 512 bits.\n"
 msgstr "V režimu XTS musí být velikost klíče 256 nebo 512 bitů.\n"
 
-#: lib/luks1/keyencryption.c:126
+#: lib/luks1/keyencryption.c:129
 msgid "Failed to obtain device mapper directory."
 msgstr "Adresář device-mapperu se nepodařilo získat."
 
-#: lib/luks1/keyencryption.c:142
+#: lib/luks1/keyencryption.c:145
 #, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
@@ -394,11 +392,11 @@ msgstr ""
 "Zkontrolujte, že jádro podporuje šifru %s (podrobnosti v syslogu).\n"
 "%s"
 
-#: lib/luks1/keyencryption.c:152
+#: lib/luks1/keyencryption.c:155
 msgid "Failed to open temporary keystore device.\n"
 msgstr "Otevření dočasného zařízení s úložištěm klíče selhalo.\n"
 
-#: lib/luks1/keyencryption.c:159
+#: lib/luks1/keyencryption.c:162
 msgid "Failed to access temporary keystore device.\n"
 msgstr "Přístup do dočasného zařízení s úložištěm klíče selhal.\n"
 
@@ -407,7 +405,7 @@ msgstr "Přístup do dočasného zařízení s úložištěm klíče selhal.\n"
 msgid "Requested file %s already exist.\n"
 msgstr "Požadovaný soubor %s již existuje.\n"
 
-#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:391
+#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:399
 #, c-format
 msgid "Device %s is not a valid LUKS device.\n"
 msgstr "Zařízení %s není platným zařízením LUKS.\n"
@@ -461,8 +459,8 @@ msgstr ""
 "\n"
 "POZOR: hlavička ve skutečném zařízení má jiné UUID než záloha!"
 
-#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:496
-#: lib/luks1/keymanage.c:530
+#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:504
+#: lib/luks1/keymanage.c:538
 #, c-format
 msgid "Cannot open device %s.\n"
 msgstr "Zařízení %s nelze otevřít.\n"
@@ -472,122 +470,126 @@ msgid "Non standard key size, manual repair required.\n"
 msgstr "Nestandardní velikost klíče, je třeba ruční opravy.\n"
 
 #: lib/luks1/keymanage.c:315
+msgid "Non standard keyslots alignment, manual repair required.\n"
+msgstr "Nestandardní zarovnání pozice klíče, je třeba ruční opravy.\n"
+
+#: lib/luks1/keymanage.c:321
 msgid "Repairing keyslots.\n"
 msgstr "Opravují se pozice klíčů.\n"
 
-#: lib/luks1/keymanage.c:326
+#: lib/luks1/keymanage.c:332
 msgid "Repair failed."
 msgstr "Oprava selhala."
 
-#: lib/luks1/keymanage.c:333
+#: lib/luks1/keymanage.c:344
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u).\n"
 msgstr "Pozice klíče %i: poloha opravena (%u → %u).\n"
 
-#: lib/luks1/keymanage.c:341
+#: lib/luks1/keymanage.c:352
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
 msgstr "Pozice klíče %i: proklad opraven (%u → %u).\n"
 
-#: lib/luks1/keymanage.c:352
+#: lib/luks1/keymanage.c:361
 #, c-format
 msgid "Keyslot %i: bogus partition signature.\n"
 msgstr "Pozice klíče %i: chybná značka oddílu.\n"
 
-#: lib/luks1/keymanage.c:357
+#: lib/luks1/keymanage.c:366
 #, c-format
 msgid "Keyslot %i: salt wiped.\n"
 msgstr "Pozice klíče %i: sůl vymazána.\n"
 
-#: lib/luks1/keymanage.c:369
+#: lib/luks1/keymanage.c:377
 msgid "Writing LUKS header to disk.\n"
 msgstr "Hlavička LUKS se zapisuje na disk.\n"
 
-#: lib/luks1/keymanage.c:394
+#: lib/luks1/keymanage.c:402
 #, c-format
 msgid "Unsupported LUKS version %d.\n"
 msgstr "Nepodporovaná verze LUKS %d.\n"
 
-#: lib/luks1/keymanage.c:400 lib/luks1/keymanage.c:602
+#: lib/luks1/keymanage.c:408 lib/luks1/keymanage.c:610
 #, c-format
 msgid "Requested LUKS hash %s is not supported.\n"
 msgstr "Požadovaný haš LUKSu %s není podporován.\n"
 
-#: lib/luks1/keymanage.c:415
+#: lib/luks1/keymanage.c:423
 #, c-format
 msgid "LUKS keyslot %u is invalid.\n"
 msgstr "Pozice %u klíče LUKS není platná.\n"
 
-#: lib/luks1/keymanage.c:429 src/cryptsetup.c:535
+#: lib/luks1/keymanage.c:437 src/cryptsetup.c:535
 msgid "No known problems detected for LUKS header.\n"
 msgstr "V hlavičce LUKS nenalezen žádný známý problém.\n"
 
-#: lib/luks1/keymanage.c:463
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Cannot open file %s.\n"
 msgstr "Soubor %s nelze otevřít.\n"
 
-#: lib/luks1/keymanage.c:551
+#: lib/luks1/keymanage.c:559
 #, c-format
 msgid "Error during update of LUKS header on device %s.\n"
 msgstr "Chyba při aktualizaci hlavičky LUKS na zařízení %s.\n"
 
-#: lib/luks1/keymanage.c:558
+#: lib/luks1/keymanage.c:566
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s.\n"
 msgstr "Chyba při opakovaném čtení hlavičky LUKS po aktualizaci zařízení %s.\n"
 
-#: lib/luks1/keymanage.c:570
+#: lib/luks1/keymanage.c:578
 #, c-format
 msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
 msgstr "Neslučitelné volby PBKDF2 (při použití hašovacího algoritmu %s).\n"
 
-#: lib/luks1/keymanage.c:607 lib/luks1/keymanage.c:689
+#: lib/luks1/keymanage.c:615 lib/luks1/keymanage.c:697
 msgid "Wrong LUKS UUID format provided.\n"
 msgstr "Poskytnut UUID LUKSu ve špatném tvaru.\n"
 
-#: lib/luks1/keymanage.c:632
+#: lib/luks1/keymanage.c:640
 msgid "Cannot create LUKS header: reading random salt failed.\n"
 msgstr "Hlavičku LUKS nelze vytvořit: čtení náhodné soli selhalo.\n"
 
-#: lib/luks1/keymanage.c:649
+#: lib/luks1/keymanage.c:657
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
 msgstr "Hlavičku LUKS nelze vytvořit: výpočet otisku hlavičky (haš %s) selhal.\n"
 
-#: lib/luks1/keymanage.c:714
+#: lib/luks1/keymanage.c:722
 #, c-format
 msgid "Key slot %d active, purge first.\n"
 msgstr "Pozice klíče %d je aktivní, nejprve ji uvolněte.\n"
 
-#: lib/luks1/keymanage.c:719
+#: lib/luks1/keymanage.c:727
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
 msgstr "Pozice klíče %d obsahuje příliš málo útržků. Manipulace s hlavičkou?\n"
 
-#: lib/luks1/keymanage.c:786
+#: lib/luks1/keymanage.c:794
 msgid "Failed to write to key storage.\n"
 msgstr "Zápis do úložiště klíče selhal.\n"
 
-#: lib/luks1/keymanage.c:871
+#: lib/luks1/keymanage.c:879
 msgid "Failed to read from key storage.\n"
 msgstr "Čtení z úložiště klíče selhalo.\n"
 
-#: lib/luks1/keymanage.c:881
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d unlocked.\n"
 msgstr "Pozice klíče %d odemknuta.\n"
 
-#: lib/luks1/keymanage.c:917 src/cryptsetup.c:732 src/cryptsetup.c:916
+#: lib/luks1/keymanage.c:925 src/cryptsetup.c:732 src/cryptsetup.c:916
 msgid "No key available with this passphrase.\n"
 msgstr "S tímto heslem není dostupný žádný klíč.\n"
 
-#: lib/luks1/keymanage.c:935
+#: lib/luks1/keymanage.c:943
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
 msgstr "Pozice klíče %d není platná, prosím, vyberte pozici mezi 0 a %d.\n"
 
-#: lib/luks1/keymanage.c:949
+#: lib/luks1/keymanage.c:957
 #, c-format
 msgid "Cannot wipe device %s.\n"
 msgstr "Zařízení %s není možné smazat.\n"
@@ -1044,32 +1046,32 @@ msgstr "Povolí u daného zařízení požadavky na zahození (TRIM)."
 msgid "Device or file with separated LUKS header."
 msgstr "Zařízení nebo soubor s oddělenou hlavičkou LUKS."
 
-#: src/cryptsetup.c:1322
+#: src/cryptsetup.c:1324
 msgid "[OPTION...] <action> <action-specific>]"
 msgstr "[PŘEPÍNAČ…] <akce> <přepínače_akce>]"
 
-#: src/cryptsetup.c:1362
+#: src/cryptsetup.c:1364
 msgid "Argument <action> missing."
 msgstr "Chybí argument <akce>."
 
-#: src/cryptsetup.c:1368
+#: src/cryptsetup.c:1370
 msgid "Unknown action."
 msgstr "Neznámá akce."
 
-#: src/cryptsetup.c:1383
+#: src/cryptsetup.c:1385
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: vyžaduje %s jako argumenty"
 
-#: src/cryptsetup.c:1392
+#: src/cryptsetup.c:1394
 msgid "Option --shared is allowed only for create operation.\n"
 msgstr "Přepínač --shared je dovolen jen při úkonu create.\n"
 
-#: src/cryptsetup.c:1401
+#: src/cryptsetup.c:1403
 msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
 msgstr "Přepínač --allow-discards je dovolen jen při úkonech luksOpen, loopaesOpen a create.\n"
 
-#: src/cryptsetup.c:1410
+#: src/cryptsetup.c:1412
 msgid ""
 "Option --key-size is allowed only for luksFormat, create and loopaesOpen.\n"
 "To limit read from keyfile use --keyfile-size=(bytes)."
@@ -1077,46 +1079,52 @@ msgstr ""
 "Přepínač --key-size je dovolen jen u luksFormat, create a  loopaesOpen.\n"
 "Čtení ze souboru s klíčem lze omezit pomocí --keyfile-size=(bajty)."
 
-#: src/cryptsetup.c:1417
+#: src/cryptsetup.c:1419
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Velikost klíče musí být násobkem 8 bitů."
 
-#: src/cryptsetup.c:1424
+#: src/cryptsetup.c:1426
 msgid "Key slot is invalid."
 msgstr "Pozice klíče není platná."
 
-#: src/cryptsetup.c:1431
+#: src/cryptsetup.c:1433
 msgid "Option --key-file takes precedence over specified key file argument.\n"
 msgstr "Přepínač --key-file má přednost před zadaným argumentem souboru s klíčem.\n"
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1441
 msgid "Negative number for option not permitted."
 msgstr "U přepínače není záporné číslo dovoleno."
 
-#: src/cryptsetup.c:1444
+#: src/cryptsetup.c:1446
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Je dovolen pouze jeden z přepínačů --use-[u]random."
 
-#: src/cryptsetup.c:1448
+#: src/cryptsetup.c:1450
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "Přepínač --use-[u]random je dovolen pouze u luksFormat."
 
-#: src/cryptsetup.c:1452
+#: src/cryptsetup.c:1454
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgstr "Přepínač --uuid je dovolen pouze u luksFormat a luksUUID."
 
-#: src/cryptsetup.c:1456
+#: src/cryptsetup.c:1458
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Přepínač --align-payload je dovolen pouze u luksFormat."
 
-#: src/cryptsetup.c:1461
+#: src/cryptsetup.c:1463
 msgid "Option --skip is supported only for create and loopaesOpen commands.\n"
 msgstr "Přepínač --skip je podporován jen u příkazů create a loopaesOpen.\n"
 
-#: src/cryptsetup.c:1466
+#: src/cryptsetup.c:1468
 msgid "Option --offset is supported only for create and loopaesOpen commands.\n"
 msgstr "Přepínač --offset je podporován jen u příkazů create a loopaesOpen.\n"
 
+#~ msgid "Device %s is busy.\n"
+#~ msgstr "Zařízení %s je stále používáno.\n"
+
+#~ msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
+#~ msgstr "Zařízení %s nelze použít (šifrované segmenty se překrývají nebo jsou používány jiným zařízením).\n"
+
 #~ msgid "Cannot read %d byte from key file %s.\n"
 #~ msgid_plural "Cannot read %d bytes from key file %s.\n"
 #~ msgstr[0] "Ze souboru s klíčem %2$s nelze přečíst %1$d bajt.\n"
index 680df17..d402ea6 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup 1.4.2\n"
+"Project-Id-Version: cryptsetup 1.4.3\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2012-04-03 00:12+0200\n"
-"PO-Revision-Date: 2012-04-09 21:12+0100\n"
+"POT-Creation-Date: 2012-05-22 23:31+0200\n"
+"PO-Revision-Date: 2012-05-26 15:04+0100\n"
 "Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -22,12 +22,12 @@ msgstr ""
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
 msgstr "Kann die Gerätezuordnung nicht initialisieren. Ist das Kernelmodul dm_mod geladen?\n"
 
-#: lib/libdevmapper.c:412
+#: lib/libdevmapper.c:423
 #, c-format
 msgid "DM-UUID for device %s was truncated.\n"
 msgstr "DM-UUID für Gerät %s wurde abgeschnitten.\n"
 
-#: lib/random.c:74
+#: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 "Please move mouse or type some text in another window to gather some random events.\n"
@@ -35,20 +35,20 @@ msgstr ""
 "Das System hat keine Entropie mehr, um den Laufwerksschlüssel zu generieren.\n"
 "Bitte bewegen Sie die Maus oder tippen Sie etwas Text in ein anderes Fenster, um einige zufällige Ereignisse zu sammeln.\n"
 
-#: lib/random.c:78
+#: lib/random.c:79
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Generiere Schlüssel (%d%% erledigt).\n"
 
-#: lib/random.c:167
+#: lib/random.c:168
 msgid "Fatal error during RNG initialisation.\n"
 msgstr "Fataler Fehler während der Initialisierung des Zufallszahlengenerators.\n"
 
-#: lib/random.c:194
+#: lib/random.c:205
 msgid "Unknown RNG quality requested.\n"
 msgstr "Unbekannte Verschlüsselungsqualität verlangt.\n"
 
-#: lib/random.c:199
+#: lib/random.c:210
 #, c-format
 msgid "Error %d reading from RNG: %s\n"
 msgstr "Fehler %d beim Einlesen vom Zufallszahlengenerator: %s\n"
@@ -85,156 +85,151 @@ msgstr "Schlüsselfach %d ist ungültig, bitte wählen Sie eins zwischen 0 und %
 msgid "Key slot %d is full, please select another one.\n"
 msgstr "Schlüsselfach %d ist voll, bitte wählen Sie ein anderes.\n"
 
-#: lib/setup.c:340
+#: lib/setup.c:345
 #, c-format
 msgid "Enter passphrase for %s: "
 msgstr "Geben Sie den Passsatz für %s ein: "
 
-#: lib/setup.c:500
+#: lib/setup.c:505
 msgid "Cannot find a free loopback device.\n"
 msgstr "Kann kein freies Loopback-Gerät finden.\n"
 
-#: lib/setup.c:508
+#: lib/setup.c:513
 msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
 msgstr "Anklemmen des Loopback-Geräts fehlgeschlagen (das Loopback-Gerät benötigt den autoclear-Schalter).\n"
 
-#: lib/setup.c:564
+#: lib/setup.c:569
 #, c-format
 msgid "LUKS header detected but device %s is too small.\n"
 msgstr "LUKS-Kopfbereich gefunden, aber Gerät %s ist zu klein.\n"
 
-#: lib/setup.c:580 lib/setup.c:1068
+#: lib/setup.c:585 lib/setup.c:1073
 msgid "This operation is not supported for this device type.\n"
 msgstr "Diese Operation wird für diese Geräteart nicht unterstützt.\n"
 
-#: lib/setup.c:643 lib/setup.c:1035 lib/setup.c:1808
+#: lib/setup.c:648 lib/setup.c:1040 lib/setup.c:1810
 #, c-format
 msgid "Device %s is not active.\n"
 msgstr "Gerät %s ist nicht aktiv.\n"
 
-#: lib/setup.c:661
+#: lib/setup.c:666
 #, c-format
 msgid "Underlying device for crypt device %s disappeared.\n"
 msgstr "Zugrundeliegendes Gerät für das Kryptogerät %s ist verschwunden.\n"
 
-#: lib/setup.c:775
+#: lib/setup.c:780
 msgid "Invalid plain crypt parameters.\n"
 msgstr "Ungültige Parameter für Plain-Verschlüsselung.\n"
 
-#: lib/setup.c:780 lib/setup.c:885
+#: lib/setup.c:785 lib/setup.c:890
 msgid "Invalid key size.\n"
 msgstr "Ungültige Schlüsselgröße.\n"
 
-#: lib/setup.c:821
+#: lib/setup.c:826
 msgid "Can't format LUKS without device.\n"
 msgstr "Ohne Gerät kann LUKS nicht formatiert werden.\n"
 
-#: lib/setup.c:859
+#: lib/setup.c:864
 #, c-format
 msgid "Cannot format device %s which is still in use.\n"
 msgstr "Kann Gerät %s nicht formatieren, da es noch in Betrieb ist.\n"
 
-#: lib/setup.c:862
+#: lib/setup.c:867
 #, c-format
 msgid "Cannot wipe header on device %s.\n"
 msgstr "Kann den Kopfbereich auf Gerät %s nicht auslöschen.\n"
 
-#: lib/setup.c:880
+#: lib/setup.c:885
 msgid "Can't format LOOPAES without device.\n"
 msgstr "Ohne Gerät kann LOOPAES nicht formatiert werden.\n"
 
-#: lib/setup.c:940
+#: lib/setup.c:945
 #, c-format
 msgid "Unknown crypt device type %s requested.\n"
 msgstr "Unbekannte Art des Verschlüsselungsgeräts %s verlangt.\n"
 
-#: lib/setup.c:1083
+#: lib/setup.c:1088
 msgid "Do you really want to change UUID of device?"
 msgstr "Wollen Sie wirklich die UUID des Geräts ändern?"
 
-#: lib/setup.c:1168 lib/setup.c:1215 lib/setup.c:1264 lib/setup.c:1330
-#: lib/setup.c:1406 lib/setup.c:1487 lib/setup.c:1533 lib/setup.c:1868
-#: lib/setup.c:1973 lib/setup.c:2112
+#: lib/setup.c:1173 lib/setup.c:1220 lib/setup.c:1269 lib/setup.c:1335
+#: lib/setup.c:1411 lib/setup.c:1492 lib/setup.c:1538 lib/setup.c:1875
+#: lib/setup.c:1980 lib/setup.c:2119
 msgid "This operation is supported only for LUKS device.\n"
 msgstr "Diese Operation wird nur für LUKS-Geräte unterstützt.\n"
 
-#: lib/setup.c:1175
+#: lib/setup.c:1180
 #, c-format
 msgid "Volume %s is not active.\n"
 msgstr "Laufwerk %s ist nicht aktiv.\n"
 
-#: lib/setup.c:1187
+#: lib/setup.c:1192
 #, c-format
 msgid "Volume %s is already suspended.\n"
 msgstr "Laufwerk %s ist bereits abgeschaltet.\n"
 
-#: lib/setup.c:1225 lib/setup.c:1274
+#: lib/setup.c:1230 lib/setup.c:1279
 #, c-format
 msgid "Volume %s is not suspended.\n"
 msgstr "Laufwerk %s ist nicht abgeschaltet.\n"
 
-#: lib/setup.c:1281 lib/setup.c:1658 lib/setup.c:1672 src/cryptsetup.c:343
+#: lib/setup.c:1286 lib/setup.c:1663 lib/setup.c:1677 src/cryptsetup.c:343
 msgid "Enter passphrase: "
 msgstr "Passsatz eingeben: "
 
-#: lib/setup.c:1344 lib/setup.c:1420
+#: lib/setup.c:1349 lib/setup.c:1425
 msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
 msgstr "Kann kein Schlüsselfach hinzufügen, alle Fächer sind deaktiviert und kein Laufwerksschlüssel angegeben.\n"
 
-#: lib/setup.c:1353 lib/setup.c:1426 lib/setup.c:1430
+#: lib/setup.c:1358 lib/setup.c:1431 lib/setup.c:1435
 msgid "Enter any passphrase: "
 msgstr "Geben Sie irgendeinen Passsatz ein: "
 
-#: lib/setup.c:1370 lib/setup.c:1443 lib/setup.c:1447 lib/setup.c:1510
+#: lib/setup.c:1375 lib/setup.c:1448 lib/setup.c:1452 lib/setup.c:1515
 msgid "Enter new passphrase for key slot: "
 msgstr "Geben Sie den neuen Passsatz für das Schlüsselfach ein: "
 
-#: lib/setup.c:1501 lib/setup.c:1762 lib/setup.c:1775 lib/setup.c:1879
+#: lib/setup.c:1506 lib/setup.c:1767 lib/setup.c:1780 lib/setup.c:1886
 msgid "Volume key does not match the volume.\n"
 msgstr "Der Laufwerksschlüssel passt nicht zum Laufwerk.\n"
 
-#: lib/setup.c:1539
+#: lib/setup.c:1544
 #, c-format
 msgid "Key slot %d is invalid.\n"
 msgstr "Schlüsselfach %d ist ungültig.\n"
 
-#: lib/setup.c:1544
+#: lib/setup.c:1549
 #, c-format
 msgid "Key slot %d is not used.\n"
 msgstr "Schlüsselfach %d ist unbenutzt.\n"
 
-#: lib/setup.c:1574 lib/setup.c:1646 lib/setup.c:1738
+#: lib/setup.c:1579 lib/setup.c:1651 lib/setup.c:1743
 #, c-format
 msgid "Device %s already exists.\n"
 msgstr "Das Gerät %s existiert bereits.\n"
 
-#: lib/setup.c:1749
+#: lib/setup.c:1754
 msgid "Incorrect volume key specified for plain device.\n"
 msgstr "Falscher Laufwerksschlüssel für Plain-Gerät angegeben.\n"
 
-#: lib/setup.c:1780
+#: lib/setup.c:1785
 msgid "Device type is not properly initialised.\n"
 msgstr "Gerätetyp ist nicht richtig initialisiert.\n"
 
-#: lib/setup.c:1804
-#, c-format
-msgid "Device %s is busy.\n"
-msgstr "Gerät %s ist beschäftigt.\n"
-
-#: lib/setup.c:1812
+#: lib/setup.c:1814
 #, c-format
 msgid "Invalid device %s.\n"
 msgstr "Ungültiges Gerät %s.\n"
 
-#: lib/setup.c:1835
+#: lib/setup.c:1842
 msgid "Volume key buffer too small.\n"
 msgstr "Laufwerks-Schlüsselpuffer zu klein.\n"
 
-#: lib/setup.c:1843
+#: lib/setup.c:1850
 msgid "Cannot retrieve volume key for plain device.\n"
 msgstr "Kann Laufwerksschlüssel für Plain-Gerät nicht ermitteln.\n"
 
-#: lib/setup.c:1849
+#: lib/setup.c:1856
 #, c-format
 msgid "This operation is not supported for %s crypt device.\n"
 msgstr "Diese Operation wird für Kryptogerät %s nicht unterstützt.\n"
@@ -286,92 +281,95 @@ msgstr "Der angeforderte Offset ist jenseits der wirklichen Größe des Geräts
 msgid "Device %s has zero size.\n"
 msgstr "Gerät %s hat die Größe 0.\n"
 
-#: lib/utils.c:415 lib/luks1/keymanage.c:524
+#: lib/utils.c:415 lib/luks1/keymanage.c:532
 #, c-format
 msgid "Device %s is too small.\n"
 msgstr "Gerät %s ist zu klein.\n"
 
-#: lib/utils.c:423
-#, c-format
-msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
-msgstr "Kann Gerät »%s« nicht benutzen (Kryptosegmente überlappen sich oder werden von einem anderen Gerät benutzt).\n"
-
-#: lib/utils.c:450
+#: lib/utils.c:439
 msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
 msgstr "WARNUNG!!! Möglicherweise unsicherer Speicher. Sind Sie Root?\n"
 
-#: lib/utils.c:456
+#: lib/utils.c:445
 msgid "Cannot get process priority.\n"
 msgstr "Kann Prozesspriorität nicht ermitteln.\n"
 
-#: lib/utils.c:459 lib/utils.c:472
+#: lib/utils.c:448 lib/utils.c:461
 #, c-format
 msgid "setpriority %d failed: %s\n"
 msgstr "setpriority %d fehlgeschlagen: %s\n"
 
-#: lib/utils.c:470
+#: lib/utils.c:459
 msgid "Cannot unlock memory.\n"
 msgstr "Kann Speicher nicht entsperren.\n"
 
-#: lib/utils_crypt.c:212 lib/utils_crypt.c:225 lib/utils_crypt.c:329
-#: lib/utils_crypt.c:345
+#: lib/utils_crypt.c:221 lib/utils_crypt.c:234 lib/utils_crypt.c:338
+#: lib/utils_crypt.c:354
 msgid "Out of memory while reading passphrase.\n"
 msgstr "Zu wenig Speicher zum Einlesen des Passsatzes.\n"
 
-#: lib/utils_crypt.c:217 lib/utils_crypt.c:232
+#: lib/utils_crypt.c:226 lib/utils_crypt.c:241
 msgid "Error reading passphrase from terminal.\n"
 msgstr "Fehler beim Lesen des Passsatzes vom Terminal.\n"
 
-#: lib/utils_crypt.c:230
+#: lib/utils_crypt.c:239
 msgid "Verify passphrase: "
 msgstr "Passsatz wiederholen: "
 
-#: lib/utils_crypt.c:237
+#: lib/utils_crypt.c:246
 msgid "Passphrases do not match.\n"
 msgstr "Passsätze stimmen nicht überein.\n"
 
-#: lib/utils_crypt.c:278
+#: lib/utils_crypt.c:287
 msgid "Cannot use offset with terminal input.\n"
 msgstr "Kann Offset nicht mit Terminaleingabe nutzen.\n"
 
-#: lib/utils_crypt.c:297
+#: lib/utils_crypt.c:306
 msgid "Failed to open key file.\n"
 msgstr "Konnte Schlüsseldatei nicht öffnen.\n"
 
-#: lib/utils_crypt.c:306
+#: lib/utils_crypt.c:315
 msgid "Failed to stat key file.\n"
 msgstr "Konnte Infos zur Schlüsseldatei nicht bekommen.\n"
 
-#: lib/utils_crypt.c:314 lib/utils_crypt.c:336
+#: lib/utils_crypt.c:323 lib/utils_crypt.c:345
 msgid "Cannot seek to requested keyfile offset.\n"
 msgstr "Kann nicht zur gewünschten Position in der Schlüsseldatei springen.\n"
 
-#: lib/utils_crypt.c:353
+#: lib/utils_crypt.c:362
 msgid "Error reading passphrase.\n"
 msgstr "Fehler beim Einlesen des Passsatzes.\n"
 
-#: lib/utils_crypt.c:371
-msgid "Maximum keyfile size exceeeded.\n"
+#: lib/utils_crypt.c:380
+msgid "Maximum keyfile size exceeded.\n"
 msgstr "Größenbegrenzung für die Schlüsseldatei überschritten.\n"
 
-#: lib/utils_crypt.c:376
+#: lib/utils_crypt.c:385
 msgid "Cannot read requested amount of data.\n"
 msgstr "Kann die gewünschte Menge an Daten nicht lesen.\n"
 
-#: lib/luks1/keyencryption.c:76
+#: lib/utils_fips.c:45
+msgid "FIPS checksum verification failed.\n"
+msgstr "FIPS-Prüfsummen-Verifizierung fehlgeschlagen.\n"
+
+#: lib/utils_fips.c:49
+msgid "Running in FIPS mode.\n"
+msgstr "Laufe im FIPS-Modus.\n"
+
+#: lib/luks1/keyencryption.c:79
 #, c-format
 msgid "Unable to obtain sector size for %s"
 msgstr "Kann Sektorengröße für %s nicht ermitteln."
 
-#: lib/luks1/keyencryption.c:103
+#: lib/luks1/keyencryption.c:106
 msgid "Key size in XTS mode must be 256 or 512 bits.\n"
 msgstr "Schlüsselgröße im XTS-Modus muss entweder 256 oder 512 Bits sein.\n"
 
-#: lib/luks1/keyencryption.c:126
+#: lib/luks1/keyencryption.c:129
 msgid "Failed to obtain device mapper directory."
 msgstr "Kann Gerätezuordnungsverzeichnis nicht ermitteln."
 
-#: lib/luks1/keyencryption.c:142
+#: lib/luks1/keyencryption.c:145
 #, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
@@ -383,11 +381,11 @@ msgstr ""
 "(Sehen Sie im System-Log nach, ob sich dort Hinweise finden.)\n"
 "%s"
 
-#: lib/luks1/keyencryption.c:152
+#: lib/luks1/keyencryption.c:155
 msgid "Failed to open temporary keystore device.\n"
 msgstr "Öffnen des temporären Schlüsselspeichergeräts fehlgeschlagen.\n"
 
-#: lib/luks1/keyencryption.c:159
+#: lib/luks1/keyencryption.c:162
 msgid "Failed to access temporary keystore device.\n"
 msgstr "Zugriff auf das temporäre Schlüsselspeichergerät fehlgeschlagen.\n"
 
@@ -396,7 +394,7 @@ msgstr "Zugriff auf das temporäre Schlüsselspeichergerät fehlgeschlagen.\n"
 msgid "Requested file %s already exist.\n"
 msgstr "Angeforderte Datei %s existiert bereits.\n"
 
-#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:391
+#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:399
 #, c-format
 msgid "Device %s is not a valid LUKS device.\n"
 msgstr "Gerät %s ist kein gültiges LUKS-Gerät.\n"
@@ -450,8 +448,8 @@ msgstr ""
 "\n"
 "WARNUNG: Der Kopfbereich des echten Geräts hat eine andere UUID als die Sicherung!"
 
-#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:496
-#: lib/luks1/keymanage.c:530
+#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:504
+#: lib/luks1/keymanage.c:538
 #, c-format
 msgid "Cannot open device %s.\n"
 msgstr "Kann Gerät %s nicht öffnen.\n"
@@ -461,122 +459,126 @@ msgid "Non standard key size, manual repair required.\n"
 msgstr "Ungewöhnliche Schlüsselgröße, manuelles Reparieren erforderlich.\n"
 
 #: lib/luks1/keymanage.c:315
+msgid "Non standard keyslots alignment, manual repair required.\n"
+msgstr "Ungewöhnliche Ausrichtung der Schlüsselfächer, manuelles Reparieren erforderlich.\n"
+
+#: lib/luks1/keymanage.c:321
 msgid "Repairing keyslots.\n"
 msgstr "Repariere Schlüsselfächer.\n"
 
-#: lib/luks1/keymanage.c:326
+#: lib/luks1/keymanage.c:332
 msgid "Repair failed."
 msgstr "Reparieren fehlgeschlagen."
 
-#: lib/luks1/keymanage.c:333
+#: lib/luks1/keymanage.c:344
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u).\n"
 msgstr "Schlüsselfach %i: Dateiposition repariert (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:341
+#: lib/luks1/keymanage.c:352
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
 msgstr "Schlüsselfach %i: Streifen repariert (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:352
+#: lib/luks1/keymanage.c:361
 #, c-format
 msgid "Keyslot %i: bogus partition signature.\n"
 msgstr "Schlüsselfach %i: schwindlerische Partitions-Signatur.\n"
 
-#: lib/luks1/keymanage.c:357
+#: lib/luks1/keymanage.c:366
 #, c-format
 msgid "Keyslot %i: salt wiped.\n"
 msgstr "Schlüsselfach %i: Salt gelöscht.\n"
 
-#: lib/luks1/keymanage.c:369
+#: lib/luks1/keymanage.c:377
 msgid "Writing LUKS header to disk.\n"
 msgstr "Schreibe LUKS-Kopfbereich auf die Platte.\n"
 
-#: lib/luks1/keymanage.c:394
+#: lib/luks1/keymanage.c:402
 #, c-format
 msgid "Unsupported LUKS version %d.\n"
 msgstr "Nicht unterstützte LUKS-Version %d.\n"
 
-#: lib/luks1/keymanage.c:400 lib/luks1/keymanage.c:602
+#: lib/luks1/keymanage.c:408 lib/luks1/keymanage.c:610
 #, c-format
 msgid "Requested LUKS hash %s is not supported.\n"
 msgstr "Verlangter LUKS-Hash %s wird nicht unterstützt.\n"
 
-#: lib/luks1/keymanage.c:415
+#: lib/luks1/keymanage.c:423
 #, c-format
 msgid "LUKS keyslot %u is invalid.\n"
 msgstr "LUKS-Schlüsselfach %u ist ungültig.\n"
 
-#: lib/luks1/keymanage.c:429 src/cryptsetup.c:535
+#: lib/luks1/keymanage.c:437 src/cryptsetup.c:535
 msgid "No known problems detected for LUKS header.\n"
 msgstr "Keine bekannten Probleme im LUKS-Header erkannt.\n"
 
-#: lib/luks1/keymanage.c:463
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Cannot open file %s.\n"
 msgstr "Kann Datei %s nicht öffnen.\n"
 
-#: lib/luks1/keymanage.c:551
+#: lib/luks1/keymanage.c:559
 #, c-format
 msgid "Error during update of LUKS header on device %s.\n"
 msgstr "Fehler beim Aktualisieren des LUKS-Kopfbereichs auf Gerät %s.\n"
 
-#: lib/luks1/keymanage.c:558
+#: lib/luks1/keymanage.c:566
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s.\n"
 msgstr "Fehler beim Neueinlesen des LUKS-Kopfbereichs nach dem Aktualisieren auf Gerät %s.\n"
 
-#: lib/luks1/keymanage.c:570
+#: lib/luks1/keymanage.c:578
 #, c-format
 msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
 msgstr "Inkompatible PBKDF2-Optionen (mit Hash-Algorithmus %s).\n"
 
-#: lib/luks1/keymanage.c:607 lib/luks1/keymanage.c:689
+#: lib/luks1/keymanage.c:615 lib/luks1/keymanage.c:697
 msgid "Wrong LUKS UUID format provided.\n"
 msgstr "Falsches LUKS-UUID-Format angegeben.\n"
 
-#: lib/luks1/keymanage.c:632
+#: lib/luks1/keymanage.c:640
 msgid "Cannot create LUKS header: reading random salt failed.\n"
 msgstr "Kann LUKS-Kopfbereich nicht erzeugen: Lesen der zufälligen Streuung fehlgeschlagen.\n"
 
-#: lib/luks1/keymanage.c:649
+#: lib/luks1/keymanage.c:657
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
 msgstr "Kann LUKS-Kopfbereich nicht erzeugen: Auszug des Kopfbereich fehlgeschlagen (mit Hash %s).\n"
 
-#: lib/luks1/keymanage.c:714
+#: lib/luks1/keymanage.c:722
 #, c-format
 msgid "Key slot %d active, purge first.\n"
 msgstr "Schlüsselfach %d aktiv, löschen Sie es erst.\n"
 
-#: lib/luks1/keymanage.c:719
+#: lib/luks1/keymanage.c:727
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
 msgstr "Material für Schlüsselfach %d enthält zu wenige Streifen. Manipulation des Kopfbereichs?\n"
 
-#: lib/luks1/keymanage.c:786
+#: lib/luks1/keymanage.c:794
 msgid "Failed to write to key storage.\n"
 msgstr "Schreiben des Schlüsselspeichers fehlgeschlagen.\n"
 
-#: lib/luks1/keymanage.c:871
+#: lib/luks1/keymanage.c:879
 msgid "Failed to read from key storage.\n"
 msgstr "Lesen des Schlüsselspeichers fehlgeschlagen.\n"
 
-#: lib/luks1/keymanage.c:881
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d unlocked.\n"
 msgstr "Schlüsselfach %d entsperrt.\n"
 
-#: lib/luks1/keymanage.c:917 src/cryptsetup.c:732 src/cryptsetup.c:916
+#: lib/luks1/keymanage.c:925 src/cryptsetup.c:732 src/cryptsetup.c:916
 msgid "No key available with this passphrase.\n"
 msgstr "Kein Schlüssel mit diesem Passsatz verfügbar.\n"
 
-#: lib/luks1/keymanage.c:935
+#: lib/luks1/keymanage.c:943
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
 msgstr "Schlüsselfach %d ist ungültig, bitte wählen Sie ein Schlüsselfach zwischen 0 und %d.\n"
 
-#: lib/luks1/keymanage.c:949
+#: lib/luks1/keymanage.c:957
 #, c-format
 msgid "Cannot wipe device %s.\n"
 msgstr "Kann Gerät %s nicht auslöschen.\n"
@@ -1026,32 +1028,32 @@ msgstr "TRIM-Befehle für das Gerät zulassen."
 msgid "Device or file with separated LUKS header."
 msgstr "Gerät oder Datei mit separatem LUKS-Kopfbereich."
 
-#: src/cryptsetup.c:1322
+#: src/cryptsetup.c:1324
 msgid "[OPTION...] <action> <action-specific>]"
 msgstr "[OPTION...] <Aktion> <aktionsabhängig>]"
 
-#: src/cryptsetup.c:1362
+#: src/cryptsetup.c:1364
 msgid "Argument <action> missing."
 msgstr "Argument <Aktion> fehlt."
 
-#: src/cryptsetup.c:1368
+#: src/cryptsetup.c:1370
 msgid "Unknown action."
 msgstr "Unbekannte Aktion."
 
-#: src/cryptsetup.c:1383
+#: src/cryptsetup.c:1385
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: Benötigt %s als Argumente"
 
-#: src/cryptsetup.c:1392
+#: src/cryptsetup.c:1394
 msgid "Option --shared is allowed only for create operation.\n"
 msgstr "Die Option --shared wird nur für »create« unterstützt.\n"
 
-#: src/cryptsetup.c:1401
+#: src/cryptsetup.c:1403
 msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
 msgstr "Die Option --allow-discards wird nur für »luksOpen«, »poolaesOpen« und »create« unterstützt.\n"
 
-#: src/cryptsetup.c:1410
+#: src/cryptsetup.c:1412
 msgid ""
 "Option --key-size is allowed only for luksFormat, create and loopaesOpen.\n"
 "To limit read from keyfile use --keyfile-size=(bytes)."
@@ -1059,46 +1061,52 @@ msgstr ""
 "Die Option --key-size ist nur für luksFormat, create and loopaesOpen erlaubt.\n"
 "Benutzen Sie stattdessen --keyfile-size=(Bytes), um das Lesen aus der Schlüsseldatei zu begrenzen."
 
-#: src/cryptsetup.c:1417
+#: src/cryptsetup.c:1419
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Schlüsselgröße muss ein Vielfaches von 8 Bit sein"
 
-#: src/cryptsetup.c:1424
+#: src/cryptsetup.c:1426
 msgid "Key slot is invalid."
 msgstr "Schlüsselfach ist ungültig."
 
-#: src/cryptsetup.c:1431
+#: src/cryptsetup.c:1433
 msgid "Option --key-file takes precedence over specified key file argument.\n"
 msgstr "Die Option --key-file wirkt stärker als das angegebene Schlüsseldatei-Argument.\n"
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1441
 msgid "Negative number for option not permitted."
 msgstr "Negative Zahl für die Option nicht erlaubt."
 
-#: src/cryptsetup.c:1444
+#: src/cryptsetup.c:1446
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Nur eine von --use-[u]random ist erlaubt."
 
-#: src/cryptsetup.c:1448
+#: src/cryptsetup.c:1450
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "Die Option --use-[u]random ist nur für luksFormat erlaubt."
 
-#: src/cryptsetup.c:1452
+#: src/cryptsetup.c:1454
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgstr "Die Option --uuid ist nur für luksFormat und luksUUID erlaubt."
 
-#: src/cryptsetup.c:1456
+#: src/cryptsetup.c:1458
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Die Option --align-payload ist nur für luksFormat erlaubt."
 
-#: src/cryptsetup.c:1461
+#: src/cryptsetup.c:1463
 msgid "Option --skip is supported only for create and loopaesOpen commands.\n"
 msgstr "Die Option --skip wird nur für »create« und »loopaesOpen« unterstützt.\n"
 
-#: src/cryptsetup.c:1466
+#: src/cryptsetup.c:1468
 msgid "Option --offset is supported only for create and loopaesOpen commands.\n"
 msgstr "Die Option --offset wird nur für create und loopaesOpen unterstützt.\n"
 
+#~ msgid "Device %s is busy.\n"
+#~ msgstr "Gerät %s ist beschäftigt.\n"
+
+#~ msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
+#~ msgstr "Kann Gerät »%s« nicht benutzen (Kryptosegmente überlappen sich oder werden von einem anderen Gerät benutzt).\n"
+
 #~ msgid "Cannot not read %d bytes from key file %s.\n"
 #~ msgstr "Kann %d Bytes aus der Schlüsseldatei %s nicht lesen.\n"
 
index 5142de2..7d50f97 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup 1.4.2\n"
+"Project-Id-Version: cryptsetup 1.4.3\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2012-04-03 00:12+0200\n"
-"PO-Revision-Date: 2012-04-08 20:39+0200\n"
+"POT-Creation-Date: 2012-05-22 23:31+0200\n"
+"PO-Revision-Date: 2012-05-26 17:23+0300\n"
 "Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "Language: fi\n"
@@ -22,13 +22,13 @@ msgstr ""
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
 msgstr "Ei voida alustaa laitekuvainta. Onko dm_mod-käyttöjärjestelmäydinmoduuli ladattu?\n"
 
-#: lib/libdevmapper.c:412
+#: lib/libdevmapper.c:423
 #, c-format
 msgid "DM-UUID for device %s was truncated.\n"
 msgstr "DM-UUID laitteelle %s typistettiin.\n"
 
 #  Entropy viittaa tässä ilmeisesti tiivistettävän tekstin satunnaisuuteen. Mitä satunnaisempi se on, sitä vähemmän sitä voi tiivistää.
-#: lib/random.c:74
+#: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 "Please move mouse or type some text in another window to gather some random events.\n"
@@ -36,20 +36,20 @@ msgstr ""
 "Järjestelmässä ei ole satunnaisuutta taltioavainta synnytettäessä.\n"
 "Siirrä hiirtä tai kirjoita jotain tekstiä toiseen ikkunaan joidenkin satunnaistapahtumien keräämiseksi.\n"
 
-#: lib/random.c:78
+#: lib/random.c:79
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Avaimen synnyttäminen (%d%% valmis).\n"
 
-#: lib/random.c:167
+#: lib/random.c:168
 msgid "Fatal error during RNG initialisation.\n"
 msgstr "Kohtalokas virhe RNG-alustuksen aikana.\n"
 
-#: lib/random.c:194
+#: lib/random.c:205
 msgid "Unknown RNG quality requested.\n"
 msgstr "Tuntematonta RNG-laatua pyydetty.\n"
 
-#: lib/random.c:199
+#: lib/random.c:210
 #, c-format
 msgid "Error %d reading from RNG: %s\n"
 msgstr "Virhe %d luettaessa kohteesta RNG: %s\n"
@@ -86,157 +86,152 @@ msgstr "Avainväli %d on virheellinen, valitse väliltä 0 ... %d.\n"
 msgid "Key slot %d is full, please select another one.\n"
 msgstr "Avainväli %d on täynnä, valitse joku toinen.\n"
 
-#: lib/setup.c:340
+#: lib/setup.c:345
 #, c-format
 msgid "Enter passphrase for %s: "
 msgstr "Kirjoita salasanalause kohteelle %s: "
 
-#: lib/setup.c:500
+#: lib/setup.c:505
 msgid "Cannot find a free loopback device.\n"
 msgstr "Ei voida löytää vapaata silmukkalaitetta.\n"
 
-#: lib/setup.c:508
+#: lib/setup.c:513
 msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
 msgstr "Silmukkalaitteeseen liittyminen epäonnistui (vaaditaan silmukkalaite autoclear-lipulla).\n"
 
-#: lib/setup.c:564
+#: lib/setup.c:569
 #, c-format
 msgid "LUKS header detected but device %s is too small.\n"
 msgstr "LUKS-otsake havaittu, mutta laite %s on liian pieni.\n"
 
-#: lib/setup.c:580 lib/setup.c:1068
+#: lib/setup.c:585 lib/setup.c:1073
 msgid "This operation is not supported for this device type.\n"
 msgstr "Tätä toimintoa ei tueta tälle laitetyypille.\n"
 
-#: lib/setup.c:643 lib/setup.c:1035 lib/setup.c:1808
+#: lib/setup.c:648 lib/setup.c:1040 lib/setup.c:1810
 #, c-format
 msgid "Device %s is not active.\n"
 msgstr "Laite %s ei ole aktiivinen.\n"
 
-#: lib/setup.c:661
+#: lib/setup.c:666
 #, c-format
 msgid "Underlying device for crypt device %s disappeared.\n"
 msgstr "Salauslaitteen %s perustana oleva laite hävisi.\n"
 
-#: lib/setup.c:775
+#: lib/setup.c:780
 msgid "Invalid plain crypt parameters.\n"
 msgstr "Virheelliset tavalliset salausparametrit.\n"
 
-#: lib/setup.c:780 lib/setup.c:885
+#: lib/setup.c:785 lib/setup.c:890
 msgid "Invalid key size.\n"
 msgstr "Virheellinen avainkoko.\n"
 
-#: lib/setup.c:821
+#: lib/setup.c:826
 msgid "Can't format LUKS without device.\n"
 msgstr "Ei voi muokata kohdetta LUKS ilman laitetta.\n"
 
-#: lib/setup.c:859
+#: lib/setup.c:864
 #, c-format
 msgid "Cannot format device %s which is still in use.\n"
 msgstr "Ei voida pohjustaa laitetta %s, joka on yhä käytössä.\n"
 
-#: lib/setup.c:862
+#: lib/setup.c:867
 #, c-format
 msgid "Cannot wipe header on device %s.\n"
 msgstr "Ei voi pyyhkiä pois otsaketta laitteesta %s.\n"
 
-#: lib/setup.c:880
+#: lib/setup.c:885
 msgid "Can't format LOOPAES without device.\n"
 msgstr "Ei voida pohjustaa kohdetta LOOPAES ilman laitetta.\n"
 
-#: lib/setup.c:940
+#: lib/setup.c:945
 #, c-format
 msgid "Unknown crypt device type %s requested.\n"
 msgstr "Tuntematon salauslaitetyyppi %s pyydetty.\n"
 
-#: lib/setup.c:1083
+#: lib/setup.c:1088
 msgid "Do you really want to change UUID of device?"
 msgstr "Haluatko todella vaihtaa laitteen UUID-tunnistetta?"
 
-#: lib/setup.c:1168 lib/setup.c:1215 lib/setup.c:1264 lib/setup.c:1330
-#: lib/setup.c:1406 lib/setup.c:1487 lib/setup.c:1533 lib/setup.c:1868
-#: lib/setup.c:1973 lib/setup.c:2112
+#: lib/setup.c:1173 lib/setup.c:1220 lib/setup.c:1269 lib/setup.c:1335
+#: lib/setup.c:1411 lib/setup.c:1492 lib/setup.c:1538 lib/setup.c:1875
+#: lib/setup.c:1980 lib/setup.c:2119
 msgid "This operation is supported only for LUKS device.\n"
 msgstr "Tätä toimintoa tuetaan vain LUKS-laitteelle.\n"
 
-#: lib/setup.c:1175
+#: lib/setup.c:1180
 #, c-format
 msgid "Volume %s is not active.\n"
 msgstr "Taltio %s ei ole käytössä.\n"
 
-#: lib/setup.c:1187
+#: lib/setup.c:1192
 #, c-format
 msgid "Volume %s is already suspended.\n"
 msgstr "Taltio %s on jo keskeytetty.\n"
 
-#: lib/setup.c:1225 lib/setup.c:1274
+#: lib/setup.c:1230 lib/setup.c:1279
 #, c-format
 msgid "Volume %s is not suspended.\n"
 msgstr "Taltiota %s ei ole keskeytetty.\n"
 
-#: lib/setup.c:1281 lib/setup.c:1658 lib/setup.c:1672 src/cryptsetup.c:343
+#: lib/setup.c:1286 lib/setup.c:1663 lib/setup.c:1677 src/cryptsetup.c:343
 msgid "Enter passphrase: "
 msgstr "Kirjoita salasanalause: "
 
 #  Volume key tarkoittaa yleensä äänenvoimakkuussäädintä, ei välttämättä tässä.
-#: lib/setup.c:1344 lib/setup.c:1420
+#: lib/setup.c:1349 lib/setup.c:1425
 msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
 msgstr "Ei voida lisätä avainväliä, kaikki välit on otettu pois käytöstä ja yhtään taltioavainta ei ole tarjottu.\n"
 
-#: lib/setup.c:1353 lib/setup.c:1426 lib/setup.c:1430
+#: lib/setup.c:1358 lib/setup.c:1431 lib/setup.c:1435
 msgid "Enter any passphrase: "
 msgstr "Kirjoita mikä tahansa salasanalause: "
 
-#: lib/setup.c:1370 lib/setup.c:1443 lib/setup.c:1447 lib/setup.c:1510
+#: lib/setup.c:1375 lib/setup.c:1448 lib/setup.c:1452 lib/setup.c:1515
 msgid "Enter new passphrase for key slot: "
 msgstr "Kirjoita uusi salasanalause avainvälille: "
 
-#: lib/setup.c:1501 lib/setup.c:1762 lib/setup.c:1775 lib/setup.c:1879
+#: lib/setup.c:1506 lib/setup.c:1767 lib/setup.c:1780 lib/setup.c:1886
 msgid "Volume key does not match the volume.\n"
 msgstr "Taltioavain ei täsmää taltion kanssa.\n"
 
-#: lib/setup.c:1539
+#: lib/setup.c:1544
 #, c-format
 msgid "Key slot %d is invalid.\n"
 msgstr "Avainväli %d on virheellinen.\n"
 
-#: lib/setup.c:1544
+#: lib/setup.c:1549
 #, c-format
 msgid "Key slot %d is not used.\n"
 msgstr "Avainväli %d ei ole käytössä.\n"
 
-#: lib/setup.c:1574 lib/setup.c:1646 lib/setup.c:1738
+#: lib/setup.c:1579 lib/setup.c:1651 lib/setup.c:1743
 #, c-format
 msgid "Device %s already exists.\n"
 msgstr "Laite %s on jo olemassa.\n"
 
-#: lib/setup.c:1749
+#: lib/setup.c:1754
 msgid "Incorrect volume key specified for plain device.\n"
 msgstr "Virheellinen taltioavain määritelty tavalliselle laitteelle.\n"
 
-#: lib/setup.c:1780
+#: lib/setup.c:1785
 msgid "Device type is not properly initialised.\n"
 msgstr "Laitetyyppi ei ole alustettu oikein.\n"
 
-#: lib/setup.c:1804
-#, c-format
-msgid "Device %s is busy.\n"
-msgstr "Laite %s on varattu.\n"
-
-#: lib/setup.c:1812
+#: lib/setup.c:1814
 #, c-format
 msgid "Invalid device %s.\n"
 msgstr "Virheellinen laite %s.\n"
 
-#: lib/setup.c:1835
+#: lib/setup.c:1842
 msgid "Volume key buffer too small.\n"
 msgstr "Taltioavainpuskuri on liian pieni.\n"
 
-#: lib/setup.c:1843
+#: lib/setup.c:1850
 msgid "Cannot retrieve volume key for plain device.\n"
 msgstr "Ei voida noutaa taltioavainta tavalliselle laitteelle.\n"
 
-#: lib/setup.c:1849
+#: lib/setup.c:1856
 #, c-format
 msgid "This operation is not supported for %s crypt device.\n"
 msgstr "Tätä toimintoa ei tueta %s-salauslaitteelle.\n"
@@ -288,92 +283,95 @@ msgstr "Pyydetty siirrososoite on laitteen %s todellisen koon ulkopuolella.\n"
 msgid "Device %s has zero size.\n"
 msgstr "Laitteen %s koko on nolla.\n"
 
-#: lib/utils.c:415 lib/luks1/keymanage.c:524
+#: lib/utils.c:415 lib/luks1/keymanage.c:532
 #, c-format
 msgid "Device %s is too small.\n"
 msgstr "Laite %s on liian pieni.\n"
 
-#: lib/utils.c:423
-#, c-format
-msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
-msgstr "Ei voida käyttää laitetta %s (salatut segmentit ovat päällekkäin tai toisen laitteen käyttämiä).\n"
-
-#: lib/utils.c:450
+#: lib/utils.c:439
 msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
 msgstr "VAROITUS!!! Mahdollisesti turvaton muisti. Oletko pääkäyttäjä?\n"
 
-#: lib/utils.c:456
+#: lib/utils.c:445
 msgid "Cannot get process priority.\n"
 msgstr "Ei voida saada prosessiprioriteettia.\n"
 
-#: lib/utils.c:459 lib/utils.c:472
+#: lib/utils.c:448 lib/utils.c:461
 #, c-format
 msgid "setpriority %d failed: %s\n"
 msgstr "setpriority %d epäonnistui: %s\n"
 
-#: lib/utils.c:470
+#: lib/utils.c:459
 msgid "Cannot unlock memory.\n"
 msgstr "Muistin lukitusta ei voida avata.\n"
 
-#: lib/utils_crypt.c:212 lib/utils_crypt.c:225 lib/utils_crypt.c:329
-#: lib/utils_crypt.c:345
+#: lib/utils_crypt.c:221 lib/utils_crypt.c:234 lib/utils_crypt.c:338
+#: lib/utils_crypt.c:354
 msgid "Out of memory while reading passphrase.\n"
 msgstr "Muisti loppui luettaessa salasanalausetta.\n"
 
-#: lib/utils_crypt.c:217 lib/utils_crypt.c:232
+#: lib/utils_crypt.c:226 lib/utils_crypt.c:241
 msgid "Error reading passphrase from terminal.\n"
 msgstr "Virhe luettaessa salasanalausetta pääteikkunasta.\n"
 
-#: lib/utils_crypt.c:230
+#: lib/utils_crypt.c:239
 msgid "Verify passphrase: "
 msgstr "Todenna salasanalause: "
 
-#: lib/utils_crypt.c:237
+#: lib/utils_crypt.c:246
 msgid "Passphrases do not match.\n"
 msgstr "Salasanalauseet eivät täsmää.\n"
 
-#: lib/utils_crypt.c:278
+#: lib/utils_crypt.c:287
 msgid "Cannot use offset with terminal input.\n"
 msgstr "Ei voida käyttää siirrososoitetta pääteikkunasyötteellä.\n"
 
-#: lib/utils_crypt.c:297
+#: lib/utils_crypt.c:306
 msgid "Failed to open key file.\n"
 msgstr "Avaintiedoston avaus epäonnistui.\n"
 
-#: lib/utils_crypt.c:306
+#: lib/utils_crypt.c:315
 msgid "Failed to stat key file.\n"
 msgstr "Avaintiedoston kutsuminen stat-funktiolla epäonnistui.\n"
 
-#: lib/utils_crypt.c:314 lib/utils_crypt.c:336
+#: lib/utils_crypt.c:323 lib/utils_crypt.c:345
 msgid "Cannot seek to requested keyfile offset.\n"
 msgstr "Ei voida etsiä pyydettyä avaintiedostosiirrososoitetta.\n"
 
-#: lib/utils_crypt.c:353
+#: lib/utils_crypt.c:362
 msgid "Error reading passphrase.\n"
 msgstr "Virhe luettaessa salasanalausetta.\n"
 
-#: lib/utils_crypt.c:371
-msgid "Maximum keyfile size exceeeded.\n"
+#: lib/utils_crypt.c:380
+msgid "Maximum keyfile size exceeded.\n"
 msgstr "Avaintiedoston enimmäiskoko ylitettiin.\n"
 
-#: lib/utils_crypt.c:376
+#: lib/utils_crypt.c:385
 msgid "Cannot read requested amount of data.\n"
 msgstr "Ei voida lukea pyydettyä tietomäärää.\n"
 
-#: lib/luks1/keyencryption.c:76
+#: lib/utils_fips.c:45
+msgid "FIPS checksum verification failed.\n"
+msgstr "FIPS-tarkistussummavarmennus epäonnistui.\n"
+
+#: lib/utils_fips.c:49
+msgid "Running in FIPS mode.\n"
+msgstr "Suoritetaan FIPS-tilassa.\n"
+
+#: lib/luks1/keyencryption.c:79
 #, c-format
 msgid "Unable to obtain sector size for %s"
 msgstr "Ei kyetä samaan sektorikokoa kohteelle %s"
 
-#: lib/luks1/keyencryption.c:103
+#: lib/luks1/keyencryption.c:106
 msgid "Key size in XTS mode must be 256 or 512 bits.\n"
 msgstr "Avainkoon on oltava XTS-tilassa 256 tai 512 bittiä.\n"
 
-#: lib/luks1/keyencryption.c:126
+#: lib/luks1/keyencryption.c:129
 msgid "Failed to obtain device mapper directory."
 msgstr "Laitekuvaajahakemiston hankkiminen epäonnistui."
 
-#: lib/luks1/keyencryption.c:142
+#: lib/luks1/keyencryption.c:145
 #, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
@@ -384,11 +382,11 @@ msgstr ""
 "Tarkista, että käyttöjärjestelmäydin tukee %s-salakirjoitusmenetelmää (lisätietoja tarkistamalla syslog).\n"
 "%s"
 
-#: lib/luks1/keyencryption.c:152
+#: lib/luks1/keyencryption.c:155
 msgid "Failed to open temporary keystore device.\n"
 msgstr "Tilapäisen avainsäiliön avaaminen epäonnistui.\n"
 
-#: lib/luks1/keyencryption.c:159
+#: lib/luks1/keyencryption.c:162
 msgid "Failed to access temporary keystore device.\n"
 msgstr "Pääsy tilapäiseen avainsäiliölaitteeseen epäonnistui.\n"
 
@@ -397,7 +395,7 @@ msgstr "Pääsy tilapäiseen avainsäiliölaitteeseen epäonnistui.\n"
 msgid "Requested file %s already exist.\n"
 msgstr "Pyydetty tiedosto %s on jo olemassa.\n"
 
-#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:391
+#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:399
 #, c-format
 msgid "Device %s is not a valid LUKS device.\n"
 msgstr "Laite %s ei ole kelvollinen LUKS-laite.\n"
@@ -451,8 +449,8 @@ msgstr ""
 "\n"
 "VAROITUS: oikealla laiteotsakkeella on eri UUID-tunniste kuin varmuuskopiolla!"
 
-#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:496
-#: lib/luks1/keymanage.c:530
+#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:504
+#: lib/luks1/keymanage.c:538
 #, c-format
 msgid "Cannot open device %s.\n"
 msgstr "Ei voi avata laitetta %s.\n"
@@ -462,122 +460,126 @@ msgid "Non standard key size, manual repair required.\n"
 msgstr "Ei-vakio avainkoko, manuaalinen korjaus pyydetty.\n"
 
 #: lib/luks1/keymanage.c:315
+msgid "Non standard keyslots alignment, manual repair required.\n"
+msgstr "Ei-vakiot avainvälitasaukset, manuaalinen korjaus pyydetty.\n"
+
+#: lib/luks1/keymanage.c:321
 msgid "Repairing keyslots.\n"
 msgstr "Korjataan avainvälit.\n"
 
-#: lib/luks1/keymanage.c:326
+#: lib/luks1/keymanage.c:332
 msgid "Repair failed."
 msgstr "Korjaus epäonnistui."
 
-#: lib/luks1/keymanage.c:333
+#: lib/luks1/keymanage.c:344
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u).\n"
 msgstr "Avainväli %i: siirrososoite korjattu (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:341
+#: lib/luks1/keymanage.c:352
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
 msgstr "Avainväli %i: raidat korjattu (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:352
+#: lib/luks1/keymanage.c:361
 #, c-format
 msgid "Keyslot %i: bogus partition signature.\n"
 msgstr "Avainväli %i: valeosiotunniste.\n"
 
-#: lib/luks1/keymanage.c:357
+#: lib/luks1/keymanage.c:366
 #, c-format
 msgid "Keyslot %i: salt wiped.\n"
 msgstr "Avainväli %i: satunnaisarvosiemen tuhottu.\n"
 
-#: lib/luks1/keymanage.c:369
+#: lib/luks1/keymanage.c:377
 msgid "Writing LUKS header to disk.\n"
 msgstr "Kirjoitetaan LUKS-otsake levylle.\n"
 
-#: lib/luks1/keymanage.c:394
+#: lib/luks1/keymanage.c:402
 #, c-format
 msgid "Unsupported LUKS version %d.\n"
 msgstr "Tukematon LUKS-versio %d.\n"
 
-#: lib/luks1/keymanage.c:400 lib/luks1/keymanage.c:602
+#: lib/luks1/keymanage.c:408 lib/luks1/keymanage.c:610
 #, c-format
 msgid "Requested LUKS hash %s is not supported.\n"
 msgstr "Pyydetty LUKS-tiiviste %s ei ole tuettu.\n"
 
-#: lib/luks1/keymanage.c:415
+#: lib/luks1/keymanage.c:423
 #, c-format
 msgid "LUKS keyslot %u is invalid.\n"
 msgstr "LUKS-avainväli %u on virheellinen.\n"
 
-#: lib/luks1/keymanage.c:429 src/cryptsetup.c:535
+#: lib/luks1/keymanage.c:437 src/cryptsetup.c:535
 msgid "No known problems detected for LUKS header.\n"
 msgstr "Tuntemattomat pulmat havaittu LUKS-otsakkeelle.\n"
 
-#: lib/luks1/keymanage.c:463
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Cannot open file %s.\n"
 msgstr "Ei voi avata tiedostoa %s.\n"
 
-#: lib/luks1/keymanage.c:551
+#: lib/luks1/keymanage.c:559
 #, c-format
 msgid "Error during update of LUKS header on device %s.\n"
 msgstr "Virhe LUKS-otsakkeen päivityksen aikana laitteessa %s.\n"
 
-#: lib/luks1/keymanage.c:558
+#: lib/luks1/keymanage.c:566
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s.\n"
 msgstr "Virhe luettaessa uudelleen LUKS-otsaketta päivityksen jälkeen laitteessa %s.\n"
 
-#: lib/luks1/keymanage.c:570
+#: lib/luks1/keymanage.c:578
 #, c-format
 msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
 msgstr "Ei ole yhteensopiva PBKDF2-valitsimien kanssa (käytetään tiivitstealgoritmia %s).\n"
 
-#: lib/luks1/keymanage.c:607 lib/luks1/keymanage.c:689
+#: lib/luks1/keymanage.c:615 lib/luks1/keymanage.c:697
 msgid "Wrong LUKS UUID format provided.\n"
 msgstr "Väärä LUKS UUID-muoto tarjottu.\n"
 
-#: lib/luks1/keymanage.c:632
+#: lib/luks1/keymanage.c:640
 msgid "Cannot create LUKS header: reading random salt failed.\n"
 msgstr "Ei voida luoda LUKS-otsaketta: lukeminen satunnaisarvosta epäonnistui.\n"
 
-#: lib/luks1/keymanage.c:649
+#: lib/luks1/keymanage.c:657
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
 msgstr "Ei voida luoda LUKS-otsaketta: otsaketiiviste epäonnistui (käytettäen tiivistettä %s).\n"
 
-#: lib/luks1/keymanage.c:714
+#: lib/luks1/keymanage.c:722
 #, c-format
 msgid "Key slot %d active, purge first.\n"
 msgstr "Avainväli %d aktiivinen, puhdista ensimmäinen.\n"
 
-#: lib/luks1/keymanage.c:719
+#: lib/luks1/keymanage.c:727
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
 msgstr "Avainvälin %d materiaali sisältää liian vähän raitoja. Otsaketta on käsitelty?\n"
 
-#: lib/luks1/keymanage.c:786
+#: lib/luks1/keymanage.c:794
 msgid "Failed to write to key storage.\n"
 msgstr "Avainsäiliöön kirjoittaminen epäonnistui.\n"
 
-#: lib/luks1/keymanage.c:871
+#: lib/luks1/keymanage.c:879
 msgid "Failed to read from key storage.\n"
 msgstr "Avainsäiliöstä lukeminen epäonnistui.\n"
 
-#: lib/luks1/keymanage.c:881
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d unlocked.\n"
 msgstr "Avaivälin %d lukitus avattu.\n"
 
-#: lib/luks1/keymanage.c:917 src/cryptsetup.c:732 src/cryptsetup.c:916
+#: lib/luks1/keymanage.c:925 src/cryptsetup.c:732 src/cryptsetup.c:916
 msgid "No key available with this passphrase.\n"
 msgstr "Tälle salasanalauseelle ei ole saatavissa avainta.\n"
 
-#: lib/luks1/keymanage.c:935
+#: lib/luks1/keymanage.c:943
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
 msgstr "Avainväli %d on virheellinen, valitse avainväli välillä 0 ... %d.\n"
 
-#: lib/luks1/keymanage.c:949
+#: lib/luks1/keymanage.c:957
 #, c-format
 msgid "Cannot wipe device %s.\n"
 msgstr "Ei voi pyyhkiä tyhjäksi laitetta %s.\n"
@@ -1026,32 +1028,32 @@ msgstr "Salli hylkäys(lempinimeltään TRIM)-pyynnöt laitteelle."
 msgid "Device or file with separated LUKS header."
 msgstr "Laite tai tiedosto erillisellä LUKS-otsakkeella."
 
-#: src/cryptsetup.c:1322
+#: src/cryptsetup.c:1324
 msgid "[OPTION...] <action> <action-specific>]"
 msgstr "[VALITSIN...] <toiminto> <toimintokohtainen>]"
 
-#: src/cryptsetup.c:1362
+#: src/cryptsetup.c:1364
 msgid "Argument <action> missing."
 msgstr "Argumentti <toiminto> puuttuu."
 
-#: src/cryptsetup.c:1368
+#: src/cryptsetup.c:1370
 msgid "Unknown action."
 msgstr "Tuntematon toiminto."
 
-#: src/cryptsetup.c:1383
+#: src/cryptsetup.c:1385
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: vaatii %s argumentteina"
 
-#: src/cryptsetup.c:1392
+#: src/cryptsetup.c:1394
 msgid "Option --shared is allowed only for create operation.\n"
 msgstr "Valitsin --shared sallitaan vain create-toiminnolle.\n"
 
-#: src/cryptsetup.c:1401
+#: src/cryptsetup.c:1403
 msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
 msgstr "Valitsin --allow-discards sallitaan vain luksOpen-, loopaesOpen- ja create-toiminnoille .\n"
 
-#: src/cryptsetup.c:1410
+#: src/cryptsetup.c:1412
 msgid ""
 "Option --key-size is allowed only for luksFormat, create and loopaesOpen.\n"
 "To limit read from keyfile use --keyfile-size=(bytes)."
@@ -1059,46 +1061,52 @@ msgstr ""
 "Valitsin --key-size sallitaan vain muodolle luksFormat, create- ja loopaesOpen-komennoille.\n"
 "Käytä lukemisen rajoittamiseksi avaintiedostosta valitsinta --keyfile-size=(tavua)."
 
-#: src/cryptsetup.c:1417
+#: src/cryptsetup.c:1419
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Avainkoon on oltava 8-bitin monikerta"
 
-#: src/cryptsetup.c:1424
+#: src/cryptsetup.c:1426
 msgid "Key slot is invalid."
 msgstr "Avainväli on virheellinen."
 
-#: src/cryptsetup.c:1431
+#: src/cryptsetup.c:1433
 msgid "Option --key-file takes precedence over specified key file argument.\n"
 msgstr "Valitsin --key-file on ensisijainen määritellylle avaintiedostoargumentille.\n"
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1441
 msgid "Negative number for option not permitted."
 msgstr "Valitsimelle ei sallita negatiivista numeroa."
 
-#: src/cryptsetup.c:1444
+#: src/cryptsetup.c:1446
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Vain yksi --use-[u]random -valitsin on sallittu."
 
-#: src/cryptsetup.c:1448
+#: src/cryptsetup.c:1450
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "Valitsin --use-[u]random sallitaan vain luksFormat-muodolle."
 
-#: src/cryptsetup.c:1452
+#: src/cryptsetup.c:1454
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgstr "Valitsin --uuid sallitaan vain luksFormat-muodolle ja luksUUID-muodolle."
 
-#: src/cryptsetup.c:1456
+#: src/cryptsetup.c:1458
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Valitsin --align-payload sallitaan vain luksFormat-muodolle."
 
-#: src/cryptsetup.c:1461
+#: src/cryptsetup.c:1463
 msgid "Option --skip is supported only for create and loopaesOpen commands.\n"
 msgstr "Valitsinta --skip tuetaan vain create- ja loopaesOpen-komennoille .\n"
 
-#: src/cryptsetup.c:1466
+#: src/cryptsetup.c:1468
 msgid "Option --offset is supported only for create and loopaesOpen commands.\n"
 msgstr "Valitsinta --offset tuetaan vain create- ja loopaesOpen-komennoille .\n"
 
+#~ msgid "Device %s is busy.\n"
+#~ msgstr "Laite %s on varattu.\n"
+
+#~ msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
+#~ msgstr "Ei voida käyttää laitetta %s (salatut segmentit ovat päällekkäin tai toisen laitteen käyttämiä).\n"
+
 #~ msgid "Cannot read %d byte from key file %s.\n"
 #~ msgid_plural "Cannot read %d bytes from key file %s.\n"
 #~ msgstr[0] "Ei voida lukea %d tavua avaintiedostosta %s.\n"
index 5c6e381..bb0ff6b 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup-1.4.2\n"
+"Project-Id-Version: cryptsetup-1.4.3\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2012-04-03 00:12+0200\n"
-"PO-Revision-Date: 2012-04-15 21:43+0100\n"
+"POT-Creation-Date: 2012-05-22 23:31+0200\n"
+"PO-Revision-Date: 2012-05-30 20:46+0100\n"
 "Last-Translator: Koen Torfs <koen@indigetesdii.org>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -21,12 +21,12 @@ msgstr ""
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
 msgstr "Kan apparaatstoewijzer niet initialiseren. Is kernelmodule dm_mod geladen?\n"
 
-#: lib/libdevmapper.c:412
+#: lib/libdevmapper.c:423
 #, c-format
 msgid "DM-UUID for device %s was truncated.\n"
 msgstr "DM-UUID voor apparaat %s werd afgekapt.\n"
 
-#: lib/random.c:74
+#: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 "Please move mouse or type some text in another window to gather some random events.\n"
@@ -34,20 +34,20 @@ msgstr ""
 "Systeem heeft niet genoeg willekeurige gegevens om de sleutel tot het opslagmedium verder te genereren.\n"
 "Beweeg de muis of typ wat tekst in een nieuw venster om enkele willekeurige evenementen te verzamelen.\n"
 
-#: lib/random.c:78
+#: lib/random.c:79
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Sleutel wordt gegenereerd (%d%% afgewerkt).\n"
 
-#: lib/random.c:167
+#: lib/random.c:168
 msgid "Fatal error during RNG initialisation.\n"
 msgstr "Fatale fout bij initialisatie van RNG.\n"
 
-#: lib/random.c:194
+#: lib/random.c:205
 msgid "Unknown RNG quality requested.\n"
 msgstr "Onbekende RNG-kwaliteit aangevraagd.\n"
 
-#: lib/random.c:199
+#: lib/random.c:210
 #, c-format
 msgid "Error %d reading from RNG: %s\n"
 msgstr "Fout %d bij lezen uit RNG: %s\n"
@@ -84,156 +84,151 @@ msgstr "Sleutelplaats %d is ongeldig, selecteer een plaats tussen 0 en %d.\n"
 msgid "Key slot %d is full, please select another one.\n"
 msgstr "Sleutelplaats %d is vol, selecteer een andere.\n"
 
-#: lib/setup.c:340
+#: lib/setup.c:345
 #, c-format
 msgid "Enter passphrase for %s: "
 msgstr "Voer wachtwoord in voor %s: "
 
-#: lib/setup.c:500
+#: lib/setup.c:505
 msgid "Cannot find a free loopback device.\n"
 msgstr "Kan geen vrij loopback-apparaat vinden.\n"
 
-#: lib/setup.c:508
+#: lib/setup.c:513
 msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
 msgstr "Vastmaken loopback-apparaat gefaald (loop-apparaat met autoclear-vlag is vereist).\n"
 
-#: lib/setup.c:564
+#: lib/setup.c:569
 #, c-format
 msgid "LUKS header detected but device %s is too small.\n"
 msgstr "LUKS-koptekst gevonden maar apparaat %s is te klein.\n"
 
-#: lib/setup.c:580 lib/setup.c:1068
+#: lib/setup.c:585 lib/setup.c:1073
 msgid "This operation is not supported for this device type.\n"
 msgstr "Deze operatie wordt niet ondersteund voor dit apparaatstype.\n"
 
-#: lib/setup.c:643 lib/setup.c:1035 lib/setup.c:1808
+#: lib/setup.c:648 lib/setup.c:1040 lib/setup.c:1810
 #, c-format
 msgid "Device %s is not active.\n"
 msgstr "Apparaat %s is niet actief.\n"
 
-#: lib/setup.c:661
+#: lib/setup.c:666
 #, c-format
 msgid "Underlying device for crypt device %s disappeared.\n"
 msgstr "Onderliggend apparaat van versleutelingsapparaat %s is verdwenen.\n"
 
-#: lib/setup.c:775
+#: lib/setup.c:780
 msgid "Invalid plain crypt parameters.\n"
 msgstr "Ongeldige normale versleutelingsparameters.\n"
 
-#: lib/setup.c:780 lib/setup.c:885
+#: lib/setup.c:785 lib/setup.c:890
 msgid "Invalid key size.\n"
 msgstr "Ongeldige sleutelgrootte.\n"
 
-#: lib/setup.c:821
+#: lib/setup.c:826
 msgid "Can't format LUKS without device.\n"
 msgstr "Kan LUKS niet formatteren zonder apparaat.\n"
 
-#: lib/setup.c:859
+#: lib/setup.c:864
 #, c-format
 msgid "Cannot format device %s which is still in use.\n"
 msgstr "Kan apparaat %s niet formatteren; het is nog steeds actief.\n"
 
-#: lib/setup.c:862
+#: lib/setup.c:867
 #, c-format
 msgid "Cannot wipe header on device %s.\n"
 msgstr "Kan koptekst op apparaat %s niet wissen.\n"
 
-#: lib/setup.c:880
+#: lib/setup.c:885
 msgid "Can't format LOOPAES without device.\n"
 msgstr "Kan LOOPAES niet formatteren zonder apparaat.\n"
 
-#: lib/setup.c:940
+#: lib/setup.c:945
 #, c-format
 msgid "Unknown crypt device type %s requested.\n"
 msgstr "Onbekend versleutelingsapparaattype %s aangevraagd.\n"
 
-#: lib/setup.c:1083
+#: lib/setup.c:1088
 msgid "Do you really want to change UUID of device?"
 msgstr "Bent u zeker dat u het UUID van het apparaat wilt wijzigen?"
 
-#: lib/setup.c:1168 lib/setup.c:1215 lib/setup.c:1264 lib/setup.c:1330
-#: lib/setup.c:1406 lib/setup.c:1487 lib/setup.c:1533 lib/setup.c:1868
-#: lib/setup.c:1973 lib/setup.c:2112
+#: lib/setup.c:1173 lib/setup.c:1220 lib/setup.c:1269 lib/setup.c:1335
+#: lib/setup.c:1411 lib/setup.c:1492 lib/setup.c:1538 lib/setup.c:1875
+#: lib/setup.c:1980 lib/setup.c:2119
 msgid "This operation is supported only for LUKS device.\n"
 msgstr "Deze operatie wordt enkel ondersteund voor LUKS-apparaten.\n"
 
-#: lib/setup.c:1175
+#: lib/setup.c:1180
 #, c-format
 msgid "Volume %s is not active.\n"
 msgstr "Opslagmedium %s is niet actief.\n"
 
-#: lib/setup.c:1187
+#: lib/setup.c:1192
 #, c-format
 msgid "Volume %s is already suspended.\n"
 msgstr "Opslagmedium %s is reeds geschorst.\n"
 
-#: lib/setup.c:1225 lib/setup.c:1274
+#: lib/setup.c:1230 lib/setup.c:1279
 #, c-format
 msgid "Volume %s is not suspended.\n"
 msgstr "Opslagmedium %s is niet geschorst.\n"
 
-#: lib/setup.c:1281 lib/setup.c:1658 lib/setup.c:1672 src/cryptsetup.c:343
+#: lib/setup.c:1286 lib/setup.c:1663 lib/setup.c:1677 src/cryptsetup.c:343
 msgid "Enter passphrase: "
 msgstr "Voer wachtwoord in: "
 
-#: lib/setup.c:1344 lib/setup.c:1420
+#: lib/setup.c:1349 lib/setup.c:1425
 msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
 msgstr "Kan geen sleutelplaats toevoegen, alle plaatsen zijn uitgeschakeld en geen sleutel tot het opslagmedium voorzien.\n"
 
-#: lib/setup.c:1353 lib/setup.c:1426 lib/setup.c:1430
+#: lib/setup.c:1358 lib/setup.c:1431 lib/setup.c:1435
 msgid "Enter any passphrase: "
 msgstr "Voer een wachtwoord in: "
 
-#: lib/setup.c:1370 lib/setup.c:1443 lib/setup.c:1447 lib/setup.c:1510
+#: lib/setup.c:1375 lib/setup.c:1448 lib/setup.c:1452 lib/setup.c:1515
 msgid "Enter new passphrase for key slot: "
 msgstr "Voer een nieuw wachtwoord in voor de sleutelplaats: "
 
-#: lib/setup.c:1501 lib/setup.c:1762 lib/setup.c:1775 lib/setup.c:1879
+#: lib/setup.c:1506 lib/setup.c:1767 lib/setup.c:1780 lib/setup.c:1886
 msgid "Volume key does not match the volume.\n"
 msgstr "Sleutel tot opslagmedium komt niet overeen met het opslagmedium.\n"
 
-#: lib/setup.c:1539
+#: lib/setup.c:1544
 #, c-format
 msgid "Key slot %d is invalid.\n"
 msgstr "Sleutelplaats %d is ongeldig.\n"
 
-#: lib/setup.c:1544
+#: lib/setup.c:1549
 #, c-format
 msgid "Key slot %d is not used.\n"
 msgstr "Sleutelplaats %d is niet in gebruik.\n"
 
-#: lib/setup.c:1574 lib/setup.c:1646 lib/setup.c:1738
+#: lib/setup.c:1579 lib/setup.c:1651 lib/setup.c:1743
 #, c-format
 msgid "Device %s already exists.\n"
 msgstr "Apparaat %s bestaat reeds.\n"
 
-#: lib/setup.c:1749
+#: lib/setup.c:1754
 msgid "Incorrect volume key specified for plain device.\n"
 msgstr "Incorrecte sleutel tot het opslagmedium voor normaal apparaat verschaft.\n"
 
-#: lib/setup.c:1780
+#: lib/setup.c:1785
 msgid "Device type is not properly initialised.\n"
 msgstr "Apparaatstype is niet behoorlijk geïnitialiseerd.\n"
 
-#: lib/setup.c:1804
-#, c-format
-msgid "Device %s is busy.\n"
-msgstr "Apparaat %s is bezig.\n"
-
-#: lib/setup.c:1812
+#: lib/setup.c:1814
 #, c-format
 msgid "Invalid device %s.\n"
 msgstr "Ongeldig apparaat %s.\n"
 
-#: lib/setup.c:1835
+#: lib/setup.c:1842
 msgid "Volume key buffer too small.\n"
 msgstr "Sleutelbuffer van het opslagmedium is te klein.\n"
 
-#: lib/setup.c:1843
+#: lib/setup.c:1850
 msgid "Cannot retrieve volume key for plain device.\n"
 msgstr "Kan sleutel tot het opslagmedium voor normaal apparaat niet ophalen.\n"
 
-#: lib/setup.c:1849
+#: lib/setup.c:1856
 #, c-format
 msgid "This operation is not supported for %s crypt device.\n"
 msgstr "Deze operatie wordt niet ondersteund voor versleutelapparaat %s.\n"
@@ -285,92 +280,95 @@ msgstr "De aangevraagde gegevenspositie valt buiten de werkelijke grootte van ap
 msgid "Device %s has zero size.\n"
 msgstr "Apparaat %s heeft grootte nul.\n"
 
-#: lib/utils.c:415 lib/luks1/keymanage.c:524
+#: lib/utils.c:415 lib/luks1/keymanage.c:532
 #, c-format
 msgid "Device %s is too small.\n"
 msgstr "Apparaat %s is te klein.\n"
 
-#: lib/utils.c:423
-#, c-format
-msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
-msgstr "Kan apparaat %s niet gebruiken (cryptsegmenten overlappen of worden door een ander apparaat gebruikt).\n"
-
-#: lib/utils.c:450
+#: lib/utils.c:439
 msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
 msgstr "WAARSCHUWING!!! Mogelijk onveilig geheugen. Bent u root?\n"
 
-#: lib/utils.c:456
+#: lib/utils.c:445
 msgid "Cannot get process priority.\n"
 msgstr "Kan geen procesprioriteit verkrijgen.\n"
 
-#: lib/utils.c:459 lib/utils.c:472
+#: lib/utils.c:448 lib/utils.c:461
 #, c-format
 msgid "setpriority %d failed: %s\n"
 msgstr "setpriority %d is mislukt: %s\n"
 
-#: lib/utils.c:470
+#: lib/utils.c:459
 msgid "Cannot unlock memory.\n"
 msgstr "Kan geheugen niet ontgrendelen.\n"
 
-#: lib/utils_crypt.c:212 lib/utils_crypt.c:225 lib/utils_crypt.c:329
-#: lib/utils_crypt.c:345
+#: lib/utils_crypt.c:221 lib/utils_crypt.c:234 lib/utils_crypt.c:338
+#: lib/utils_crypt.c:354
 msgid "Out of memory while reading passphrase.\n"
 msgstr "Geen geheugen meer beschikbaar bij lezen van wachtwoord.\n"
 
-#: lib/utils_crypt.c:217 lib/utils_crypt.c:232
+#: lib/utils_crypt.c:226 lib/utils_crypt.c:241
 msgid "Error reading passphrase from terminal.\n"
 msgstr "Fout bij het lezen van het wachtwoord uit de terminal.\n"
 
-#: lib/utils_crypt.c:230
+#: lib/utils_crypt.c:239
 msgid "Verify passphrase: "
 msgstr "Voer wachtwoord nogmaals in: "
 
-#: lib/utils_crypt.c:237
+#: lib/utils_crypt.c:246
 msgid "Passphrases do not match.\n"
 msgstr "Wachtwoorden komen niet overeen.\n"
 
-#: lib/utils_crypt.c:278
+#: lib/utils_crypt.c:287
 msgid "Cannot use offset with terminal input.\n"
 msgstr "Kan de gegevenspositie niet via terminalinvoer gebruiken.\n"
 
-#: lib/utils_crypt.c:297
+#: lib/utils_crypt.c:306
 msgid "Failed to open key file.\n"
 msgstr "Openen van sleutelbestand is mislukt.\n"
 
-#: lib/utils_crypt.c:306
+#: lib/utils_crypt.c:315
 msgid "Failed to stat key file.\n"
 msgstr "Kan status van sleutelbestand niet opvragen.\n"
 
-#: lib/utils_crypt.c:314 lib/utils_crypt.c:336
+#: lib/utils_crypt.c:323 lib/utils_crypt.c:345
 msgid "Cannot seek to requested keyfile offset.\n"
 msgstr "Kan niet zoeken tot aan het aangevraagde sleutelbestand.\n"
 
-#: lib/utils_crypt.c:353
+#: lib/utils_crypt.c:362
 msgid "Error reading passphrase.\n"
 msgstr "Fout bij lezen van wachtwoord.\n"
 
-#: lib/utils_crypt.c:371
-msgid "Maximum keyfile size exceeeded.\n"
-msgstr "Maximum sleutelplaatsgrootte overschreden.\n"
+#: lib/utils_crypt.c:380
+msgid "Maximum keyfile size exceeded.\n"
+msgstr "Maximum sleutelbestandsgrootte overschreden.\n"
 
-#: lib/utils_crypt.c:376
+#: lib/utils_crypt.c:385
 msgid "Cannot read requested amount of data.\n"
 msgstr "Kan aangevraagde hoeveelheid data niet lezen.\n"
 
-#: lib/luks1/keyencryption.c:76
+#: lib/utils_fips.c:45
+msgid "FIPS checksum verification failed.\n"
+msgstr "Verificatie van FIPS-controlesom gefaald.\n"
+
+#: lib/utils_fips.c:49
+msgid "Running in FIPS mode.\n"
+msgstr "Uitvoering in FIPS-modus.\n"
+
+#: lib/luks1/keyencryption.c:79
 #, c-format
 msgid "Unable to obtain sector size for %s"
 msgstr "Kan sectorgrootte van %s niet verkrijgen"
 
-#: lib/luks1/keyencryption.c:103
+#: lib/luks1/keyencryption.c:106
 msgid "Key size in XTS mode must be 256 or 512 bits.\n"
 msgstr "In XTS-modus moet de sleutelgrootte 256 of 512 bits zijn.\n"
 
-#: lib/luks1/keyencryption.c:126
+#: lib/luks1/keyencryption.c:129
 msgid "Failed to obtain device mapper directory."
 msgstr "Kan geen map voor de apparaatstoewijzer verkrijgen."
 
-#: lib/luks1/keyencryption.c:142
+#: lib/luks1/keyencryption.c:145
 #, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
@@ -381,11 +379,11 @@ msgstr ""
 "Kijk na of de kernel versleutelalgoritme %s ondersteunt (bekijk syslog voor meer informatie).\n"
 "%s"
 
-#: lib/luks1/keyencryption.c:152
+#: lib/luks1/keyencryption.c:155
 msgid "Failed to open temporary keystore device.\n"
 msgstr "Openen van het tijdelijke sleutelopslagapparaat is mislukt.\n"
 
-#: lib/luks1/keyencryption.c:159
+#: lib/luks1/keyencryption.c:162
 msgid "Failed to access temporary keystore device.\n"
 msgstr "Kan geen toegang verkrijgen tot tijdelijk sleutelopslagapparaat.\n"
 
@@ -394,7 +392,7 @@ msgstr "Kan geen toegang verkrijgen tot tijdelijk sleutelopslagapparaat.\n"
 msgid "Requested file %s already exist.\n"
 msgstr "Aangevraagd bestand %s bestaat reeds.\n"
 
-#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:391
+#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:399
 #, c-format
 msgid "Device %s is not a valid LUKS device.\n"
 msgstr "Apparaat %s is geen geldig LUKS-apparaat.\n"
@@ -448,8 +446,8 @@ msgstr ""
 "\n"
 "WAARSCHUWING: originele apparaatkoptekst heeft een ander UUID dan de reservekopie!"
 
-#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:496
-#: lib/luks1/keymanage.c:530
+#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:504
+#: lib/luks1/keymanage.c:538
 #, c-format
 msgid "Cannot open device %s.\n"
 msgstr "Kan apparaat %s niet openen.\n"
@@ -459,122 +457,126 @@ msgid "Non standard key size, manual repair required.\n"
 msgstr "Niet-standaard sleutelgrootte, handmatige herstelling is vereist.\n"
 
 #: lib/luks1/keymanage.c:315
+msgid "Non standard keyslots alignment, manual repair required.\n"
+msgstr "Niet-standaard sleutelplaatsuitlijning, handmatige herstelling is vereist.\n"
+
+#: lib/luks1/keymanage.c:321
 msgid "Repairing keyslots.\n"
 msgstr "Sleutelplaatsen worden hersteld.\n"
 
-#: lib/luks1/keymanage.c:326
+#: lib/luks1/keymanage.c:332
 msgid "Repair failed."
 msgstr "Herstelling is mislukt."
 
-#: lib/luks1/keymanage.c:333
+#: lib/luks1/keymanage.c:344
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u).\n"
 msgstr "Sleutelplaats %i: gegevenspositie hersteld (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:341
+#: lib/luks1/keymanage.c:352
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
 msgstr "Sleutelplaats %i: fragmenten hersteld (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:352
+#: lib/luks1/keymanage.c:361
 #, c-format
 msgid "Keyslot %i: bogus partition signature.\n"
 msgstr "Sleutelplaats %i: valse partitiehandtekening.\n"
 
-#: lib/luks1/keymanage.c:357
+#: lib/luks1/keymanage.c:366
 #, c-format
 msgid "Keyslot %i: salt wiped.\n"
 msgstr "Sleutelplaats %i: salt uitgewist.\n"
 
-#: lib/luks1/keymanage.c:369
+#: lib/luks1/keymanage.c:377
 msgid "Writing LUKS header to disk.\n"
 msgstr "LUKS-koptekst wordt naar schijf geschreven.\n"
 
-#: lib/luks1/keymanage.c:394
+#: lib/luks1/keymanage.c:402
 #, c-format
 msgid "Unsupported LUKS version %d.\n"
 msgstr "Niet-ondersteunde LUKS-versie %d.\n"
 
-#: lib/luks1/keymanage.c:400 lib/luks1/keymanage.c:602
+#: lib/luks1/keymanage.c:408 lib/luks1/keymanage.c:610
 #, c-format
 msgid "Requested LUKS hash %s is not supported.\n"
 msgstr "Aangevraagde LUKS-hash %s wordt niet ondersteund.\n"
 
-#: lib/luks1/keymanage.c:415
+#: lib/luks1/keymanage.c:423
 #, c-format
 msgid "LUKS keyslot %u is invalid.\n"
 msgstr "LUKS-sleutelplaats %u is ongeldig.\n"
 
-#: lib/luks1/keymanage.c:429 src/cryptsetup.c:535
+#: lib/luks1/keymanage.c:437 src/cryptsetup.c:535
 msgid "No known problems detected for LUKS header.\n"
 msgstr "Geen gekende problemen gevonden bij LUKS-koptekst.\n"
 
-#: lib/luks1/keymanage.c:463
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Cannot open file %s.\n"
 msgstr "Kan bestand %s niet openen.\n"
 
-#: lib/luks1/keymanage.c:551
+#: lib/luks1/keymanage.c:559
 #, c-format
 msgid "Error during update of LUKS header on device %s.\n"
 msgstr "Fout bij het bijwerken van LUKS-koptekst op apparaat %s.\n"
 
-#: lib/luks1/keymanage.c:558
+#: lib/luks1/keymanage.c:566
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s.\n"
 msgstr "Fout bij het herlezen van LUKS-koptekst na bijwerken van apparaat %s.\n"
 
-#: lib/luks1/keymanage.c:570
+#: lib/luks1/keymanage.c:578
 #, c-format
 msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
 msgstr "Niet-compatibele PBKDF2-opties (met hash-algoritme %s in gebruik).\n"
 
-#: lib/luks1/keymanage.c:607 lib/luks1/keymanage.c:689
+#: lib/luks1/keymanage.c:615 lib/luks1/keymanage.c:697
 msgid "Wrong LUKS UUID format provided.\n"
 msgstr "Verkeerd LUKS UUID-formaat verschaft.\n"
 
-#: lib/luks1/keymanage.c:632
+#: lib/luks1/keymanage.c:640
 msgid "Cannot create LUKS header: reading random salt failed.\n"
 msgstr "Kan LUKS-koptekst niet aanmaken: lezen van random salt is mislukt.\n"
 
-#: lib/luks1/keymanage.c:649
+#: lib/luks1/keymanage.c:657
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
 msgstr "Kan LUKS-koptekst niet aanmaken: koptekst-extract is mislukt (met %s-hash).\n"
 
-#: lib/luks1/keymanage.c:714
+#: lib/luks1/keymanage.c:722
 #, c-format
 msgid "Key slot %d active, purge first.\n"
 msgstr "Sleutelplaats %d is actief; ruim eerst op.\n"
 
-#: lib/luks1/keymanage.c:719
+#: lib/luks1/keymanage.c:727
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
 msgstr "Inhoud van sleutelplaats %d bevat te weinig fragmenten. Koptekstmanipulatie?\n"
 
-#: lib/luks1/keymanage.c:786
+#: lib/luks1/keymanage.c:794
 msgid "Failed to write to key storage.\n"
 msgstr "Schrijven naar sleutelopslag is mislukt.\n"
 
-#: lib/luks1/keymanage.c:871
+#: lib/luks1/keymanage.c:879
 msgid "Failed to read from key storage.\n"
 msgstr "Lezen uit sleutelopslag is mislukt.\n"
 
-#: lib/luks1/keymanage.c:881
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d unlocked.\n"
 msgstr "Sleutelplaats %d is ontgrendeld.\n"
 
-#: lib/luks1/keymanage.c:917 src/cryptsetup.c:732 src/cryptsetup.c:916
+#: lib/luks1/keymanage.c:925 src/cryptsetup.c:732 src/cryptsetup.c:916
 msgid "No key available with this passphrase.\n"
 msgstr "Geen sleutel beschikbaar met dit wachtwoord.\n"
 
-#: lib/luks1/keymanage.c:935
+#: lib/luks1/keymanage.c:943
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
 msgstr "Sleutelplaats %d is ongeldig, selecteer een sleutelplaats tussen 0 en %d.\n"
 
-#: lib/luks1/keymanage.c:949
+#: lib/luks1/keymanage.c:957
 #, c-format
 msgid "Cannot wipe device %s.\n"
 msgstr "Kan apparaat %s niet wissen.\n"
@@ -1022,32 +1024,32 @@ msgstr "Discardaanvragen (alias TRIM) op dit apparaat toelaten."
 msgid "Device or file with separated LUKS header."
 msgstr "Apparaat of bestand met verschillende LUKS-koptekst."
 
-#: src/cryptsetup.c:1322
+#: src/cryptsetup.c:1324
 msgid "[OPTION...] <action> <action-specific>]"
 msgstr "[OPTIE…] <actie> <actie-specifiek>]"
 
-#: src/cryptsetup.c:1362
+#: src/cryptsetup.c:1364
 msgid "Argument <action> missing."
 msgstr "Argument <actie> ontbreekt."
 
-#: src/cryptsetup.c:1368
+#: src/cryptsetup.c:1370
 msgid "Unknown action."
 msgstr "Onbekende actie."
 
-#: src/cryptsetup.c:1383
+#: src/cryptsetup.c:1385
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: vereist %s als argumenten"
 
-#: src/cryptsetup.c:1392
+#: src/cryptsetup.c:1394
 msgid "Option --shared is allowed only for create operation.\n"
 msgstr "Optie --shared wordt enkel ondersteund voor de create-opdracht.\n"
 
-#: src/cryptsetup.c:1401
+#: src/cryptsetup.c:1403
 msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
 msgstr "Optie --allow-discards wordt enkel ondersteund voor de luksOpen-, loopaesOpen- en create-opdrachten.\n"
 
-#: src/cryptsetup.c:1410
+#: src/cryptsetup.c:1412
 msgid ""
 "Option --key-size is allowed only for luksFormat, create and loopaesOpen.\n"
 "To limit read from keyfile use --keyfile-size=(bytes)."
@@ -1055,46 +1057,52 @@ msgstr ""
 "Optie --key-size is enkel toegestaan bij luksFormat en de create- en loopaesOpen-opdrachten.\n"
 "Om de lezing uit een sleutelbestand te beperken, gebruik --keyfile-size=(bytes)."
 
-#: src/cryptsetup.c:1417
+#: src/cryptsetup.c:1419
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Sleutelgrootte moet een meervoud zijn van 8 bits"
 
-#: src/cryptsetup.c:1424
+#: src/cryptsetup.c:1426
 msgid "Key slot is invalid."
 msgstr "Sleutelplaats is ongeldig."
 
-#: src/cryptsetup.c:1431
+#: src/cryptsetup.c:1433
 msgid "Option --key-file takes precedence over specified key file argument.\n"
 msgstr "Optie --key-file krijgt voorrang over het gespecificeerde sleutelbestandsargument.\n"
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1441
 msgid "Negative number for option not permitted."
 msgstr "Een negatief getal wordt niet toegestaan voor deze optie."
 
-#: src/cryptsetup.c:1444
+#: src/cryptsetup.c:1446
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Slechts een enkel gebruik van de opties --use-[u]random is toegestaan."
 
-#: src/cryptsetup.c:1448
+#: src/cryptsetup.c:1450
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "OPtie --use-[u]random is enkel toegestaan bij luksFormat."
 
-#: src/cryptsetup.c:1452
+#: src/cryptsetup.c:1454
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgstr "Optie --uuid is enkel toegestaan bij luksFormat en luksUUID."
 
-#: src/cryptsetup.c:1456
+#: src/cryptsetup.c:1458
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Optie --align-payload is enkel toegestaan voor luksFormat."
 
-#: src/cryptsetup.c:1461
+#: src/cryptsetup.c:1463
 msgid "Option --skip is supported only for create and loopaesOpen commands.\n"
 msgstr "Optie --skip wordt enkel ondersteund voor de create- en loopaesOpen-opdrachten.\n"
 
-#: src/cryptsetup.c:1466
+#: src/cryptsetup.c:1468
 msgid "Option --offset is supported only for create and loopaesOpen commands.\n"
 msgstr "Optie --offset wordt enkel ondersteund voor de create- en loopaesOpen-opdrachten.\n"
 
+#~ msgid "Device %s is busy.\n"
+#~ msgstr "Apparaat %s is bezig.\n"
+
+#~ msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
+#~ msgstr "Kan apparaat %s niet gebruiken (cryptsegmenten overlappen of worden door een ander apparaat gebruikt).\n"
+
 #~ msgid "Cannot read %d byte from key file %s.\n"
 #~ msgid_plural "Cannot read %d bytes from key file %s.\n"
 #~ msgstr[0] "Kan %d byte uit sleutelbestand %s niet lezen.\n"
index 0235ee0..8bee659 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup 1.4.2\n"
+"Project-Id-Version: cryptsetup 1.4.3\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2012-04-03 00:12+0200\n"
-"PO-Revision-Date: 2012-04-05 20:45+0200\n"
+"POT-Creation-Date: 2012-05-22 23:31+0200\n"
+"PO-Revision-Date: 2012-05-25 20:49+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -21,12 +21,12 @@ msgstr ""
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
 msgstr "Nie mo¿na zainicjowaæ device-mappera. Czy modu³ j±dra dm_mod jest wczytany?\n"
 
-#: lib/libdevmapper.c:412
+#: lib/libdevmapper.c:423
 #, c-format
 msgid "DM-UUID for device %s was truncated.\n"
 msgstr "DM-UUID dla urz±dzenia %s zosta³ skrócony.\n"
 
-#: lib/random.c:74
+#: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 "Please move mouse or type some text in another window to gather some random events.\n"
@@ -34,20 +34,20 @@ msgstr ""
 "Entropia w systemie wyczerpa³a siê w trakcie generowania klucza wolumenu.\n"
 "Proszê poruszaæ mysz± albo wpisaæ trochê tekstu w innym oknie w celu zebrania zdarzeñ losowych.\n"
 
-#: lib/random.c:78
+#: lib/random.c:79
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Generowanie klucza (gotowe %d%%).\n"
 
-#: lib/random.c:167
+#: lib/random.c:168
 msgid "Fatal error during RNG initialisation.\n"
 msgstr "B³±d krytyczny w trakcie inicjalizacji RNG.\n"
 
-#: lib/random.c:194
+#: lib/random.c:205
 msgid "Unknown RNG quality requested.\n"
 msgstr "Nieznane ¿±danie jako¶ci RNG.\n"
 
-#: lib/random.c:199
+#: lib/random.c:210
 #, c-format
 msgid "Error %d reading from RNG: %s\n"
 msgstr "B³±d %d podczas odczytu z RNG: %s\n"
@@ -84,156 +84,151 @@ msgstr "Numer klucza %d jest b
 msgid "Key slot %d is full, please select another one.\n"
 msgstr "Miejsce na klucz %d jest pe³ne, proszê wybraæ inne.\n"
 
-#: lib/setup.c:340
+#: lib/setup.c:345
 #, c-format
 msgid "Enter passphrase for %s: "
 msgstr "Has³o dla %s: "
 
-#: lib/setup.c:500
+#: lib/setup.c:505
 msgid "Cannot find a free loopback device.\n"
 msgstr "Nie znaleziono wolnego urz±dzenia loopback.\n"
 
-#: lib/setup.c:508
+#: lib/setup.c:513
 msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
 msgstr "Nie uda³o siê pod³±czyæ urz±dzenia loopback (wymagane urz±dzenie loop z flag± autoclear).\n"
 
-#: lib/setup.c:564
+#: lib/setup.c:569
 #, c-format
 msgid "LUKS header detected but device %s is too small.\n"
 msgstr "Wykryto nag³ówek LUKS, ale urz±dzenie %s jest zbyt ma³e.\n"
 
-#: lib/setup.c:580 lib/setup.c:1068
+#: lib/setup.c:585 lib/setup.c:1073
 msgid "This operation is not supported for this device type.\n"
 msgstr "Ta operacja nie jest obs³ugiwana dla tego rodzaju urz±dzenia.\n"
 
-#: lib/setup.c:643 lib/setup.c:1035 lib/setup.c:1808
+#: lib/setup.c:648 lib/setup.c:1040 lib/setup.c:1810
 #, c-format
 msgid "Device %s is not active.\n"
 msgstr "Urz±dzenie %s nie jest aktywne.\n"
 
-#: lib/setup.c:661
+#: lib/setup.c:666
 #, c-format
 msgid "Underlying device for crypt device %s disappeared.\n"
 msgstr "Urzêdzenie stoj±ce za urz±dzeniem szyfrowanym %s znik³o.\n"
 
-#: lib/setup.c:775
+#: lib/setup.c:780
 msgid "Invalid plain crypt parameters.\n"
 msgstr "B³êdne parametry szyfru plain.\n"
 
-#: lib/setup.c:780 lib/setup.c:885
+#: lib/setup.c:785 lib/setup.c:890
 msgid "Invalid key size.\n"
 msgstr "B³êdny rozmiar klucza.\n"
 
-#: lib/setup.c:821
+#: lib/setup.c:826
 msgid "Can't format LUKS without device.\n"
 msgstr "Nie mo¿na sformatowaæ LUKS-a bez urz±dzenia.\n"
 
-#: lib/setup.c:859
+#: lib/setup.c:864
 #, c-format
 msgid "Cannot format device %s which is still in use.\n"
 msgstr "Nie mo¿na sformatowaæ urz±dzenia %s, które jest nadal w u¿yciu.\n"
 
-#: lib/setup.c:862
+#: lib/setup.c:867
 #, c-format
 msgid "Cannot wipe header on device %s.\n"
 msgstr "Nie mo¿na wyczy¶ciæ nag³ówka na urz±dzeniu %s.\n"
 
-#: lib/setup.c:880
+#: lib/setup.c:885
 msgid "Can't format LOOPAES without device.\n"
 msgstr "Nie mo¿na sformatowaæ urz±dzenia LUKSAES bez urz±dzenia.\n"
 
-#: lib/setup.c:940
+#: lib/setup.c:945
 #, c-format
 msgid "Unknown crypt device type %s requested.\n"
 msgstr "Nieznany typ ¿±danego urz±dzenia szyfruj±cego %s.\n"
 
-#: lib/setup.c:1083
+#: lib/setup.c:1088
 msgid "Do you really want to change UUID of device?"
 msgstr "Czy na pewno zmieniæ UUID urz±dzenia?"
 
-#: lib/setup.c:1168 lib/setup.c:1215 lib/setup.c:1264 lib/setup.c:1330
-#: lib/setup.c:1406 lib/setup.c:1487 lib/setup.c:1533 lib/setup.c:1868
-#: lib/setup.c:1973 lib/setup.c:2112
+#: lib/setup.c:1173 lib/setup.c:1220 lib/setup.c:1269 lib/setup.c:1335
+#: lib/setup.c:1411 lib/setup.c:1492 lib/setup.c:1538 lib/setup.c:1875
+#: lib/setup.c:1980 lib/setup.c:2119
 msgid "This operation is supported only for LUKS device.\n"
 msgstr "Ta operacja jest obs³ugiwana tylko na urz±dzeniach LUKS.\n"
 
-#: lib/setup.c:1175
+#: lib/setup.c:1180
 #, c-format
 msgid "Volume %s is not active.\n"
 msgstr "Wolumen %s nie jest aktywny.\n"
 
-#: lib/setup.c:1187
+#: lib/setup.c:1192
 #, c-format
 msgid "Volume %s is already suspended.\n"
 msgstr "Wolumen %s ju¿ zosta³ zatrzymany.\n"
 
-#: lib/setup.c:1225 lib/setup.c:1274
+#: lib/setup.c:1230 lib/setup.c:1279
 #, c-format
 msgid "Volume %s is not suspended.\n"
 msgstr "Wolumen %s nie jest zatrzymany.\n"
 
-#: lib/setup.c:1281 lib/setup.c:1658 lib/setup.c:1672 src/cryptsetup.c:343
+#: lib/setup.c:1286 lib/setup.c:1663 lib/setup.c:1677 src/cryptsetup.c:343
 msgid "Enter passphrase: "
 msgstr "Has³o: "
 
-#: lib/setup.c:1344 lib/setup.c:1420
+#: lib/setup.c:1349 lib/setup.c:1425
 msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
 msgstr "Nie mo¿na dodaæ klucza, wszystkie miejsca na klucze wy³±czone i nie podano klucza wolumenu.\n"
 
-#: lib/setup.c:1353 lib/setup.c:1426 lib/setup.c:1430
+#: lib/setup.c:1358 lib/setup.c:1431 lib/setup.c:1435
 msgid "Enter any passphrase: "
 msgstr "Dowolne has³o: "
 
-#: lib/setup.c:1370 lib/setup.c:1443 lib/setup.c:1447 lib/setup.c:1510
+#: lib/setup.c:1375 lib/setup.c:1448 lib/setup.c:1452 lib/setup.c:1515
 msgid "Enter new passphrase for key slot: "
 msgstr "Nowe has³o dla klucza: "
 
-#: lib/setup.c:1501 lib/setup.c:1762 lib/setup.c:1775 lib/setup.c:1879
+#: lib/setup.c:1506 lib/setup.c:1767 lib/setup.c:1780 lib/setup.c:1886
 msgid "Volume key does not match the volume.\n"
 msgstr "Klucz wolumenu nie pasuje do wolumenu.\n"
 
-#: lib/setup.c:1539
+#: lib/setup.c:1544
 #, c-format
 msgid "Key slot %d is invalid.\n"
 msgstr "Numer klucza %d jest nieprawid³owy.\n"
 
-#: lib/setup.c:1544
+#: lib/setup.c:1549
 #, c-format
 msgid "Key slot %d is not used.\n"
 msgstr "Klucz %d nie jest u¿ywany.\n"
 
-#: lib/setup.c:1574 lib/setup.c:1646 lib/setup.c:1738
+#: lib/setup.c:1579 lib/setup.c:1651 lib/setup.c:1743
 #, c-format
 msgid "Device %s already exists.\n"
 msgstr "Urz±dzenie %s ju¿ istnieje.\n"
 
-#: lib/setup.c:1749
+#: lib/setup.c:1754
 msgid "Incorrect volume key specified for plain device.\n"
 msgstr "Podano niew³a¶ciwy klucz wolumenu dla zwyk³ego urz±dzenia.\n"
 
-#: lib/setup.c:1780
+#: lib/setup.c:1785
 msgid "Device type is not properly initialised.\n"
 msgstr "Typ urz±dzenia nie zosta³ w³a¶ciwie zainicjalizowany.\n"
 
-#: lib/setup.c:1804
-#, c-format
-msgid "Device %s is busy.\n"
-msgstr "Urz±dzenie %s jest zajête.\n"
-
-#: lib/setup.c:1812
+#: lib/setup.c:1814
 #, c-format
 msgid "Invalid device %s.\n"
 msgstr "B³êdne urz±dzenie %s.\n"
 
-#: lib/setup.c:1835
+#: lib/setup.c:1842
 msgid "Volume key buffer too small.\n"
 msgstr "Bufor klucza wolumenu zbyt ma³y.\n"
 
-#: lib/setup.c:1843
+#: lib/setup.c:1850
 msgid "Cannot retrieve volume key for plain device.\n"
 msgstr "Nie mo¿na odtworzyæ klucza wolumenu dla zwyk³ego urz±dzenia.\n"
 
-#: lib/setup.c:1849
+#: lib/setup.c:1856
 #, c-format
 msgid "This operation is not supported for %s crypt device.\n"
 msgstr "Ta operacja nie jest obs³ugiwana dla urz±dzenia szyfruj±cego %s.\n"
@@ -285,92 +280,95 @@ msgstr "
 msgid "Device %s has zero size.\n"
 msgstr "Urz±dzenie %s ma zerowy rozmiar.\n"
 
-#: lib/utils.c:415 lib/luks1/keymanage.c:524
+#: lib/utils.c:415 lib/luks1/keymanage.c:532
 #, c-format
 msgid "Device %s is too small.\n"
 msgstr "Urz±dzenie %s jest zbyt ma³e.\n"
 
-#: lib/utils.c:423
-#, c-format
-msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
-msgstr "Nie mo¿na u¿yæ urz±dzenia %s (segmenty szyfrowane zachodz± na siebie lub s± u¿ywane przez inne urz±dzenie).\n"
-
-#: lib/utils.c:450
+#: lib/utils.c:439
 msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
 msgstr "UWAGA! Pamiêæ mo¿e nie byæ bezpieczna. Czy jeste¶ rootem?\n"
 
-#: lib/utils.c:456
+#: lib/utils.c:445
 msgid "Cannot get process priority.\n"
 msgstr "Nie mo¿na odczytaæ priorytetu procesu.\n"
 
-#: lib/utils.c:459 lib/utils.c:472
+#: lib/utils.c:448 lib/utils.c:461
 #, c-format
 msgid "setpriority %d failed: %s\n"
 msgstr "setpriority %d nie powiod³o siê: %s\n"
 
-#: lib/utils.c:470
+#: lib/utils.c:459
 msgid "Cannot unlock memory.\n"
 msgstr "Nie mo¿na odblokowaæ pamiêci.\n"
 
-#: lib/utils_crypt.c:212 lib/utils_crypt.c:225 lib/utils_crypt.c:329
-#: lib/utils_crypt.c:345
+#: lib/utils_crypt.c:221 lib/utils_crypt.c:234 lib/utils_crypt.c:338
+#: lib/utils_crypt.c:354
 msgid "Out of memory while reading passphrase.\n"
 msgstr "Brak pamiêci podczas odczytu has³a.\n"
 
-#: lib/utils_crypt.c:217 lib/utils_crypt.c:232
+#: lib/utils_crypt.c:226 lib/utils_crypt.c:241
 msgid "Error reading passphrase from terminal.\n"
 msgstr "B³±d podczas odczytu has³a z terminala.\n"
 
-#: lib/utils_crypt.c:230
+#: lib/utils_crypt.c:239
 msgid "Verify passphrase: "
 msgstr "Weryfikacja has³a: "
 
-#: lib/utils_crypt.c:237
+#: lib/utils_crypt.c:246
 msgid "Passphrases do not match.\n"
 msgstr "Has³a nie zgadzaj± siê.\n"
 
-#: lib/utils_crypt.c:278
+#: lib/utils_crypt.c:287
 msgid "Cannot use offset with terminal input.\n"
 msgstr "Nie mo¿na u¿yæ offsetu, je¶li wej¶ciem jest terminal.\n"
 
-#: lib/utils_crypt.c:297
+#: lib/utils_crypt.c:306
 msgid "Failed to open key file.\n"
 msgstr "Nie uda³o siê otworzyæ pliku klucza.\n"
 
-#: lib/utils_crypt.c:306
+#: lib/utils_crypt.c:315
 msgid "Failed to stat key file.\n"
 msgstr "Nie uda³o siê wykonaæ stat na pliku klucza.\n"
 
-#: lib/utils_crypt.c:314 lib/utils_crypt.c:336
+#: lib/utils_crypt.c:323 lib/utils_crypt.c:345
 msgid "Cannot seek to requested keyfile offset.\n"
 msgstr "Nie mo¿na przemie¶ciæ siê do ¿±danego po³o¿enia pliku klucza.\n"
 
-#: lib/utils_crypt.c:353
+#: lib/utils_crypt.c:362
 msgid "Error reading passphrase.\n"
 msgstr "B³±d podczas odczytu has³a.\n"
 
-#: lib/utils_crypt.c:371
-msgid "Maximum keyfile size exceeeded.\n"
+#: lib/utils_crypt.c:380
+msgid "Maximum keyfile size exceeded.\n"
 msgstr "Przekroczono maksymalny rozmiar pliku klucza.\n"
 
-#: lib/utils_crypt.c:376
+#: lib/utils_crypt.c:385
 msgid "Cannot read requested amount of data.\n"
 msgstr "Nie mo¿na odczytaæ ¿±danej ilo¶ci danych.\n"
 
-#: lib/luks1/keyencryption.c:76
+#: lib/utils_fips.c:45
+msgid "FIPS checksum verification failed.\n"
+msgstr "Weryfikacja sumy kontrolnej FIPS nie powiod³a siê.\n"
+
+#: lib/utils_fips.c:49
+msgid "Running in FIPS mode.\n"
+msgstr "Dzia³anie w trybie FIPS.\n"
+
+#: lib/luks1/keyencryption.c:79
 #, c-format
 msgid "Unable to obtain sector size for %s"
 msgstr "Nie uda³o siê uzyskaæ rozmiaru sektora dla %s"
 
-#: lib/luks1/keyencryption.c:103
+#: lib/luks1/keyencryption.c:106
 msgid "Key size in XTS mode must be 256 or 512 bits.\n"
 msgstr "Rozmiar klucza w trybie XTS musi wynosiæ 256 lub 512 bitów.\n"
 
-#: lib/luks1/keyencryption.c:126
+#: lib/luks1/keyencryption.c:129
 msgid "Failed to obtain device mapper directory."
 msgstr "Nie uda³o siê uzyskaæ katalogu device mappera."
 
-#: lib/luks1/keyencryption.c:142
+#: lib/luks1/keyencryption.c:145
 #, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
@@ -381,11 +379,11 @@ msgstr ""
 "Proszê sprawdziæ, czy j±dro obs³uguje szyfr %s (wiêcej informacji w syslogu).\n"
 "%s"
 
-#: lib/luks1/keyencryption.c:152
+#: lib/luks1/keyencryption.c:155
 msgid "Failed to open temporary keystore device.\n"
 msgstr "Nie uda³o siê otworzyæ urz±dzenia do tymczasowego przechowywania kluczy.\n"
 
-#: lib/luks1/keyencryption.c:159
+#: lib/luks1/keyencryption.c:162
 msgid "Failed to access temporary keystore device.\n"
 msgstr "Nie uda³o siê uzyskaæ dostêpu do urz±dzenia do tymczasowego przechowywania kluczy.\n"
 
@@ -394,7 +392,7 @@ msgstr "Nie uda
 msgid "Requested file %s already exist.\n"
 msgstr "¯±dany plik %s ju¿ istnieje.\n"
 
-#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:391
+#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:399
 #, c-format
 msgid "Device %s is not a valid LUKS device.\n"
 msgstr "Urz±dzenie %s nie jest prawid³owym urz±dzeniem LUKS.\n"
@@ -448,8 +446,8 @@ msgstr ""
 "\n"
 "UWAGA: nag³ówek prawdziwego urz±dzenia ma inny UUID ni¿ kopia zapasowa!"
 
-#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:496
-#: lib/luks1/keymanage.c:530
+#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:504
+#: lib/luks1/keymanage.c:538
 #, c-format
 msgid "Cannot open device %s.\n"
 msgstr "Nie mo¿na otworzyæ urz±dzenia %s.\n"
@@ -459,122 +457,126 @@ msgid "Non standard key size, manual repair required.\n"
 msgstr "Niestandardowy rozmiar klucza, wymagana rêczna naprawa.\n"
 
 #: lib/luks1/keymanage.c:315
+msgid "Non standard keyslots alignment, manual repair required.\n"
+msgstr "Niestandardowe wyrównanie kluczy, wymagana rêczna naprawa.\n"
+
+#: lib/luks1/keymanage.c:321
 msgid "Repairing keyslots.\n"
 msgstr "Naprawianie kluczy.\n"
 
-#: lib/luks1/keymanage.c:326
+#: lib/luks1/keymanage.c:332
 msgid "Repair failed."
 msgstr "Naprawa nie powiod³a siê."
 
-#: lib/luks1/keymanage.c:333
+#: lib/luks1/keymanage.c:344
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u).\n"
 msgstr "Klucz %i: naprawiono offset (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:341
+#: lib/luks1/keymanage.c:352
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
 msgstr "Klucz %i: naprawiono pasy (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:352
+#: lib/luks1/keymanage.c:361
 #, c-format
 msgid "Keyslot %i: bogus partition signature.\n"
 msgstr "Klucz %i: b³êdna sygnatura partycji.\n"
 
-#: lib/luks1/keymanage.c:357
+#: lib/luks1/keymanage.c:366
 #, c-format
 msgid "Keyslot %i: salt wiped.\n"
 msgstr "Klucz %i: zarodek wyczyszczony.\n"
 
-#: lib/luks1/keymanage.c:369
+#: lib/luks1/keymanage.c:377
 msgid "Writing LUKS header to disk.\n"
 msgstr "Zapis nag³ówka LUKS na dysk.\n"
 
-#: lib/luks1/keymanage.c:394
+#: lib/luks1/keymanage.c:402
 #, c-format
 msgid "Unsupported LUKS version %d.\n"
 msgstr "Nieobs³ugiwana wersja LUKS %d.\n"
 
-#: lib/luks1/keymanage.c:400 lib/luks1/keymanage.c:602
+#: lib/luks1/keymanage.c:408 lib/luks1/keymanage.c:610
 #, c-format
 msgid "Requested LUKS hash %s is not supported.\n"
 msgstr "¯±dany skrót LUKS %s nie jest obs³ugiwany.\n"
 
-#: lib/luks1/keymanage.c:415
+#: lib/luks1/keymanage.c:423
 #, c-format
 msgid "LUKS keyslot %u is invalid.\n"
 msgstr "Numer klucza LUKS %u jest nieprawid³owy.\n"
 
-#: lib/luks1/keymanage.c:429 src/cryptsetup.c:535
+#: lib/luks1/keymanage.c:437 src/cryptsetup.c:535
 msgid "No known problems detected for LUKS header.\n"
 msgstr "W nag³ówku LUKS nie wykryto ¿adnych znanych problemów.\n"
 
-#: lib/luks1/keymanage.c:463
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Cannot open file %s.\n"
 msgstr "Nie mo¿na otworzyæ pliku %s.\n"
 
-#: lib/luks1/keymanage.c:551
+#: lib/luks1/keymanage.c:559
 #, c-format
 msgid "Error during update of LUKS header on device %s.\n"
 msgstr "B³±d podczas uaktualniania nag³ówka LUKS na urz±dzeniu %s.\n"
 
-#: lib/luks1/keymanage.c:558
+#: lib/luks1/keymanage.c:566
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s.\n"
 msgstr "B³êd podczas ponownego odczytu nag³ówka LUKS po uaktualnieniu na urz±dzeniu %s.\n"
 
-#: lib/luks1/keymanage.c:570
+#: lib/luks1/keymanage.c:578
 #, c-format
 msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
 msgstr "Niekompatybilne opcje PBKDF2 (przy u¿yciu algorytmu skrótu %s).\n"
 
-#: lib/luks1/keymanage.c:607 lib/luks1/keymanage.c:689
+#: lib/luks1/keymanage.c:615 lib/luks1/keymanage.c:697
 msgid "Wrong LUKS UUID format provided.\n"
 msgstr "Podano z³y format LUKS UUID.\n"
 
-#: lib/luks1/keymanage.c:632
+#: lib/luks1/keymanage.c:640
 msgid "Cannot create LUKS header: reading random salt failed.\n"
 msgstr "Nie mo¿na utworzyæ nag³ówka LUKS: odczyt losowego zarodka nie powiód³ siê.\n"
 
-#: lib/luks1/keymanage.c:649
+#: lib/luks1/keymanage.c:657
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
 msgstr "Nie mo¿na utworzyæ nag³ówka LUKS: uzyskanie skrótu nag³ówka nie powiod³o siê (przy u¿yciu algorytmu %s).\n"
 
-#: lib/luks1/keymanage.c:714
+#: lib/luks1/keymanage.c:722
 #, c-format
 msgid "Key slot %d active, purge first.\n"
 msgstr "Klucz numer %d jest aktywny, nale¿y go najpierw wyczy¶ciæ.\n"
 
-#: lib/luks1/keymanage.c:719
+#: lib/luks1/keymanage.c:727
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
 msgstr "Klucz %d zawiera zbyt ma³o pasów. Zmieniony nag³ówek?\n"
 
-#: lib/luks1/keymanage.c:786
+#: lib/luks1/keymanage.c:794
 msgid "Failed to write to key storage.\n"
 msgstr "Nie uda³o siê zapisaæ klucza.\n"
 
-#: lib/luks1/keymanage.c:871
+#: lib/luks1/keymanage.c:879
 msgid "Failed to read from key storage.\n"
 msgstr "Nie uda³o siê odczytaæ klucza.\n"
 
-#: lib/luks1/keymanage.c:881
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d unlocked.\n"
 msgstr "Klucz numer %d odblokowany.\n"
 
-#: lib/luks1/keymanage.c:917 src/cryptsetup.c:732 src/cryptsetup.c:916
+#: lib/luks1/keymanage.c:925 src/cryptsetup.c:732 src/cryptsetup.c:916
 msgid "No key available with this passphrase.\n"
 msgstr "Dla tego has³a nie ma dostêpnego klucza.\n"
 
-#: lib/luks1/keymanage.c:935
+#: lib/luks1/keymanage.c:943
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
 msgstr "Numer klucza %d jest b³êdny, proszê wybraæ numer od 0 do %d.\n"
 
-#: lib/luks1/keymanage.c:949
+#: lib/luks1/keymanage.c:957
 #, c-format
 msgid "Cannot wipe device %s.\n"
 msgstr "Nie mo¿na wyczy¶ciæ urz±dzenia %s.\n"
@@ -1023,32 +1025,32 @@ msgstr "Zezwolenie na 
 msgid "Device or file with separated LUKS header."
 msgstr "Urz±dzenie lub plik z osobnym nag³ówkiem LUKS."
 
-#: src/cryptsetup.c:1322
+#: src/cryptsetup.c:1324
 msgid "[OPTION...] <action> <action-specific>]"
 msgstr "[OPCJA...] <akcja> <parametry-akcji>]"
 
-#: src/cryptsetup.c:1362
+#: src/cryptsetup.c:1364
 msgid "Argument <action> missing."
 msgstr "Brak argumentu <akcja>."
 
-#: src/cryptsetup.c:1368
+#: src/cryptsetup.c:1370
 msgid "Unknown action."
 msgstr "Nieznana akcja."
 
-#: src/cryptsetup.c:1383
+#: src/cryptsetup.c:1385
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: wymaga %s jako argumentów"
 
-#: src/cryptsetup.c:1392
+#: src/cryptsetup.c:1394
 msgid "Option --shared is allowed only for create operation.\n"
 msgstr "Opcja --shared jest dozwolona tylko dla operacji create.\n"
 
-#: src/cryptsetup.c:1401
+#: src/cryptsetup.c:1403
 msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
 msgstr "Opcja --allow-discards jest obs³ugiwana tylko dla poleceñ luksOpen, loopaesOpen i create.\n"
 
-#: src/cryptsetup.c:1410
+#: src/cryptsetup.c:1412
 msgid ""
 "Option --key-size is allowed only for luksFormat, create and loopaesOpen.\n"
 "To limit read from keyfile use --keyfile-size=(bytes)."
@@ -1057,42 +1059,42 @@ msgstr ""
 "i loopaesOpen.\n"
 "Aby ograniczyæ odczyt z pliku klucza, nale¿y u¿yæ --keyfile-size=(bajty)."
 
-#: src/cryptsetup.c:1417
+#: src/cryptsetup.c:1419
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Rozmiar klucza musi byæ wielokrotno¶ci± 8 bitów"
 
-#: src/cryptsetup.c:1424
+#: src/cryptsetup.c:1426
 msgid "Key slot is invalid."
 msgstr "Numer klucza jest nieprawid³owy."
 
-#: src/cryptsetup.c:1431
+#: src/cryptsetup.c:1433
 msgid "Option --key-file takes precedence over specified key file argument.\n"
 msgstr "Opcja --key-file ma priorytet nad podanym argumentem pliku klucza.\n"
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1441
 msgid "Negative number for option not permitted."
 msgstr "Liczba ujemna nie jest dozwolona dla tej opcji."
 
-#: src/cryptsetup.c:1444
+#: src/cryptsetup.c:1446
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Dozwolona jest tylko jedna z opcji --use-[u]random."
 
-#: src/cryptsetup.c:1448
+#: src/cryptsetup.c:1450
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "Opcja --use-[u]random jest dozwolona tylko dla operacji luksFormat."
 
-#: src/cryptsetup.c:1452
+#: src/cryptsetup.c:1454
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgstr "Opcja --uuid jest dozwolona tylko dla operacji luksFormat i luksUUID."
 
-#: src/cryptsetup.c:1456
+#: src/cryptsetup.c:1458
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Opcja --align-payload jest dozwolona tylko dla operacji luksFormat."
 
-#: src/cryptsetup.c:1461
+#: src/cryptsetup.c:1463
 msgid "Option --skip is supported only for create and loopaesOpen commands.\n"
 msgstr "Opcja --skip jest obs³ugiwana tylko dla poleceñ create i loopaesOpen.\n"
 
-#: src/cryptsetup.c:1466
+#: src/cryptsetup.c:1468
 msgid "Option --offset is supported only for create and loopaesOpen commands.\n"
 msgstr "Opcja --offset jest obs³ugiwana tylko dla poleceñ create i loopaesOpen.\n"
index eb3a233..1eae811 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -5,10 +5,10 @@
 # Yuri Chornoivan <yurchor@ukr.net>, 2012.
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup 1.4.2\n"
+"Project-Id-Version: cryptsetup 1.4.3\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2012-04-03 00:12+0200\n"
-"PO-Revision-Date: 2012-04-07 16:52+0300\n"
+"POT-Creation-Date: 2012-05-22 23:31+0200\n"
+"PO-Revision-Date: 2012-05-25 22:50+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -22,12 +22,12 @@ msgstr ""
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
 msgstr "Не вдалося ініціалізувати device-mapper. Чи завантажено модуль ядра dm_mod?\n"
 
-#: lib/libdevmapper.c:412
+#: lib/libdevmapper.c:423
 #, c-format
 msgid "DM-UUID for device %s was truncated.\n"
 msgstr "DM-UUID для пристрою %s було обрізано.\n"
 
-#: lib/random.c:74
+#: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 "Please move mouse or type some text in another window to gather some random events.\n"
@@ -35,20 +35,20 @@ msgstr ""
 "Під час створення ключа тому було вичерпано буфер ентропії системи.\n"
 "Будь ласка, пересуньте вказівник миші або наберіть якийсь текст у іншому вікні, щоб зібрати додаткові дані на основі випадкових подій.\n"
 
-#: lib/random.c:78
+#: lib/random.c:79
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Створення ключа (виконано %d%%).\n"
 
-#: lib/random.c:167
+#: lib/random.c:168
 msgid "Fatal error during RNG initialisation.\n"
 msgstr "Критична помилка під час ініціалізації RNG.\n"
 
-#: lib/random.c:194
+#: lib/random.c:205
 msgid "Unknown RNG quality requested.\n"
 msgstr "Надійшов запит щодо невідомого RNG якості.\n"
 
-#: lib/random.c:199
+#: lib/random.c:210
 #, c-format
 msgid "Error %d reading from RNG: %s\n"
 msgstr "Помилка %d під час читання з RNG: %s\n"
@@ -85,156 +85,151 @@ msgstr "Слот ключа %d є некоректним, будь ласка, 
 msgid "Key slot %d is full, please select another one.\n"
 msgstr "Слот ключа %d заповнено, будь ласка, виберіть інший.\n"
 
-#: lib/setup.c:340
+#: lib/setup.c:345
 #, c-format
 msgid "Enter passphrase for %s: "
 msgstr "Введіть пароль до %s: "
 
-#: lib/setup.c:500
+#: lib/setup.c:505
 msgid "Cannot find a free loopback device.\n"
 msgstr "Не вдалося знайти вільний петльовий пристрій.\n"
 
-#: lib/setup.c:508
+#: lib/setup.c:513
 msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
 msgstr "Спроба долучення петльового пристрою зазнала невдачі (потрібен петльовий пристрій з встановленим прапорцем автоматичного спорожнення).\n"
 
-#: lib/setup.c:564
+#: lib/setup.c:569
 #, c-format
 msgid "LUKS header detected but device %s is too small.\n"
 msgstr "Виявлено заголовок LUKS, але об’єм пристрою %s є надто малим.\n"
 
-#: lib/setup.c:580 lib/setup.c:1068
+#: lib/setup.c:585 lib/setup.c:1073
 msgid "This operation is not supported for this device type.\n"
 msgstr "Підтримки цієї дії для цього типу пристроїв не передбачено.\n"
 
-#: lib/setup.c:643 lib/setup.c:1035 lib/setup.c:1808
+#: lib/setup.c:648 lib/setup.c:1040 lib/setup.c:1810
 #, c-format
 msgid "Device %s is not active.\n"
 msgstr "Пристрій %s є неактивним.\n"
 
-#: lib/setup.c:661
+#: lib/setup.c:666
 #, c-format
 msgid "Underlying device for crypt device %s disappeared.\n"
 msgstr "Зник основний пристрій для пристрою для шифрування %s.\n"
 
-#: lib/setup.c:775
+#: lib/setup.c:780
 msgid "Invalid plain crypt parameters.\n"
 msgstr "Некоректні параметри звичайного шифрування.\n"
 
-#: lib/setup.c:780 lib/setup.c:885
+#: lib/setup.c:785 lib/setup.c:890
 msgid "Invalid key size.\n"
 msgstr "Некоректний розмір ключа.\n"
 
-#: lib/setup.c:821
+#: lib/setup.c:826
 msgid "Can't format LUKS without device.\n"
 msgstr "Форматування LUKS без пристрою неможливе.\n"
 
-#: lib/setup.c:859
+#: lib/setup.c:864
 #, c-format
 msgid "Cannot format device %s which is still in use.\n"
 msgstr "Не можна форматувати пристрій %s, який перебуває у користуванні.\n"
 
-#: lib/setup.c:862
+#: lib/setup.c:867
 #, c-format
 msgid "Cannot wipe header on device %s.\n"
 msgstr "Не можна витирати заголовок на пристрої %s.\n"
 
-#: lib/setup.c:880
+#: lib/setup.c:885
 msgid "Can't format LOOPAES without device.\n"
 msgstr "Не можна форматувати LOOPAES без пристрою.\n"
 
-#: lib/setup.c:940
+#: lib/setup.c:945
 #, c-format
 msgid "Unknown crypt device type %s requested.\n"
 msgstr "Надіслано запит щодо невідомого типу пристрою шифрування, %s.\n"
 
-#: lib/setup.c:1083
+#: lib/setup.c:1088
 msgid "Do you really want to change UUID of device?"
 msgstr "Ви справді хочете змінити UUID пристрою?"
 
-#: lib/setup.c:1168 lib/setup.c:1215 lib/setup.c:1264 lib/setup.c:1330
-#: lib/setup.c:1406 lib/setup.c:1487 lib/setup.c:1533 lib/setup.c:1868
-#: lib/setup.c:1973 lib/setup.c:2112
+#: lib/setup.c:1173 lib/setup.c:1220 lib/setup.c:1269 lib/setup.c:1335
+#: lib/setup.c:1411 lib/setup.c:1492 lib/setup.c:1538 lib/setup.c:1875
+#: lib/setup.c:1980 lib/setup.c:2119
 msgid "This operation is supported only for LUKS device.\n"
 msgstr "Підтримку цієї дії передбачено лише для пристроїв LUKS.\n"
 
-#: lib/setup.c:1175
+#: lib/setup.c:1180
 #, c-format
 msgid "Volume %s is not active.\n"
 msgstr "Том %s не є активним.\n"
 
-#: lib/setup.c:1187
+#: lib/setup.c:1192
 #, c-format
 msgid "Volume %s is already suspended.\n"
 msgstr "Том %s вже приспано.\n"
 
-#: lib/setup.c:1225 lib/setup.c:1274
+#: lib/setup.c:1230 lib/setup.c:1279
 #, c-format
 msgid "Volume %s is not suspended.\n"
 msgstr "Том %s не приспано.\n"
 
-#: lib/setup.c:1281 lib/setup.c:1658 lib/setup.c:1672 src/cryptsetup.c:343
+#: lib/setup.c:1286 lib/setup.c:1663 lib/setup.c:1677 src/cryptsetup.c:343
 msgid "Enter passphrase: "
 msgstr "Введіть пароль: "
 
-#: lib/setup.c:1344 lib/setup.c:1420
+#: lib/setup.c:1349 lib/setup.c:1425
 msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
 msgstr "Не вдалося додати слот ключа, всі слоти вимкнено і не вказано ключа тому.\n"
 
-#: lib/setup.c:1353 lib/setup.c:1426 lib/setup.c:1430
+#: lib/setup.c:1358 lib/setup.c:1431 lib/setup.c:1435
 msgid "Enter any passphrase: "
 msgstr "Введіть будь-який пароль: "
 
-#: lib/setup.c:1370 lib/setup.c:1443 lib/setup.c:1447 lib/setup.c:1510
+#: lib/setup.c:1375 lib/setup.c:1448 lib/setup.c:1452 lib/setup.c:1515
 msgid "Enter new passphrase for key slot: "
 msgstr "Введіть новий пароль для слота ключа: "
 
-#: lib/setup.c:1501 lib/setup.c:1762 lib/setup.c:1775 lib/setup.c:1879
+#: lib/setup.c:1506 lib/setup.c:1767 lib/setup.c:1780 lib/setup.c:1886
 msgid "Volume key does not match the volume.\n"
 msgstr "Ключ тому не відповідає тому.\n"
 
-#: lib/setup.c:1539
+#: lib/setup.c:1544
 #, c-format
 msgid "Key slot %d is invalid.\n"
 msgstr "Слот ключа %d є некоректним.\n"
 
-#: lib/setup.c:1544
+#: lib/setup.c:1549
 #, c-format
 msgid "Key slot %d is not used.\n"
 msgstr "Слот ключа %d не використовується.\n"
 
-#: lib/setup.c:1574 lib/setup.c:1646 lib/setup.c:1738
+#: lib/setup.c:1579 lib/setup.c:1651 lib/setup.c:1743
 #, c-format
 msgid "Device %s already exists.\n"
 msgstr "Пристрій %s вже існує.\n"
 
-#: lib/setup.c:1749
+#: lib/setup.c:1754
 msgid "Incorrect volume key specified for plain device.\n"
 msgstr "Для пристрою зі звичайним шифруванням вказано помилковий ключ тому.\n"
 
-#: lib/setup.c:1780
+#: lib/setup.c:1785
 msgid "Device type is not properly initialised.\n"
 msgstr "Тип пристрою не ініціалізовано належним чином.\n"
 
-#: lib/setup.c:1804
-#, c-format
-msgid "Device %s is busy.\n"
-msgstr "Пристрій %s зайнято.\n"
-
-#: lib/setup.c:1812
+#: lib/setup.c:1814
 #, c-format
 msgid "Invalid device %s.\n"
 msgstr "Некоректний пристрій %s.\n"
 
-#: lib/setup.c:1835
+#: lib/setup.c:1842
 msgid "Volume key buffer too small.\n"
 msgstr "Буфер ключів тому є занадто малим.\n"
 
-#: lib/setup.c:1843
+#: lib/setup.c:1850
 msgid "Cannot retrieve volume key for plain device.\n"
 msgstr "Неможливо отримати ключ тому для пристрою зі звичайним шифруванням.\n"
 
-#: lib/setup.c:1849
+#: lib/setup.c:1856
 #, c-format
 msgid "This operation is not supported for %s crypt device.\n"
 msgstr "Підтримки цієї дії для шифрованого пристрою %s не передбачено.\n"
@@ -286,92 +281,95 @@ msgstr "Бажана точка відступу перебуває за меж
 msgid "Device %s has zero size.\n"
 msgstr "Об’єм пристрою %s є нульовим.\n"
 
-#: lib/utils.c:415 lib/luks1/keymanage.c:524
+#: lib/utils.c:415 lib/luks1/keymanage.c:532
 #, c-format
 msgid "Device %s is too small.\n"
 msgstr "Об’єм пристрою %s є надто малим.\n"
 
-#: lib/utils.c:423
-#, c-format
-msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
-msgstr "Використання пристрою %s неможливе (сегменти шифрування перекриваються або використовуються іншим пристроєм).\n"
-
-#: lib/utils.c:450
+#: lib/utils.c:439
 msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
 msgstr "УВАГА!!! Небезпека доступу до даних у пам’яті. Працюєте від імені адміністратора?\n"
 
-#: lib/utils.c:456
+#: lib/utils.c:445
 msgid "Cannot get process priority.\n"
 msgstr "Не вдалося отримати значення пріоритетності процесу.\n"
 
-#: lib/utils.c:459 lib/utils.c:472
+#: lib/utils.c:448 lib/utils.c:461
 #, c-format
 msgid "setpriority %d failed: %s\n"
 msgstr "помилка під час встановлення пріоритетності %d: %s\n"
 
-#: lib/utils.c:470
+#: lib/utils.c:459
 msgid "Cannot unlock memory.\n"
 msgstr "Не вдалося розблокувати пам’ять.\n"
 
-#: lib/utils_crypt.c:212 lib/utils_crypt.c:225 lib/utils_crypt.c:329
-#: lib/utils_crypt.c:345
+#: lib/utils_crypt.c:221 lib/utils_crypt.c:234 lib/utils_crypt.c:338
+#: lib/utils_crypt.c:354
 msgid "Out of memory while reading passphrase.\n"
 msgstr "Під час читання пароля вичерпано пам’ять.\n"
 
-#: lib/utils_crypt.c:217 lib/utils_crypt.c:232
+#: lib/utils_crypt.c:226 lib/utils_crypt.c:241
 msgid "Error reading passphrase from terminal.\n"
 msgstr "Помилка під час читання пароля з термінала.\n"
 
-#: lib/utils_crypt.c:230
+#: lib/utils_crypt.c:239
 msgid "Verify passphrase: "
 msgstr "Перевірка пароля: "
 
-#: lib/utils_crypt.c:237
+#: lib/utils_crypt.c:246
 msgid "Passphrases do not match.\n"
 msgstr "Паролі не збігаються.\n"
 
-#: lib/utils_crypt.c:278
+#: lib/utils_crypt.c:287
 msgid "Cannot use offset with terminal input.\n"
 msgstr "Не можна використовувати відступ у даних, що надходять з термінала.\n"
 
-#: lib/utils_crypt.c:297
+#: lib/utils_crypt.c:306
 msgid "Failed to open key file.\n"
 msgstr "Не вдалося відкрити файл ключа.\n"
 
-#: lib/utils_crypt.c:306
+#: lib/utils_crypt.c:315
 msgid "Failed to stat key file.\n"
 msgstr "Не вдалося отримати статистичні дані щодо файла ключа.\n"
 
-#: lib/utils_crypt.c:314 lib/utils_crypt.c:336
+#: lib/utils_crypt.c:323 lib/utils_crypt.c:345
 msgid "Cannot seek to requested keyfile offset.\n"
 msgstr "Не вдалося встановити потрібну позицію у файлі ключа.\n"
 
-#: lib/utils_crypt.c:353
+#: lib/utils_crypt.c:362
 msgid "Error reading passphrase.\n"
 msgstr "Помилка під час читання пароля.\n"
 
-#: lib/utils_crypt.c:371
-msgid "Maximum keyfile size exceeeded.\n"
+#: lib/utils_crypt.c:380
+msgid "Maximum keyfile size exceeded.\n"
 msgstr "Перевищено максимальний розмір файла ключа.\n"
 
-#: lib/utils_crypt.c:376
+#: lib/utils_crypt.c:385
 msgid "Cannot read requested amount of data.\n"
 msgstr "Не вдалося прочитати бажаний об’єм даних.\n"
 
-#: lib/luks1/keyencryption.c:76
+#: lib/utils_fips.c:45
+msgid "FIPS checksum verification failed.\n"
+msgstr "Контрольні суми FIPS не збігаються.\n"
+
+#: lib/utils_fips.c:49
+msgid "Running in FIPS mode.\n"
+msgstr "Працюємо у режимі FIPS.\n"
+
+#: lib/luks1/keyencryption.c:79
 #, c-format
 msgid "Unable to obtain sector size for %s"
 msgstr "Не вдалося отримати розмір сектора %s"
 
-#: lib/luks1/keyencryption.c:103
+#: lib/luks1/keyencryption.c:106
 msgid "Key size in XTS mode must be 256 or 512 bits.\n"
 msgstr "Розмір ключа у режимі XTS має бути рівним 256 або 512 бітів.\n"
 
-#: lib/luks1/keyencryption.c:126
+#: lib/luks1/keyencryption.c:129
 msgid "Failed to obtain device mapper directory."
 msgstr "Не вдалося отримати каталог призначених пристроїв."
 
-#: lib/luks1/keyencryption.c:142
+#: lib/luks1/keyencryption.c:145
 #, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
@@ -382,11 +380,11 @@ msgstr ""
 "Перевірте, чи передбачено у ядрі підтримку шифрування %s (докладніші дані можна знайти у журналі системи (syslog)).\n"
 "%s"
 
-#: lib/luks1/keyencryption.c:152
+#: lib/luks1/keyencryption.c:155
 msgid "Failed to open temporary keystore device.\n"
 msgstr "Не вдалося відкрити пристрій тимчасового сховища ключів.\n"
 
-#: lib/luks1/keyencryption.c:159
+#: lib/luks1/keyencryption.c:162
 msgid "Failed to access temporary keystore device.\n"
 msgstr "Не вдалося отримати доступ до пристрою тимчасового сховища ключів.\n"
 
@@ -395,7 +393,7 @@ msgstr "Не вдалося отримати доступ до пристрою
 msgid "Requested file %s already exist.\n"
 msgstr "Файл %s, щодо якого надійшов запит, вже існує.\n"
 
-#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:391
+#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:399
 #, c-format
 msgid "Device %s is not a valid LUKS device.\n"
 msgstr "Пристрій %s не є коректним пристроєм LUKS.\n"
@@ -449,8 +447,8 @@ msgstr ""
 "\n"
 "ПОПЕРЕДЖЕННЯ: заголовок, що зберігається на пристрої, має інший UUID, ніж заголовок у резервній копії!"
 
-#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:496
-#: lib/luks1/keymanage.c:530
+#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:504
+#: lib/luks1/keymanage.c:538
 #, c-format
 msgid "Cannot open device %s.\n"
 msgstr "Не вдалося відкрити пристрій %s.\n"
@@ -460,122 +458,126 @@ msgid "Non standard key size, manual repair required.\n"
 msgstr "Нестандартний розмір ключа, слід виправити дані вручну.\n"
 
 #: lib/luks1/keymanage.c:315
+msgid "Non standard keyslots alignment, manual repair required.\n"
+msgstr "Нестандартне вирівнювання слотів ключів, слід виправити дані вручну.\n"
+
+#: lib/luks1/keymanage.c:321
 msgid "Repairing keyslots.\n"
 msgstr "Виправлення слотів ключів.\n"
 
-#: lib/luks1/keymanage.c:326
+#: lib/luks1/keymanage.c:332
 msgid "Repair failed."
 msgstr "Спроба виправлення зазнала невдачі."
 
-#: lib/luks1/keymanage.c:333
+#: lib/luks1/keymanage.c:344
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u).\n"
 msgstr "Слот ключа %i: виправлено відступ (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:341
+#: lib/luks1/keymanage.c:352
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
 msgstr "Слот ключа %i: виправлено смужки (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:352
+#: lib/luks1/keymanage.c:361
 #, c-format
 msgid "Keyslot %i: bogus partition signature.\n"
 msgstr "Слот ключа %i: зайвий підпис розділу.\n"
 
-#: lib/luks1/keymanage.c:357
+#: lib/luks1/keymanage.c:366
 #, c-format
 msgid "Keyslot %i: salt wiped.\n"
 msgstr "Слот ключа %i: дані ініціалізації (сіль) витерто.\n"
 
-#: lib/luks1/keymanage.c:369
+#: lib/luks1/keymanage.c:377
 msgid "Writing LUKS header to disk.\n"
 msgstr "Запис заголовка LUKS на диск.\n"
 
-#: lib/luks1/keymanage.c:394
+#: lib/luks1/keymanage.c:402
 #, c-format
 msgid "Unsupported LUKS version %d.\n"
 msgstr "Непідтримувана версія LUKS, %d.\n"
 
-#: lib/luks1/keymanage.c:400 lib/luks1/keymanage.c:602
+#: lib/luks1/keymanage.c:408 lib/luks1/keymanage.c:610
 #, c-format
 msgid "Requested LUKS hash %s is not supported.\n"
 msgstr "Підтримки бажаного хешування LUKS, %s, не передбачено.\n"
 
-#: lib/luks1/keymanage.c:415
+#: lib/luks1/keymanage.c:423
 #, c-format
 msgid "LUKS keyslot %u is invalid.\n"
 msgstr "Слот ключа LUKS %u є некоректним.\n"
 
-#: lib/luks1/keymanage.c:429 src/cryptsetup.c:535
+#: lib/luks1/keymanage.c:437 src/cryptsetup.c:535
 msgid "No known problems detected for LUKS header.\n"
 msgstr "У заголовку LUKS не виявлено жодних проблем.\n"
 
-#: lib/luks1/keymanage.c:463
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Cannot open file %s.\n"
 msgstr "Не вдалося відкрити файл %s.\n"
 
-#: lib/luks1/keymanage.c:551
+#: lib/luks1/keymanage.c:559
 #, c-format
 msgid "Error during update of LUKS header on device %s.\n"
 msgstr "Помилка під час оновлення заголовка LUKS на пристрої %s.\n"
 
-#: lib/luks1/keymanage.c:558
+#: lib/luks1/keymanage.c:566
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s.\n"
 msgstr "Помилка під час спроби повторного читання заголовка LUKS після оновлення на пристрої %s.\n"
 
-#: lib/luks1/keymanage.c:570
+#: lib/luks1/keymanage.c:578
 #, c-format
 msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
 msgstr "Несумісні параметри PBKDF2 (з використанням алгоритму хешування %s).\n"
 
-#: lib/luks1/keymanage.c:607 lib/luks1/keymanage.c:689
+#: lib/luks1/keymanage.c:615 lib/luks1/keymanage.c:697
 msgid "Wrong LUKS UUID format provided.\n"
 msgstr "Вказано UUID LUKS у помилковому форматі.\n"
 
-#: lib/luks1/keymanage.c:632
+#: lib/luks1/keymanage.c:640
 msgid "Cannot create LUKS header: reading random salt failed.\n"
 msgstr "Не вдалося створити заголовок LUKS: помилка читання випадкових даних для ініціалізації.\n"
 
-#: lib/luks1/keymanage.c:649
+#: lib/luks1/keymanage.c:657
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
 msgstr "Не вдалося створити заголовок LUKS: помилка під час обчислення контрольної суми заголовка (з використанням хешу %s).\n"
 
-#: lib/luks1/keymanage.c:714
+#: lib/luks1/keymanage.c:722
 #, c-format
 msgid "Key slot %d active, purge first.\n"
 msgstr "Слот ключа %d є активним. Його слід спочатку спорожнити.\n"
 
-#: lib/luks1/keymanage.c:719
+#: lib/luks1/keymanage.c:727
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
 msgstr "Ентропія даних слота ключа %d є надто низькою. Маніпуляції з заголовком?\n"
 
-#: lib/luks1/keymanage.c:786
+#: lib/luks1/keymanage.c:794
 msgid "Failed to write to key storage.\n"
 msgstr "Не вдалося виконати запис до сховища ключів.\n"
 
-#: lib/luks1/keymanage.c:871
+#: lib/luks1/keymanage.c:879
 msgid "Failed to read from key storage.\n"
 msgstr "Не вдалося виконати читання даних зі сховища ключів.\n"
 
-#: lib/luks1/keymanage.c:881
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d unlocked.\n"
 msgstr "Слот ключа %d розблоковано.\n"
 
-#: lib/luks1/keymanage.c:917 src/cryptsetup.c:732 src/cryptsetup.c:916
+#: lib/luks1/keymanage.c:925 src/cryptsetup.c:732 src/cryptsetup.c:916
 msgid "No key available with this passphrase.\n"
 msgstr "Для цього пароля немає відповідного ключа.\n"
 
-#: lib/luks1/keymanage.c:935
+#: lib/luks1/keymanage.c:943
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
 msgstr "Слот ключа %d є некоректним, будь ласка, виберіть слот ключа з номером від 0 до %d.\n"
 
-#: lib/luks1/keymanage.c:949
+#: lib/luks1/keymanage.c:957
 #, c-format
 msgid "Cannot wipe device %s.\n"
 msgstr "Не вдалося витерти пристрій %s.\n"
@@ -1024,32 +1026,32 @@ msgstr "Дозволити запити відкидання (або TRIM) до
 msgid "Device or file with separated LUKS header."
 msgstr "Пристрій або файл з окремим заголовком LUKS."
 
-#: src/cryptsetup.c:1322
+#: src/cryptsetup.c:1324
 msgid "[OPTION...] <action> <action-specific>]"
 msgstr "[ПАРАМЕТР...] <дія> <параметри дії>]"
 
-#: src/cryptsetup.c:1362
+#: src/cryptsetup.c:1364
 msgid "Argument <action> missing."
 msgstr "Не вказано аргумент <дія>."
 
-#: src/cryptsetup.c:1368
+#: src/cryptsetup.c:1370
 msgid "Unknown action."
 msgstr "Невідома дія."
 
-#: src/cryptsetup.c:1383
+#: src/cryptsetup.c:1385
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: слід вказати у параметрах %s"
 
-#: src/cryptsetup.c:1392
+#: src/cryptsetup.c:1394
 msgid "Option --shared is allowed only for create operation.\n"
 msgstr "Параметр --shared можна використовувати лише для дії create.\n"
 
-#: src/cryptsetup.c:1401
+#: src/cryptsetup.c:1403
 msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
 msgstr "Параметр --allow-discards можна використовувати лише для дій luksOpen, loopaesOpen і create.\n"
 
-#: src/cryptsetup.c:1410
+#: src/cryptsetup.c:1412
 msgid ""
 "Option --key-size is allowed only for luksFormat, create and loopaesOpen.\n"
 "To limit read from keyfile use --keyfile-size=(bytes)."
@@ -1057,42 +1059,48 @@ msgstr ""
 "Параметр --key-size можна використовувати лише для дій luksFormat, create і loopaesOpen.\n"
 "Щоб обмежити читання з файла ключа, скористайтеся параметром --keyfile-size=(об’єм у байтах)."
 
-#: src/cryptsetup.c:1417
+#: src/cryptsetup.c:1419
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Розмір ключа має бути кратним 8 бітам"
 
-#: src/cryptsetup.c:1424
+#: src/cryptsetup.c:1426
 msgid "Key slot is invalid."
 msgstr "Некоректний слот ключа."
 
-#: src/cryptsetup.c:1431
+#: src/cryptsetup.c:1433
 msgid "Option --key-file takes precedence over specified key file argument.\n"
 msgstr "Параметр --key-file має пріоритет над вказаним параметром файла ключа.\n"
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1441
 msgid "Negative number for option not permitted."
 msgstr "Не можна використовувати від’ємні значення для параметра."
 
-#: src/cryptsetup.c:1444
+#: src/cryptsetup.c:1446
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Можна використовувати лише один з параметрів --use-[u]random."
 
-#: src/cryptsetup.c:1448
+#: src/cryptsetup.c:1450
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "Параметр --use-[u]random можна використовувати лише для дії luksFormat."
 
-#: src/cryptsetup.c:1452
+#: src/cryptsetup.c:1454
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgstr "Параметр --uuid можна використовувати лише для дій luksFormat і luksUUID."
 
-#: src/cryptsetup.c:1456
+#: src/cryptsetup.c:1458
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Параметр --align-payload можна використовувати лише для дії luksFormat."
 
-#: src/cryptsetup.c:1461
+#: src/cryptsetup.c:1463
 msgid "Option --skip is supported only for create and loopaesOpen commands.\n"
 msgstr "Підтримку параметра --skip передбачено лише для дій create і loopaesOpen.\n"
 
-#: src/cryptsetup.c:1466
+#: src/cryptsetup.c:1468
 msgid "Option --offset is supported only for create and loopaesOpen commands.\n"
 msgstr "Підтримку параметра --offset передбачено лише для дій create і loopaesOpen.\n"
+
+#~ msgid "Device %s is busy.\n"
+#~ msgstr "Пристрій %s зайнято.\n"
+
+#~ msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
+#~ msgstr "Використання пристрою %s неможливе (сегменти шифрування перекриваються або використовуються іншим пристроєм).\n"
index 61f052e..aee2ef8 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cryptsetup-1.4.2\n"
+"Project-Id-Version: cryptsetup-1.4.3\n"
 "Report-Msgid-Bugs-To: dm-crypt@saout.de\n"
-"POT-Creation-Date: 2012-04-03 00:12+0200\n"
-"PO-Revision-Date: 2012-04-14 09:15+0700\n"
+"POT-Creation-Date: 2012-05-22 23:31+0200\n"
+"PO-Revision-Date: 2012-05-26 07:51+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -24,14 +24,14 @@ msgstr ""
 
 #: lib/libdevmapper.c:184
 msgid "Cannot initialize device-mapper. Is dm_mod kernel module loaded?\n"
-msgstr "Không thể sơ khởi tiến trình ánh xạ thiết bị. Mô-đun hạt nhân « dm_mod » được nạp chưa?\n"
+msgstr "Không thể sơ khởi tiến trình ánh xạ thiết bị. Mô-đun hạt nhân \"dm_mod\" được nạp chưa?\n"
 
-#: lib/libdevmapper.c:412
+#: lib/libdevmapper.c:423
 #, c-format
 msgid "DM-UUID for device %s was truncated.\n"
 msgstr "Mã số DM-UUID cho thiết bị %s bị cắt bớt.\n"
 
-#: lib/random.c:74
+#: lib/random.c:75
 msgid ""
 "System is out of entropy while generating volume key.\n"
 "Please move mouse or type some text in another window to gather some random events.\n"
@@ -39,20 +39,20 @@ msgstr ""
 "Hệ thống bị nằm ngoài en-trô-pi trong khi tạo khóa dung lượng.\n"
 "Xin hãy di chuyển con chuột hay gõ vài chữ trong cửa sổ khác để thu thập sự kiện ngẫu nhiên.\n"
 
-#: lib/random.c:78
+#: lib/random.c:79
 #, c-format
 msgid "Generating key (%d%% done).\n"
 msgstr "Tạo khoá (%d%% hoàn tất).\n"
 
-#: lib/random.c:167
+#: lib/random.c:168
 msgid "Fatal error during RNG initialisation.\n"
 msgstr "Gặp lỗi nghiêm trọng trong quá trình khởi tạo RNG.\n"
 
-#: lib/random.c:194
+#: lib/random.c:205
 msgid "Unknown RNG quality requested.\n"
 msgstr "Không hiểu chất lượng RNG đã yêu cầu.\n"
 
-#: lib/random.c:199
+#: lib/random.c:210
 #, c-format
 msgid "Error %d reading from RNG: %s\n"
 msgstr "Lỗi %d khi đọc một từ RNG: %s\n"
@@ -89,156 +89,151 @@ msgstr "Khe khoá %d không đúng, hãy chọn một giá trị trong phạm vi
 msgid "Key slot %d is full, please select another one.\n"
 msgstr "Khe khoá %d bị đầy, hãy chọn một khe khác.\n"
 
-#: lib/setup.c:340
+#: lib/setup.c:345
 #, c-format
 msgid "Enter passphrase for %s: "
 msgstr "Gõ cụm từ mật khẩu cho %s: "
 
-#: lib/setup.c:500
+#: lib/setup.c:505
 msgid "Cannot find a free loopback device.\n"
 msgstr "Không tìm thấy thiết bị vòng ngược (loopback ) nào còn rảnh.\n"
 
-#: lib/setup.c:508
+#: lib/setup.c:513
 msgid "Attaching loopback device failed (loop device with autoclear flag is required).\n"
 msgstr "Gặp lỗi khi gắn thiết bị vòng lặp (loopback) (thiết bị lặp với cờ autoclear là bắt buộc).\n"
 
-#: lib/setup.c:564
+#: lib/setup.c:569
 #, c-format
 msgid "LUKS header detected but device %s is too small.\n"
 msgstr "Phát hiện được phần đầu LUKS mà thiết bị %s quá nhỏ.\n"
 
-#: lib/setup.c:580 lib/setup.c:1068
+#: lib/setup.c:585 lib/setup.c:1073
 msgid "This operation is not supported for this device type.\n"
 msgstr "Thao tác này không được hỗ trợ cho kiểu thiết bị này.\n"
 
-#: lib/setup.c:643 lib/setup.c:1035 lib/setup.c:1808
+#: lib/setup.c:648 lib/setup.c:1040 lib/setup.c:1810
 #, c-format
 msgid "Device %s is not active.\n"
 msgstr "Thiết bị %s không hoạt động.\n"
 
-#: lib/setup.c:661
+#: lib/setup.c:666
 #, c-format
 msgid "Underlying device for crypt device %s disappeared.\n"
 msgstr "Thiết bị nằm dưới cho thiết bị crypt %s đã bị biến mất.\n"
 
-#: lib/setup.c:775
+#: lib/setup.c:780
 msgid "Invalid plain crypt parameters.\n"
 msgstr "Sai lập tham số mật mã bình thường.\n"
 
-#: lib/setup.c:780 lib/setup.c:885
+#: lib/setup.c:785 lib/setup.c:890
 msgid "Invalid key size.\n"
 msgstr "Kích cỡ khoá không đúng.\n"
 
-#: lib/setup.c:821
+#: lib/setup.c:826
 msgid "Can't format LUKS without device.\n"
 msgstr "Không thể định dạng LUKS mà không có thiết bị.\n"
 
-#: lib/setup.c:859
+#: lib/setup.c:864
 #, c-format
 msgid "Cannot format device %s which is still in use.\n"
 msgstr "Không thể định dạng thiết bị %s mà nó lại vẫn đang được sử dụng.\n"
 
-#: lib/setup.c:862
+#: lib/setup.c:867
 #, c-format
 msgid "Cannot wipe header on device %s.\n"
 msgstr "Không thể tẩy xoá phần đầu trên thiết bị %s.\n"
 
-#: lib/setup.c:880
+#: lib/setup.c:885
 msgid "Can't format LOOPAES without device.\n"
 msgstr "Không thể định dạng LOOPAES bên ngoài thiết bị.\n"
 
-#: lib/setup.c:940
+#: lib/setup.c:945
 #, c-format
 msgid "Unknown crypt device type %s requested.\n"
 msgstr "Không rõ kiểu thiết bị mật mã %s được yêu cầu.\n"
 
-#: lib/setup.c:1083
+#: lib/setup.c:1088
 msgid "Do you really want to change UUID of device?"
 msgstr "Bạn có thực sự muốn thay đổi UUID cho thiết bị?"
 
-#: lib/setup.c:1168 lib/setup.c:1215 lib/setup.c:1264 lib/setup.c:1330
-#: lib/setup.c:1406 lib/setup.c:1487 lib/setup.c:1533 lib/setup.c:1868
-#: lib/setup.c:1973 lib/setup.c:2112
+#: lib/setup.c:1173 lib/setup.c:1220 lib/setup.c:1269 lib/setup.c:1335
+#: lib/setup.c:1411 lib/setup.c:1492 lib/setup.c:1538 lib/setup.c:1875
+#: lib/setup.c:1980 lib/setup.c:2119
 msgid "This operation is supported only for LUKS device.\n"
 msgstr "Thao tác này được hỗ trợ chỉ cho thiết bị LUKS.\n"
 
-#: lib/setup.c:1175
+#: lib/setup.c:1180
 #, c-format
 msgid "Volume %s is not active.\n"
 msgstr "Khối tin %s không hoạt động.\n"
 
-#: lib/setup.c:1187
+#: lib/setup.c:1192
 #, c-format
 msgid "Volume %s is already suspended.\n"
 msgstr "Khối %s đã bị ngưng.\n"
 
-#: lib/setup.c:1225 lib/setup.c:1274
+#: lib/setup.c:1230 lib/setup.c:1279
 #, c-format
 msgid "Volume %s is not suspended.\n"
 msgstr "Khối %s không bị ngưng.\n"
 
-#: lib/setup.c:1281 lib/setup.c:1658 lib/setup.c:1672 src/cryptsetup.c:343
+#: lib/setup.c:1286 lib/setup.c:1663 lib/setup.c:1677 src/cryptsetup.c:343
 msgid "Enter passphrase: "
 msgstr "Gõ cụm từ mật khẩu: "
 
-#: lib/setup.c:1344 lib/setup.c:1420
+#: lib/setup.c:1349 lib/setup.c:1425
 msgid "Cannot add key slot, all slots disabled and no volume key provided.\n"
 msgstr "Không thể thêm khe khoá vì mọi khe đều bị tắt và không cung cấp khoá khối tin.\n"
 
-#: lib/setup.c:1353 lib/setup.c:1426 lib/setup.c:1430
+#: lib/setup.c:1358 lib/setup.c:1431 lib/setup.c:1435
 msgid "Enter any passphrase: "
 msgstr "Gõ bất cứ cụm từ mật khẩu nào: "
 
-#: lib/setup.c:1370 lib/setup.c:1443 lib/setup.c:1447 lib/setup.c:1510
+#: lib/setup.c:1375 lib/setup.c:1448 lib/setup.c:1452 lib/setup.c:1515
 msgid "Enter new passphrase for key slot: "
 msgstr "Gõ cụm từ mật khẩu mới cho khe khoá: "
 
-#: lib/setup.c:1501 lib/setup.c:1762 lib/setup.c:1775 lib/setup.c:1879
+#: lib/setup.c:1506 lib/setup.c:1767 lib/setup.c:1780 lib/setup.c:1886
 msgid "Volume key does not match the volume.\n"
 msgstr "Khoá khối tin không tương ứng với khối tin đó.\n"
 
-#: lib/setup.c:1539
+#: lib/setup.c:1544
 #, c-format
 msgid "Key slot %d is invalid.\n"
 msgstr "Khe khoá %d không đúng.\n"
 
-#: lib/setup.c:1544
+#: lib/setup.c:1549
 #, c-format
 msgid "Key slot %d is not used.\n"
 msgstr "Khe khoá %d không được dùng.\n"
 
-#: lib/setup.c:1574 lib/setup.c:1646 lib/setup.c:1738
+#: lib/setup.c:1579 lib/setup.c:1651 lib/setup.c:1743
 #, c-format
 msgid "Device %s already exists.\n"
 msgstr "Thiết bị %s đã có.\n"
 
-#: lib/setup.c:1749
+#: lib/setup.c:1754
 msgid "Incorrect volume key specified for plain device.\n"
 msgstr "Khóa dung lượng đã chỉ định không dúng cho thiết bị thường.\n"
 
-#: lib/setup.c:1780
+#: lib/setup.c:1785
 msgid "Device type is not properly initialised.\n"
 msgstr "Kiểu thiết bị gần như chắc chắn là chưa được thiết lập.\n"
 
-#: lib/setup.c:1804
-#, c-format
-msgid "Device %s is busy.\n"
-msgstr "Thiết bị %s đang bận.\n"
-
-#: lib/setup.c:1812
+#: lib/setup.c:1814
 #, c-format
 msgid "Invalid device %s.\n"
 msgstr "Thiết bị không đúng %s.\n"
 
-#: lib/setup.c:1835
+#: lib/setup.c:1842
 msgid "Volume key buffer too small.\n"
 msgstr "Vùng đệm khoá khối tin quá nhỏ.\n"
 
-#: lib/setup.c:1843
+#: lib/setup.c:1850
 msgid "Cannot retrieve volume key for plain device.\n"
 msgstr "Không thể lấy khoá khối tin cho thiết bị bình thường.\n"
 
-#: lib/setup.c:1849
+#: lib/setup.c:1856
 #, c-format
 msgid "This operation is not supported for %s crypt device.\n"
 msgstr "Thao tác này không được hỗ trợ cho thiết bị mật mã %s.\n"
@@ -290,92 +285,95 @@ msgstr "Khoảng bù (offset) yêu cầu nằm ngoài kích thước thật củ
 msgid "Device %s has zero size.\n"
 msgstr "Thiết bị %s có kích cỡ số không.\n"
 
-#: lib/utils.c:415 lib/luks1/keymanage.c:524
+#: lib/utils.c:415 lib/luks1/keymanage.c:532
 #, c-format
 msgid "Device %s is too small.\n"
 msgstr "Thiết bị %s có kích cỡ quá nhỏ.\n"
 
-#: lib/utils.c:423
-#, c-format
-msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
-msgstr "Không thể sử dụng thiết bị %s (các đoạn crypt chồng lên nhau hay đang sử dụng bởi thiết bị khác).\n"
-
-#: lib/utils.c:450
+#: lib/utils.c:439
 msgid "WARNING!!! Possibly insecure memory. Are you root?\n"
 msgstr "CẢNH BÁO ! Có thể là vùng nhớ không an toàn. Bạn đang chạy dưới người chủ (root) không?\n"
 
-#: lib/utils.c:456
+#: lib/utils.c:445
 msgid "Cannot get process priority.\n"
 msgstr "Không thể lấy mức ưu tiên của tiến trình.\n"
 
-#: lib/utils.c:459 lib/utils.c:472
+#: lib/utils.c:448 lib/utils.c:461
 #, c-format
 msgid "setpriority %d failed: %s\n"
 msgstr "đặt quyền ưu tiên %d gặp lỗi: %s\n"
 
-#: lib/utils.c:470
+#: lib/utils.c:459
 msgid "Cannot unlock memory.\n"
 msgstr "Không thể mở khoá bộ nhớ.\n"
 
-#: lib/utils_crypt.c:212 lib/utils_crypt.c:225 lib/utils_crypt.c:329
-#: lib/utils_crypt.c:345
+#: lib/utils_crypt.c:221 lib/utils_crypt.c:234 lib/utils_crypt.c:338
+#: lib/utils_crypt.c:354
 msgid "Out of memory while reading passphrase.\n"
 msgstr "Tràn bộ nhớ trong khi đọc cụm từ mật khẩu.\n"
 
-#: lib/utils_crypt.c:217 lib/utils_crypt.c:232
+#: lib/utils_crypt.c:226 lib/utils_crypt.c:241
 msgid "Error reading passphrase from terminal.\n"
 msgstr "Gặp lỗi khi đọc cụm từ mật khẩu từ thiết bị cuối.\n"
 
-#: lib/utils_crypt.c:230
+#: lib/utils_crypt.c:239
 msgid "Verify passphrase: "
 msgstr "Thẩm tra cụm từ mật khẩu: "
 
-#: lib/utils_crypt.c:237
+#: lib/utils_crypt.c:246
 msgid "Passphrases do not match.\n"
 msgstr "Hai cụm từ mật khẩu không trùng nhau.\n"
 
-#: lib/utils_crypt.c:278
+#: lib/utils_crypt.c:287
 msgid "Cannot use offset with terminal input.\n"
 msgstr "Không thể sử dụng khoảng bù (offset) với đầu vào thiết bị cuối.\n"
 
-#: lib/utils_crypt.c:297
+#: lib/utils_crypt.c:306
 msgid "Failed to open key file.\n"
 msgstr "Gặp lỗi khi mở tập tin khoá.\n"
 
-#: lib/utils_crypt.c:306
+#: lib/utils_crypt.c:315
 msgid "Failed to stat key file.\n"
 msgstr "Gặp lỗi khi lấy thông tin tập tin khoá.\n"
 
-#: lib/utils_crypt.c:314 lib/utils_crypt.c:336
+#: lib/utils_crypt.c:323 lib/utils_crypt.c:345
 msgid "Cannot seek to requested keyfile offset.\n"
 msgstr "Không thể tìm (seek) tới vị trí bù (offset) tập tin khóa đã yêu cầu.\n"
 
-#: lib/utils_crypt.c:353
+#: lib/utils_crypt.c:362
 msgid "Error reading passphrase.\n"
 msgstr "Lỗi đọc cụm từ mật khẩu.\n"
 
-#: lib/utils_crypt.c:371
-msgid "Maximum keyfile size exceeeded.\n"
+#: lib/utils_crypt.c:380
+msgid "Maximum keyfile size exceeded.\n"
 msgstr "Đã vượt quá kích thước tập tin khóa tối đa.\n"
 
-#: lib/utils_crypt.c:376
+#: lib/utils_crypt.c:385
 msgid "Cannot read requested amount of data.\n"
 msgstr "Không thể đọc đống dữ liệu đã yêu cầu.\n"
 
-#: lib/luks1/keyencryption.c:76
+#: lib/utils_fips.c:45
+msgid "FIPS checksum verification failed.\n"
+msgstr "Thẩm tra mã băm FIPS không đạt.\n"
+
+#: lib/utils_fips.c:49
+msgid "Running in FIPS mode.\n"
+msgstr "Đang chạy trong chế độ FIPS.\n"
+
+#: lib/luks1/keyencryption.c:79
 #, c-format
 msgid "Unable to obtain sector size for %s"
 msgstr "Không thể lấy kích cỡ rãnh ghi cho %s"
 
-#: lib/luks1/keyencryption.c:103
+#: lib/luks1/keyencryption.c:106
 msgid "Key size in XTS mode must be 256 or 512 bits.\n"
 msgstr "Kích thước khóa trong chế độ XTS phải là 256 hay 512 bit.\n"
 
-#: lib/luks1/keyencryption.c:126
+#: lib/luks1/keyencryption.c:129
 msgid "Failed to obtain device mapper directory."
 msgstr "Lỗi lấy thư mục trình ánh xạ thiết bị."
 
-#: lib/luks1/keyencryption.c:142
+#: lib/luks1/keyencryption.c:145
 #, c-format
 msgid ""
 "Failed to setup dm-crypt key mapping for device %s.\n"
@@ -387,11 +385,11 @@ msgstr ""
 "(xem sổ theo dõi hệ thống để tìm thêm thông tin.)\n"
 "%s"
 
-#: lib/luks1/keyencryption.c:152
+#: lib/luks1/keyencryption.c:155
 msgid "Failed to open temporary keystore device.\n"
 msgstr "Lỗi mở thiết bị lưu trữ khoá tạm thời.\n"
 
-#: lib/luks1/keyencryption.c:159
+#: lib/luks1/keyencryption.c:162
 msgid "Failed to access temporary keystore device.\n"
 msgstr "Lỗi truy cập đến thiết bị lưu trữ khoá tạm thời.\n"
 
@@ -400,7 +398,7 @@ msgstr "Lỗi truy cập đến thiết bị lưu trữ khoá tạm thời.\n"
 msgid "Requested file %s already exist.\n"
 msgstr "Yêu cầu tập tin %s đã có.\n"
 
-#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:391
+#: lib/luks1/keymanage.c:169 lib/luks1/keymanage.c:399
 #, c-format
 msgid "Device %s is not a valid LUKS device.\n"
 msgstr "Thiết bị %s không phải là một thiết bị kiểu LUKS đúng.\n"
@@ -454,8 +452,8 @@ msgstr ""
 "\n"
 "CẢNH BÁO: phần đầu thiết bị thật có mã số UUID khác với bản sao lưu !"
 
-#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:496
-#: lib/luks1/keymanage.c:530
+#: lib/luks1/keymanage.c:280 lib/luks1/keymanage.c:504
+#: lib/luks1/keymanage.c:538
 #, c-format
 msgid "Cannot open device %s.\n"
 msgstr "Không thể mở thiết bị %s.\n"
@@ -465,122 +463,126 @@ msgid "Non standard key size, manual repair required.\n"
 msgstr "Kích thước khóa không tiêu chuẩn, yêu cầu sửa chữa bằng tay.\n"
 
 #: lib/luks1/keymanage.c:315
+msgid "Non standard keyslots alignment, manual repair required.\n"
+msgstr "Không thể đồng chỉnh các khe khóa (keyslot) tiêu chuẩn, yêu cầu sửa chữa bằng tay.\n"
+
+#: lib/luks1/keymanage.c:321
 msgid "Repairing keyslots.\n"
 msgstr "Đang chuẩn bị keyslots.\n"
 
-#: lib/luks1/keymanage.c:326
+#: lib/luks1/keymanage.c:332
 msgid "Repair failed."
 msgstr "Sửa chữa gặp lỗi."
 
-#: lib/luks1/keymanage.c:333
+#: lib/luks1/keymanage.c:344
 #, c-format
 msgid "Keyslot %i: offset repaired (%u -> %u).\n"
 msgstr "Khe-khoá (keyslot) %i: khoảng bù (offset) được sửa chữa (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:341
+#: lib/luks1/keymanage.c:352
 #, c-format
 msgid "Keyslot %i: stripes repaired (%u -> %u).\n"
 msgstr "Khe-khoá (keyslot) %i: stripes được sửa chữa (%u -> %u).\n"
 
-#: lib/luks1/keymanage.c:352
+#: lib/luks1/keymanage.c:361
 #, c-format
 msgid "Keyslot %i: bogus partition signature.\n"
 msgstr "Khe-khoá (keyslot) %i: chữ ký phân vùng không có thật.\n"
 
-#: lib/luks1/keymanage.c:357
+#: lib/luks1/keymanage.c:366
 #, c-format
 msgid "Keyslot %i: salt wiped.\n"
 msgstr "Khe-khoá (keyslot) %i: salt bị tẩy xóa.\n"
 
-#: lib/luks1/keymanage.c:369
+#: lib/luks1/keymanage.c:377
 msgid "Writing LUKS header to disk.\n"
 msgstr "Đang ghi phần đầu của LUKS lên đĩa.\n"
 
-#: lib/luks1/keymanage.c:394
+#: lib/luks1/keymanage.c:402
 #, c-format
 msgid "Unsupported LUKS version %d.\n"
 msgstr "Phiên bản LUKS không được hỗ trợ %d.\n"
 
-#: lib/luks1/keymanage.c:400 lib/luks1/keymanage.c:602
+#: lib/luks1/keymanage.c:408 lib/luks1/keymanage.c:610
 #, c-format
 msgid "Requested LUKS hash %s is not supported.\n"
 msgstr "Không hỗ trợ chuỗi duy nhất LUKS %s được yêu cầu.\n"
 
-#: lib/luks1/keymanage.c:415
+#: lib/luks1/keymanage.c:423
 #, c-format
 msgid "LUKS keyslot %u is invalid.\n"
 msgstr "khe-khoá LUKS %u là không hợp lệ.\n"
 
-#: lib/luks1/keymanage.c:429 src/cryptsetup.c:535
+#: lib/luks1/keymanage.c:437 src/cryptsetup.c:535
 msgid "No known problems detected for LUKS header.\n"
 msgstr "Không phát hiện thấy vấn đề với phần đầu LUKS.\n"
 
-#: lib/luks1/keymanage.c:463
+#: lib/luks1/keymanage.c:471
 #, c-format
 msgid "Cannot open file %s.\n"
 msgstr "Không thể mở tập tin %s.\n"
 
-#: lib/luks1/keymanage.c:551
+#: lib/luks1/keymanage.c:559
 #, c-format
 msgid "Error during update of LUKS header on device %s.\n"
 msgstr "Gặp lỗi trong khi cập nhật phần đầu LUKS trên thiết bị %s.\n"
 
-#: lib/luks1/keymanage.c:558
+#: lib/luks1/keymanage.c:566
 #, c-format
 msgid "Error re-reading LUKS header after update on device %s.\n"
 msgstr "Gặp lỗi trong khi đọc lại phần đầu LUKS sau khi cập nhật trên thiết bị %s.\n"
 
-#: lib/luks1/keymanage.c:570
+#: lib/luks1/keymanage.c:578
 #, c-format
 msgid "Not compatible PBKDF2 options (using hash algorithm %s).\n"
 msgstr "Gặp các tuỳ chọn PBKDF2 không tương thích (dùng thuật toán chuỗi duy nhất %s).\n"
 
-#: lib/luks1/keymanage.c:607 lib/luks1/keymanage.c:689
+#: lib/luks1/keymanage.c:615 lib/luks1/keymanage.c:697
 msgid "Wrong LUKS UUID format provided.\n"
 msgstr "Đưa ra định dạng mã số UUID LUKS không đúng.\n"
 
-#: lib/luks1/keymanage.c:632
+#: lib/luks1/keymanage.c:640
 msgid "Cannot create LUKS header: reading random salt failed.\n"
 msgstr "Không thể tạo phần đầu LUKS: lỗi đọc salt ngẫu nhiên.\n"
 
-#: lib/luks1/keymanage.c:649
+#: lib/luks1/keymanage.c:657
 #, c-format
 msgid "Cannot create LUKS header: header digest failed (using hash %s).\n"
 msgstr "Không thể tạo phần đầu LUKS: lỗi tạo bản tóm tắt (dùng chuỗi duy nhất %s).\n"
 
-#: lib/luks1/keymanage.c:714
+#: lib/luks1/keymanage.c:722
 #, c-format
 msgid "Key slot %d active, purge first.\n"
 msgstr "Khe khoá %d vẫn hoạt động: cần tẩy trước.\n"
 
-#: lib/luks1/keymanage.c:719
+#: lib/luks1/keymanage.c:727
 #, c-format
 msgid "Key slot %d material includes too few stripes. Header manipulation?\n"
 msgstr "Nguyên liệu khe khoá %d gồm có quá ít sọc. Có nên thao tác phần đầu không?\n"
 
-#: lib/luks1/keymanage.c:786
+#: lib/luks1/keymanage.c:794
 msgid "Failed to write to key storage.\n"
 msgstr "Lỗi ghi khoá vào kho lưu khoá.\n"
 
-#: lib/luks1/keymanage.c:871
+#: lib/luks1/keymanage.c:879
 msgid "Failed to read from key storage.\n"
 msgstr "Lỗi đọc từ kho lưu khoá.\n"
 
-#: lib/luks1/keymanage.c:881
+#: lib/luks1/keymanage.c:889
 #, c-format
 msgid "Key slot %d unlocked.\n"
 msgstr "Khe khoá %d được mở khoá.\n"
 
-#: lib/luks1/keymanage.c:917 src/cryptsetup.c:732 src/cryptsetup.c:916
+#: lib/luks1/keymanage.c:925 src/cryptsetup.c:732 src/cryptsetup.c:916
 msgid "No key available with this passphrase.\n"
 msgstr "Không có khoá sẵn sàng dùng với cụm từ mật khẩu này.\n"
 
-#: lib/luks1/keymanage.c:935
+#: lib/luks1/keymanage.c:943
 #, c-format
 msgid "Key slot %d is invalid, please select keyslot between 0 and %d.\n"
 msgstr "Khe khoá %d không đúng: hãy chọn khe khoá trong phạm vi 0 đến %d.\n"
 
-#: lib/luks1/keymanage.c:949
+#: lib/luks1/keymanage.c:957
 #, c-format
 msgid "Cannot wipe device %s.\n"
 msgstr "Không thể xoá thiết bị %s.\n"
@@ -744,7 +746,7 @@ msgstr "Hành động này sẽ ghi đè lên dữ liệu trên thiết bị %s
 
 #: src/cryptsetup.c:566
 msgid "memory allocation error in action_luksFormat"
-msgstr "gặp lỗi phân cấp vùng nhớ trong « action_luksFormat »"
+msgstr "gặp lỗi phân cấp vùng nhớ trong \"action_luksFormat\""
 
 #: src/cryptsetup.c:578
 msgid "No known cipher specification pattern detected.\n"
@@ -819,7 +821,7 @@ msgstr ""
 
 #: src/cryptsetup.c:1124 src/cryptsetup.c:1145
 msgid "Option --header-backup-file is required.\n"
-msgstr "Tuỳ chọn « --header-backup-file » cũng cần thiết.\n"
+msgstr "Tuỳ chọn \"--header-backup-file\" cũng cần thiết.\n"
 
 #: src/cryptsetup.c:1183
 msgid ""
@@ -896,7 +898,7 @@ msgstr "Hiển thị thông điệp gỡ lỗi"
 
 #: src/cryptsetup.c:1278
 msgid "The cipher used to encrypt the disk (see /proc/crypto)"
-msgstr "Mật mã dùng để bảo vệ đĩa (xem « /proc/crypto »)"
+msgstr "Mật mã dùng để bảo vệ đĩa (xem \"/proc/crypto\")"
 
 #: src/cryptsetup.c:1279
 msgid "The hash used to create the encryption key from the passphrase"
@@ -1028,32 +1030,32 @@ msgstr "Cho phép huỷ bỏ (được biết đến như là TRIM) các yêu c
 msgid "Device or file with separated LUKS header."
 msgstr "Thiết bị hay tập tin với phần đầu LUKS tách nhau."
 
-#: src/cryptsetup.c:1322
+#: src/cryptsetup.c:1324
 msgid "[OPTION...] <action> <action-specific>]"
 msgstr "[TÙY_CHỌN...] <hành_vi> <đặc_trưng_cho_hành_vi>]"
 
-#: src/cryptsetup.c:1362
+#: src/cryptsetup.c:1364
 msgid "Argument <action> missing."
 msgstr "Đối số <hành_vi> còn thiếu."
 
-#: src/cryptsetup.c:1368
+#: src/cryptsetup.c:1370
 msgid "Unknown action."
 msgstr "Hành động không rõ."
 
-#: src/cryptsetup.c:1383
+#: src/cryptsetup.c:1385
 #, c-format
 msgid "%s: requires %s as arguments"
 msgstr "%s: cần thiết %s làm đối số"
 
-#: src/cryptsetup.c:1392
+#: src/cryptsetup.c:1394
 msgid "Option --shared is allowed only for create operation.\n"
 msgstr "Tuỳ chọn --shared chỉ cho phép với thao tác tạo (create).\n"
 
-#: src/cryptsetup.c:1401
+#: src/cryptsetup.c:1403
 msgid "Option --allow-discards is allowed only for luksOpen, loopaesOpen and create operation.\n"
 msgstr "Tuỳ chọn --allow-discards thì chỉ cho phép với thao tác luksOpen, loopaesOpen và tạo (create).\n"
 
-#: src/cryptsetup.c:1410
+#: src/cryptsetup.c:1412
 msgid ""
 "Option --key-size is allowed only for luksFormat, create and loopaesOpen.\n"
 "To limit read from keyfile use --keyfile-size=(bytes)."
@@ -1061,46 +1063,52 @@ msgstr ""
 "Tuỳ chọn --key-size thì chỉ cho phép với các thao tác luksFormat, tạo (create) và loopaesOpen.\n"
 "Để giới hạn đọc từ tệp-tin-khoá sử dụng tuỳ chọn --keyfile-size=(bytes)."
 
-#: src/cryptsetup.c:1417
+#: src/cryptsetup.c:1419
 msgid "Key size must be a multiple of 8 bits"
 msgstr "Kích cỡ khoá phải là bội số cho 8 bit"
 
-#: src/cryptsetup.c:1424
+#: src/cryptsetup.c:1426
 msgid "Key slot is invalid."
 msgstr "Khe khoá không đúng."
 
-#: src/cryptsetup.c:1431
+#: src/cryptsetup.c:1433
 msgid "Option --key-file takes precedence over specified key file argument.\n"
 msgstr "Tuỳ chọn --key-file giữ quyền ưu tiên cao hơn tham số tập tin khoá đã chỉ định.\n"
 
-#: src/cryptsetup.c:1439
+#: src/cryptsetup.c:1441
 msgid "Negative number for option not permitted."
 msgstr "Số âm cho tuỳ chọn là không được phép."
 
-#: src/cryptsetup.c:1444
+#: src/cryptsetup.c:1446
 msgid "Only one of --use-[u]random options is allowed."
 msgstr "Chỉ cho phép một tuỳ chọn --use-[u]random."
 
-#: src/cryptsetup.c:1448
+#: src/cryptsetup.c:1450
 msgid "Option --use-[u]random is allowed only for luksFormat."
 msgstr "Tuỳ chọn --use-[u]random chỉ được phép cho luksFormat."
 
-#: src/cryptsetup.c:1452
+#: src/cryptsetup.c:1454
 msgid "Option --uuid is allowed only for luksFormat and luksUUID."
 msgstr "Tuỳ chọn --uuid thì chỉ cho phép với luksFormat và luksUUID."
 
-#: src/cryptsetup.c:1456
+#: src/cryptsetup.c:1458
 msgid "Option --align-payload is allowed only for luksFormat."
 msgstr "Tuỳ chọn --align-payload chỉ được phép cho luksFormat."
 
-#: src/cryptsetup.c:1461
+#: src/cryptsetup.c:1463
 msgid "Option --skip is supported only for create and loopaesOpen commands.\n"
 msgstr "Tuỳ chọn --skip chỉ hỗ trợ cho lệnh tạo (create) và loopaesOpen.\n"
 
-#: src/cryptsetup.c:1466
+#: src/cryptsetup.c:1468
 msgid "Option --offset is supported only for create and loopaesOpen commands.\n"
 msgstr "Tuỳ chọn --offset chỉ hỗ trợ cho lệnh tạo (create) và loopaesOpen.\n"
 
+#~ msgid "Device %s is busy.\n"
+#~ msgstr "Thiết bị %s đang bận.\n"
+
+#~ msgid "Cannot use device %s (crypt segments overlaps or in use by another device).\n"
+#~ msgstr "Không thể sử dụng thiết bị %s (các đoạn crypt chồng lên nhau hay đang sử dụng bởi thiết bị khác).\n"
+
 #~ msgid "Cannot find compatible device-mapper kernel modules.\n"
 #~ msgstr "Không tìm thấy mô-đun hạt nhân ánh xạ thiết bị tương thích.\n"
 
@@ -1114,7 +1122,7 @@ msgstr "Tuỳ chọn --offset chỉ hỗ trợ cho lệnh tạo (create) và loo
 #~ msgstr "Kích cỡ khoá không đúng %d.\n"
 
 #~ msgid "Warning: exhausting read requested, but key file %s is not a regular file, function might never return.\n"
-#~ msgstr "Cảnh báo : yêu cầu một hàm đọc vét kiệt mà tập tin khoá %s không phải là một tập tin thông thường thì có thể là hàm chưa bao giờ trả lại.\n"
+#~ msgstr "Cảnh báo: yêu cầu một hàm đọc vét kiệt mà tập tin khoá %s không phải là một tập tin thông thường thì có thể là hàm chưa bao giờ trả lại.\n"
 
 #~ msgid "Cannot open device: %s\n"
 #~ msgstr "Không thể mở thiết bị: %s\n"
@@ -1135,14 +1143,14 @@ msgstr "Tuỳ chọn --offset chỉ hỗ trợ cho lệnh tạo (create) và loo
 #~ "The reload action is deprecated. Please use \"dmsetup reload\" in case you really need this functionality.\n"
 #~ "WARNING: do not use reload to touch LUKS devices. If that is the case, hit Ctrl-C now.\n"
 #~ msgstr ""
-#~ "Hành động nạp lại bị phản đối. Hãy sử dụng « dmsetup reload » trong trường hợp bạn thực sự yêu cầu chức năng này.\n"
-#~ "CẢNH BÁO : đừng sử dụng chức năng nạp lại để thao tác thiết bị kiểu LUKS. Trong trường hợp đó, bấm tổ hợp phím Ctrl-C ngay bây giờ.\n"
+#~ "Hành động nạp lại bị phản đối. Hãy sử dụng \"dmsetup reload\" trong trường hợp bạn thực sự yêu cầu chức năng này.\n"
+#~ "CẢNH BÁO: đừng sử dụng chức năng nạp lại để thao tác thiết bị kiểu LUKS. Trong trường hợp đó, bấm tổ hợp phím Ctrl-C ngay bây giờ.\n"
 
 #~ msgid "Obsolete option --non-exclusive is ignored.\n"
-#~ msgstr "Tuỳ chọn cũ « --non-exclusive » bị bỏ qua.\n"
+#~ msgstr "Tuỳ chọn cũ \"--non-exclusive\" bị bỏ qua.\n"
 
 #~ msgid "Read the key from a file (can be /dev/random)"
-#~ msgstr "Đọc khoá từ một tập tin nào đó (có thể là « /dev/random »)"
+#~ msgstr "Đọc khoá từ một tập tin nào đó (có thể là \"/dev/random\")"
 
 #~ msgid "(Obsoleted, see man page.)"
 #~ msgstr "(Bị phản đối, xem trang hướng dẫn.)"
index 13d70d7..3801718 100755 (executable)
@@ -134,9 +134,9 @@ dmcrypt aes aes-cbc-plain
 dmcrypt aes-plain aes-cbc-plain
 
 # empty cipher
-dmcrypt null cipher_null-ecb-null
+dmcrypt null cipher_null-ecb
 dmcrypt cipher_null cipher_null-cbc-plain
-dmcrypt cipher_null-ecb-null
+dmcrypt cipher_null-ecb
 
 # codebook doesn't support IV at all
 for cipher in $CIPHERS ; do