Compare commits

..

23 Commits

Author SHA1 Message Date
Milan Broz
b08212ea45 Version 2.6.0. 2022-11-28 12:27:33 +01:00
Milan Broz
5a976ad1d9 Do not log score from pwquality.
This information is really not needed in debug log.
2022-11-28 10:37:58 +01:00
Yuri Kozlov
0e4182874b po: update ru.po (from translationproject.org) 2022-11-27 23:20:25 +01:00
Milan Broz
487e85fdec Wipe buffers to be sure padding is always empty.
Detected by valgrind as writing unitialized data.
2022-11-27 23:18:36 +01:00
Milan Broz
32344d5a84 tests: fix reencryption-mangle test valgrind log name.
Use the same logic as in compat-test (just the line
number is the last one for cryptsetup_raw).
2022-11-27 21:02:49 +01:00
Milan Broz
ebb16a511c tests: fix list of valgrind tests
FVAULT2 test was missing; systemd test does not support valgrid yet.
2022-11-27 19:48:57 +01:00
Milan Broz
51200eb6da tests: do not require build tools for localtest in systemd plugin test
Fo localtest we use installed binaries, only checkprograms need to be build.
2022-11-24 16:37:38 +01:00
Milan Broz
119c57e00e tests: remove stray backslash in grep expression 2022-11-24 15:01:47 +01:00
Milan Broz
700b0f6e36 tests: do not run systemd plugin test without fake tpm path
We want to avoid touching real TPM during test.
2022-11-24 15:00:19 +01:00
Milan Broz
8fff498062 tests: compile fake_tpm_path util also for localtest
Otherwise TPM_PATH will not be used.
2022-11-24 14:54:18 +01:00
Milan Broz
2ef2f6017d Update release notes. 2022-11-24 13:49:27 +01:00
Ondrej Kozina
cdfa213ad0 Allocate internal buffer in LUKS2 keyring token with crypt_safe_alloc.
With changes in db65a5ceac and subsequent
drop of library memlock_all we should lock keyring key material buffer
in memory system memory as well.
2022-11-24 09:03:29 +00:00
Milan Broz
dab00bfd4f CI: use libsepol-dev for Debian based distros.
Seems libselpol1-dev is disappearing.
2022-11-23 11:57:59 +00:00
Ondrej Kozina
c018558f2d Remove unused define CRYPT_KC_TYPE_UNDEFINED.
The defined was not yet released in stable version.
2022-11-23 11:08:55 +01:00
Milan Broz
3633b81909 CI: fix GutHub action install script 2022-11-22 16:38:10 +01:00
Yuri Chornoivan
b23a02b05c po: update uk.po (from translationproject.org) 2022-11-22 16:17:48 +01:00
Jakub Bogusz
347c39ca97 po: update pl.po (from translationproject.org) 2022-11-22 16:17:48 +01:00
Hiroshi Takekawa
2d1f1833e8 po: update ja.po (from translationproject.org) 2022-11-22 16:17:48 +01:00
Frédéric Marchal
7f09ab67e2 po: update fr.po (from translationproject.org) 2022-11-22 16:17:48 +01:00
Roland Illig
f5fb1f1b94 po: update de.po (from translationproject.org) 2022-11-22 16:17:48 +01:00
Petr Pisar
005141554f po: update cs.po (from translationproject.org) 2022-11-22 16:17:48 +01:00
Ondrej Kozina
cd8f80b7ee Clarify type requirements in crypt_volume_key_get_by_keyslot_context. 2022-11-21 15:56:14 +01:00
Milan Broz
c7bbae01a6 Fix some strings for translations.
No need to translate debug strings.
Fix spaces in key slot queries.
2022-11-20 12:36:26 +01:00
30 changed files with 5141 additions and 4586 deletions

View File

@@ -4,7 +4,7 @@ set -ex
PACKAGES=( PACKAGES=(
git make autoconf automake autopoint pkg-config libtool libtool-bin git make autoconf automake autopoint pkg-config libtool libtool-bin
gettext libssl-dev libdevmapper-dev libpopt-dev uuid-dev libsepol1-dev gettext libssl-dev libdevmapper-dev libpopt-dev uuid-dev libsepol-dev
libjson-c-dev libssh-dev libblkid-dev tar libargon2-0-dev libpwquality-dev libjson-c-dev libssh-dev libblkid-dev tar libargon2-0-dev libpwquality-dev
sharutils dmsetup jq xxd expect keyutils netcat passwd openssh-client sshpass sharutils dmsetup jq xxd expect keyutils netcat passwd openssh-client sshpass
asciidoctor asciidoctor

View File

@@ -4,7 +4,7 @@ set -ex
PACKAGES=( PACKAGES=(
git make autoconf automake autopoint pkg-config libtool libtool-bin git make autoconf automake autopoint pkg-config libtool libtool-bin
gettext libssl-dev libdevmapper-dev libpopt-dev uuid-dev libsepol1-dev gettext libssl-dev libdevmapper-dev libpopt-dev uuid-dev libsepol-dev
libjson-c-dev libssh-dev libblkid-dev tar libargon2-0-dev libpwquality-dev libjson-c-dev libssh-dev libblkid-dev tar libargon2-0-dev libpwquality-dev
sharutils dmsetup jq xxd expect keyutils netcat passwd openssh-client sshpass sharutils dmsetup jq xxd expect keyutils netcat passwd openssh-client sshpass
asciidoctor asciidoctor

View File

@@ -9,7 +9,7 @@
- > - >
sudo apt-get -y install -y -qq git gcc make autoconf automake autopoint sudo apt-get -y install -y -qq git gcc make autoconf automake autopoint
pkgconf libtool libtool-bin gettext libssl-dev libdevmapper-dev pkgconf libtool libtool-bin gettext libssl-dev libdevmapper-dev
libpopt-dev uuid-dev libsepol1-dev libjson-c-dev libssh-dev libblkid-dev libpopt-dev uuid-dev libsepol-dev libjson-c-dev libssh-dev libblkid-dev
tar libargon2-0-dev libpwquality-dev sharutils dmsetup jq xxd expect tar libargon2-0-dev libpwquality-dev sharutils dmsetup jq xxd expect
keyutils netcat passwd openssh-client sshpass asciidoctor keyutils netcat passwd openssh-client sshpass asciidoctor
- sudo apt-get -y build-dep cryptsetup - sudo apt-get -y build-dep cryptsetup

View File

@@ -45,22 +45,16 @@ Download
-------- --------
All release tarballs and release notes are hosted on [kernel.org](https://www.kernel.org/pub/linux/utils/cryptsetup/). All release tarballs and release notes are hosted on [kernel.org](https://www.kernel.org/pub/linux/utils/cryptsetup/).
**The latest stable cryptsetup release candidate version is 2.6.0-rc0** **The latest stable cryptsetup release version is 2.6.0**
* [cryptsetup-2.6.0-rc0.tar.xz](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.6/cryptsetup-2.6.0-rc0.tar.xz) * [cryptsetup-2.6.0.tar.xz](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.6/cryptsetup-2.6.0.tar.xz)
* Signature [cryptsetup-2.6.0-rc0.tar.sign](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.6/cryptsetup-2.6.0-rc0.tar.sign) * Signature [cryptsetup-2.6.0.tar.sign](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.6/cryptsetup-2.6.0.tar.sign)
_(You need to decompress file first to check signature.)_ _(You need to decompress file first to check signature.)_
* [Cryptsetup 2.6.0-rc0 Release Notes](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.6/v2.6.0-rc0-ReleaseNotes). * [Cryptsetup 2.6.0 Release Notes](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.6/v2.6.0-ReleaseNotes).
**The latest stable cryptsetup version is 2.5.0**
* [cryptsetup-2.5.0.tar.xz](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.5/cryptsetup-2.5.0.tar.xz)
* Signature [cryptsetup-2.5.0.tar.sign](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.5/cryptsetup-2.5.0.tar.sign)
_(You need to decompress file first to check signature.)_
* [Cryptsetup 2.5.0 Release Notes](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.5/v2.5.0-ReleaseNotes).
Previous versions Previous versions
* [Version 2.4.3](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/cryptsetup-2.4.3.tar.xz) - * [Version 2.5.0](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.5/cryptsetup-2.5.0.tar.xz) -
[Signature](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/cryptsetup-2.4.3.tar.sign) - [Signature](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.5/cryptsetup-2.5.0.tar.sign) -
[Release Notes](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/v2.4.3-ReleaseNotes). [Release Notes](https://www.kernel.org/pub/linux/utils/cryptsetup/v2.5/v2.5.0-ReleaseNotes).
* [Version 1.7.5](https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/cryptsetup-1.7.5.tar.xz) - * [Version 1.7.5](https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/cryptsetup-1.7.5.tar.xz) -
[Signature](https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/cryptsetup-1.7.5.tar.sign) - [Signature](https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/cryptsetup-1.7.5.tar.sign) -
[Release Notes](https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/v1.7.5-ReleaseNotes). [Release Notes](https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/v1.7.5-ReleaseNotes).

View File

@@ -1,5 +1,5 @@
AC_PREREQ([2.67]) AC_PREREQ([2.67])
AC_INIT([cryptsetup],[2.6.0-rc0]) AC_INIT([cryptsetup],[2.6.0])
dnl library version from <major>.<minor>.<release>[-<suffix>] dnl library version from <major>.<minor>.<release>[-<suffix>]
LIBCRYPTSETUP_VERSION=$(echo $PACKAGE_VERSION | cut -f1 -d-) LIBCRYPTSETUP_VERSION=$(echo $PACKAGE_VERSION | cut -f1 -d-)

View File

@@ -1,6 +1,6 @@
Cryptsetup 2.6.0-rc0 Release Notes Cryptsetup 2.6.0 Release Notes
================================== ==============================
Stable release candidate with new features and bug fixes. Stable release with new features and bug fixes.
Changes since version 2.5.0 Changes since version 2.5.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -31,9 +31,9 @@ Changes since version 2.5.0
$ lsblk -o NAME,FSTYPE,LABEL /dev/sda $ lsblk -o NAME,FSTYPE,LABEL /dev/sda
NAME FSTYPE LABEL NAME FSTYPE LABEL
sda sda
├─sda1 vfat EFI |-sda1 vfat EFI
├─sda2 |-sda2
└─sda3 hfsplus Boot OS X `-sda3 hfsplus Boot OS X
Note: blkid does not recognize FileVault2 format yet. Note: blkid does not recognize FileVault2 format yet.
@@ -114,6 +114,9 @@ Changes since version 2.5.0
volume key in a new keyslot. volume key in a new keyslot.
Previously the options were limited to key files and passphrases. Previously the options were limited to key files and passphrases.
Newly available methods (keyslot contexts) are passphrase, keyfile,
key (binary representation), and LUKS2 token.
To unlock a keyslot user may: To unlock a keyslot user may:
- provide existing passphrase via interactive prompt (default method) - provide existing passphrase via interactive prompt (default method)
- use --key-file option to provide a file with a valid passphrase - use --key-file option to provide a file with a valid passphrase
@@ -129,13 +132,10 @@ Changes since version 2.5.0
for new keyslot. The new keyslot is assigned to the selected token for new keyslot. The new keyslot is assigned to the selected token
id if the operation is successful. id if the operation is successful.
The volume key may now be extracted using a passphrase, keyfile, or * The volume key may now be extracted using a passphrase, keyfile, or
token. For LUKS devices, it also returns the volume key after token. For LUKS devices, it also returns the volume key after
a successful crypt_format call. a successful crypt_format call.
The available methods (keyslot contexts) are passphrase, keyfile,
key (binary representation), and LUKS2 token.
* Fix --disable-luks2-reencryption configuration option. * Fix --disable-luks2-reencryption configuration option.
* cryptsetup: Print a better error message and warning if the format * cryptsetup: Print a better error message and warning if the format
@@ -205,7 +205,7 @@ New symbols:
New defines: New defines:
CRYPT_FVAULT2 "FVAULT2" (FileVault2 compatible mode) CRYPT_FVAULT2 "FVAULT2" (FileVault2 compatible mode)
CRYPT_KC_TYPE_UNDEFINED (keyslot context types) Keyslot context types:
CRYPT_KC_TYPE_PASSPHRASE CRYPT_KC_TYPE_PASSPHRASE
CRYPT_KC_TYPE_KEYFILE CRYPT_KC_TYPE_KEYFILE
CRYPT_KC_TYPE_TOKEN CRYPT_KC_TYPE_TOKEN

View File

@@ -546,7 +546,7 @@ static int _read_volume_header(
r = _check_crc(vol_header, FVAULT2_VOL_HEADER_SIZE); r = _check_crc(vol_header, FVAULT2_VOL_HEADER_SIZE);
if (r < 0) { if (r < 0) {
log_dbg(cd, _("CRC mismatch.")); log_dbg(cd, "CRC mismatch.");
goto out; goto out;
} }
@@ -558,13 +558,13 @@ static int _read_volume_header(
} }
if (be16_to_cpu(vol_header->magic) != FVAULT2_CORE_STORAGE_MAGIC) { if (be16_to_cpu(vol_header->magic) != FVAULT2_CORE_STORAGE_MAGIC) {
log_dbg(cd, _("Invalid Core Storage magic bytes.")); log_dbg(cd, "Invalid Core Storage magic bytes.");
r = -EINVAL; r = -EINVAL;
goto out; goto out;
} }
if (le32_to_cpu(vol_header->key_data_size) != FVAULT2_AES_KEY_SIZE) { if (le32_to_cpu(vol_header->key_data_size) != FVAULT2_AES_KEY_SIZE) {
log_dbg(cd, _("Unsupported AES key size: %" PRIu32 " bytes."), log_dbg(cd, "Unsupported AES key size: %" PRIu32 " bytes.",
le32_to_cpu(vol_header->key_data_size)); le32_to_cpu(vol_header->key_data_size));
r = -EINVAL; r = -EINVAL;
goto out; goto out;
@@ -620,7 +620,7 @@ static int _read_disklabel(
if (uint64_mult_overflow(&off, disklbl_blkoff, block_size) || if (uint64_mult_overflow(&off, disklbl_blkoff, block_size) ||
off > FVAULT2_MAX_OFF) { off > FVAULT2_MAX_OFF) {
log_dbg(cd, _("Device offset overflow.")); log_dbg(cd, "Device offset overflow.");
r = -EINVAL; r = -EINVAL;
goto out; goto out;
} }
@@ -634,7 +634,7 @@ static int _read_disklabel(
r = _check_crc(md_block, FVAULT2_MD_BLOCK_SIZE); r = _check_crc(md_block, FVAULT2_MD_BLOCK_SIZE);
if (r < 0) { if (r < 0) {
log_dbg(cd, _("CRC mismatch.")); log_dbg(cd, "CRC mismatch.");
goto out; goto out;
} }
@@ -647,7 +647,7 @@ static int _read_disklabel(
md_block_11 = md_block; md_block_11 = md_block;
off += le32_to_cpu(md_block_11->vol_gr_des_off); off += le32_to_cpu(md_block_11->vol_gr_des_off);
if (off > FVAULT2_MAX_OFF) { if (off > FVAULT2_MAX_OFF) {
log_dbg(cd, _("Device offset overflow.")); log_dbg(cd, "Device offset overflow.");
r = -EINVAL; r = -EINVAL;
goto out; goto out;
} }
@@ -723,7 +723,7 @@ static int _read_encrypted_metadata(
if (uint64_mult_overflow(&start_off, start_blkoff, block_size) || if (uint64_mult_overflow(&start_off, start_blkoff, block_size) ||
start_off > FVAULT2_MAX_OFF) { start_off > FVAULT2_MAX_OFF) {
log_dbg(cd, _("Device offset overflow.")); log_dbg(cd, "Device offset overflow.");
r = -EINVAL; r = -EINVAL;
goto out; goto out;
} }
@@ -732,7 +732,7 @@ static int _read_encrypted_metadata(
for (i = 0; i < blocks_n; i++) { for (i = 0; i < blocks_n; i++) {
off = start_off + i * FVAULT2_MD_BLOCK_SIZE; off = start_off + i * FVAULT2_MD_BLOCK_SIZE;
if (off > FVAULT2_MAX_OFF) { if (off > FVAULT2_MAX_OFF) {
log_dbg(cd, _("Device offset overflow.")); log_dbg(cd, "Device offset overflow.");
r = -EINVAL; r = -EINVAL;
goto out; goto out;
} }
@@ -755,7 +755,7 @@ static int _read_encrypted_metadata(
r = _check_crc(md_block, FVAULT2_MD_BLOCK_SIZE); r = _check_crc(md_block, FVAULT2_MD_BLOCK_SIZE);
if (r < 0) { if (r < 0) {
log_dbg(cd, _("CRC mismatch.")); log_dbg(cd, "CRC mismatch.");
goto out; goto out;
} }
@@ -792,7 +792,7 @@ static int _read_encrypted_metadata(
goto out; goto out;
if (uint64_mult_overflow(&params->log_vol_off, if (uint64_mult_overflow(&params->log_vol_off,
log_vol_blkoff, block_size)) { log_vol_blkoff, block_size)) {
log_dbg(cd, _("Device offset overflow.")); log_dbg(cd, "Device offset overflow.");
r = -EINVAL; r = -EINVAL;
goto out; goto out;
} }
@@ -802,7 +802,7 @@ static int _read_encrypted_metadata(
} }
if (status != FVAULT2_ENC_MD_PARSED_ALL) { if (status != FVAULT2_ENC_MD_PARSED_ALL) {
log_dbg(cd, _("Necessary FVAULT2 metadata blocks not found.")); log_dbg(cd, "Necessary FVAULT2 metadata blocks not found.");
r = -EINVAL; r = -EINVAL;
goto out; goto out;
} }
@@ -917,7 +917,7 @@ int FVAULT2_get_volume_key(
*vol_key = NULL; *vol_key = NULL;
if (uuid_parse(params->family_uuid, family_uuid_bin) < 0) { if (uuid_parse(params->family_uuid, family_uuid_bin) < 0) {
log_dbg(cd, _("Could not parse logical volume family UUID: %s."), log_dbg(cd, "Could not parse logical volume family UUID: %s.",
params->family_uuid); params->family_uuid);
r = -EINVAL; r = -EINVAL;
goto out; goto out;

View File

@@ -1229,8 +1229,6 @@ int crypt_keyslot_context_set_pin(struct crypt_device *cd,
* @addtogroup crypt-keyslot-context-types * @addtogroup crypt-keyslot-context-types
* @{ * @{
*/ */
/** keyslot context is not properly initialized */
#define CRYPT_KC_TYPE_UNDEFINED INT16_C(0)
/** keyslot context initialized by passphrase (@link crypt_keyslot_context_init_by_passphrase @endlink) */ /** keyslot context initialized by passphrase (@link crypt_keyslot_context_init_by_passphrase @endlink) */
#define CRYPT_KC_TYPE_PASSPHRASE INT16_C(1) #define CRYPT_KC_TYPE_PASSPHRASE INT16_C(1)
/** keyslot context initialized by keyfile (@link crypt_keyslot_context_init_by_keyfile @endlink) */ /** keyslot context initialized by keyfile (@link crypt_keyslot_context_init_by_keyfile @endlink) */

View File

@@ -236,6 +236,7 @@ int LUKS_hdr_backup(const char *backup_file, struct crypt_device *ctx)
r = -ENOMEM; r = -ENOMEM;
goto out; goto out;
} }
memset(buffer, 0, buffer_size);
log_dbg(ctx, "Storing backup of header (%zu bytes) and keyslot area (%zu bytes).", log_dbg(ctx, "Storing backup of header (%zu bytes) and keyslot area (%zu bytes).",
sizeof(hdr), hdr_size - LUKS_ALIGN_KEYSLOTS); sizeof(hdr), hdr_size - LUKS_ALIGN_KEYSLOTS);

View File

@@ -189,6 +189,8 @@ void keyring_dump(struct crypt_device *cd, const char *json);
int keyring_validate(struct crypt_device *cd, const char *json); int keyring_validate(struct crypt_device *cd, const char *json);
void keyring_buffer_free(void *buffer, size_t buffer_size);
struct crypt_token_handler_v2 { struct crypt_token_handler_v2 {
const char *name; const char *name;
crypt_token_open_func open; crypt_token_open_func open;

View File

@@ -37,6 +37,7 @@ static struct crypt_token_handler_internal token_handlers[LUKS2_TOKENS_MAX] = {
.u = { .u = {
.v1 = { .name = LUKS2_TOKEN_KEYRING, .v1 = { .name = LUKS2_TOKEN_KEYRING,
.open = keyring_open, .open = keyring_open,
.buffer_free = keyring_buffer_free,
.validate = keyring_validate, .validate = keyring_validate,
.dump = keyring_dump } .dump = keyring_dump }
} }

View File

@@ -137,3 +137,8 @@ int LUKS2_token_keyring_get(struct luks2_hdr *hdr,
return token; return token;
} }
void keyring_buffer_free(void *buffer, size_t buffer_len __attribute__((unused)))
{
crypt_safe_free(buffer);
}

View File

@@ -4897,10 +4897,10 @@ int crypt_volume_key_get_by_keyslot_context(struct crypt_device *cd,
return -ENOMEM; return -ENOMEM;
} }
if (kc && !kc->get_passphrase) if (kc && (!kc->get_passphrase || kc->type == CRYPT_KC_TYPE_KEY))
return -EINVAL; return -EINVAL;
if (kc && kc->get_passphrase) { if (kc) {
r = kc->get_passphrase(cd, kc, &passphrase, &passphrase_size); r = kc->get_passphrase(cd, kc, &passphrase, &passphrase_size);
if (r < 0) if (r < 0)
return r; return r;
@@ -6491,8 +6491,7 @@ int crypt_activate_by_keyring(struct crypt_device *cd,
r = _activate_by_passphrase(cd, name, keyslot, passphrase, passphrase_size, flags); r = _activate_by_passphrase(cd, name, keyslot, passphrase, passphrase_size, flags);
crypt_safe_memzero(passphrase, passphrase_size); crypt_safe_free(passphrase);
free(passphrase);
return r; return r;
} }

View File

@@ -47,6 +47,7 @@ int crypt_benchmark(struct crypt_device *cd,
r = -ENOMEM; r = -ENOMEM;
if (posix_memalign(&buffer, crypt_getpagesize(), buffer_size)) if (posix_memalign(&buffer, crypt_getpagesize(), buffer_size))
goto out; goto out;
memset(buffer, 0, buffer_size);
r = crypt_cipher_ivsize(cipher, cipher_mode); r = crypt_cipher_ivsize(cipher, cipher_mode);
if (r >= 0 && iv_size != (size_t)r) { if (r >= 0 && iv_size != (size_t)r) {

View File

@@ -105,7 +105,7 @@ static int open_lock_dir(struct crypt_device *cd, const char *dir, const char *b
lockdfd = openat(dirfd, base, O_RDONLY | O_NOFOLLOW | O_DIRECTORY | O_CLOEXEC); lockdfd = openat(dirfd, base, O_RDONLY | O_NOFOLLOW | O_DIRECTORY | O_CLOEXEC);
if (lockdfd < 0) { if (lockdfd < 0) {
if (errno == ENOENT) { if (errno == ENOENT) {
log_dbg(cd, _("Locking directory %s/%s will be created with default compiled-in permissions."), dir, base); log_dbg(cd, "Locking directory %s/%s will be created with default compiled-in permissions.", dir, base);
/* success or failure w/ errno == EEXIST either way just try to open the 'base' directory again */ /* success or failure w/ errno == EEXIST either way just try to open the 'base' directory again */
if (mkdirat(dirfd, base, DEFAULT_LUKS2_LOCK_DIR_PERMS) && errno != EEXIST) if (mkdirat(dirfd, base, DEFAULT_LUKS2_LOCK_DIR_PERMS) && errno != EEXIST)

View File

@@ -163,7 +163,7 @@ int keyring_get_passphrase(const char *key_desc,
ret = keyctl_read(kid, NULL, 0); ret = keyctl_read(kid, NULL, 0);
if (ret > 0) { if (ret > 0) {
len = ret; len = ret;
buf = malloc(len); buf = crypt_safe_alloc(len);
if (!buf) if (!buf)
return -ENOMEM; return -ENOMEM;
@@ -173,9 +173,7 @@ int keyring_get_passphrase(const char *key_desc,
if (ret < 0) { if (ret < 0) {
err = errno; err = errno;
if (buf) crypt_safe_free(buf);
crypt_safe_memzero(buf, len);
free(buf);
return -err; return -err;
} }

View File

@@ -5,9 +5,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: cryptsetup 2.6.0-rc0\n" "Project-Id-Version: cryptsetup 2.6.0\n"
"Report-Msgid-Bugs-To: cryptsetup@lists.linux.dev\n" "Report-Msgid-Bugs-To: cryptsetup@lists.linux.dev\n"
"POT-Creation-Date: 2022-11-18 22:14+0100\n" "POT-Creation-Date: 2022-11-28 12:16+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -174,7 +174,7 @@ msgstr ""
msgid "Failed to rollback LUKS2 metadata in memory." msgid "Failed to rollback LUKS2 metadata in memory."
msgstr "" msgstr ""
#: lib/setup.c:849 lib/luks1/keymanage.c:247 lib/luks1/keymanage.c:525 #: lib/setup.c:849 lib/luks1/keymanage.c:248 lib/luks1/keymanage.c:526
#: lib/luks2/luks2_json_metadata.c:1336 src/cryptsetup.c:1587 #: lib/luks2/luks2_json_metadata.c:1336 src/cryptsetup.c:1587
#: src/cryptsetup.c:1727 src/cryptsetup.c:1782 src/cryptsetup.c:1977 #: src/cryptsetup.c:1727 src/cryptsetup.c:1782 src/cryptsetup.c:1977
#: src/cryptsetup.c:2133 src/cryptsetup.c:2414 src/cryptsetup.c:2656 #: src/cryptsetup.c:2133 src/cryptsetup.c:2414 src/cryptsetup.c:2656
@@ -184,7 +184,7 @@ msgstr ""
msgid "Device %s is not a valid LUKS device." msgid "Device %s is not a valid LUKS device."
msgstr "" msgstr ""
#: lib/setup.c:852 lib/luks1/keymanage.c:528 #: lib/setup.c:852 lib/luks1/keymanage.c:529
#, c-format #, c-format
msgid "Unsupported LUKS version %d." msgid "Unsupported LUKS version %d."
msgstr "" msgstr ""
@@ -607,7 +607,7 @@ msgstr ""
msgid "Failed to read passphrase from keyring (error %d)." msgid "Failed to read passphrase from keyring (error %d)."
msgstr "" msgstr ""
#: lib/setup.c:6512 #: lib/setup.c:6511
msgid "Failed to acquire global memory-hard access serialization lock." msgid "Failed to acquire global memory-hard access serialization lock."
msgstr "" msgstr ""
@@ -627,8 +627,8 @@ msgstr ""
msgid "Cannot seek to requested keyfile offset." msgid "Cannot seek to requested keyfile offset."
msgstr "" msgstr ""
#: lib/utils.c:202 lib/utils.c:217 src/utils_password.c:227 #: lib/utils.c:202 lib/utils.c:217 src/utils_password.c:225
#: src/utils_password.c:239 #: src/utils_password.c:237
msgid "Out of memory while reading passphrase." msgid "Out of memory while reading passphrase."
msgstr "" msgstr ""
@@ -754,16 +754,16 @@ msgstr ""
msgid "Only PBKDF2 is supported in FIPS mode." msgid "Only PBKDF2 is supported in FIPS mode."
msgstr "" msgstr ""
#: lib/utils_benchmark.c:174 #: lib/utils_benchmark.c:175
msgid "PBKDF benchmark disabled but iterations not set." msgid "PBKDF benchmark disabled but iterations not set."
msgstr "" msgstr ""
#: lib/utils_benchmark.c:193 #: lib/utils_benchmark.c:194
#, c-format #, c-format
msgid "Not compatible PBKDF2 options (using hash algorithm %s)." msgid "Not compatible PBKDF2 options (using hash algorithm %s)."
msgstr "" msgstr ""
#: lib/utils_benchmark.c:213 #: lib/utils_benchmark.c:214
msgid "Not compatible PBKDF options." msgid "Not compatible PBKDF options."
msgstr "" msgstr ""
@@ -774,12 +774,6 @@ msgid ""
"missing)." "missing)."
msgstr "" msgstr ""
#: lib/utils_device_locking.c:108
#, c-format
msgid ""
"Locking directory %s/%s will be created with default compiled-in permissions."
msgstr ""
#: lib/utils_device_locking.c:118 #: lib/utils_device_locking.c:118
#, c-format #, c-format
msgid "" msgid ""
@@ -811,8 +805,8 @@ msgstr ""
msgid "Cipher specification should be in [cipher]-[mode]-[iv] format." msgid "Cipher specification should be in [cipher]-[mode]-[iv] format."
msgstr "" msgstr ""
#: lib/luks1/keyencryption.c:97 lib/luks1/keymanage.c:364 #: lib/luks1/keyencryption.c:97 lib/luks1/keymanage.c:365
#: lib/luks1/keymanage.c:675 lib/luks1/keymanage.c:1126 #: lib/luks1/keymanage.c:676 lib/luks1/keymanage.c:1127
#: lib/luks2/luks2_json_metadata.c:1490 lib/luks2/luks2_keyslot.c:714 #: lib/luks2/luks2_json_metadata.c:1490 lib/luks2/luks2_keyslot.c:714
#, c-format #, c-format
msgid "Cannot write to device %s, permission denied." msgid "Cannot write to device %s, permission denied."
@@ -831,8 +825,8 @@ msgstr ""
msgid "IO error while encrypting keyslot." msgid "IO error while encrypting keyslot."
msgstr "" msgstr ""
#: lib/luks1/keyencryption.c:246 lib/luks1/keymanage.c:367 #: lib/luks1/keyencryption.c:246 lib/luks1/keymanage.c:368
#: lib/luks1/keymanage.c:628 lib/luks1/keymanage.c:678 lib/tcrypt/tcrypt.c:679 #: lib/luks1/keymanage.c:629 lib/luks1/keymanage.c:679 lib/tcrypt/tcrypt.c:679
#: lib/fvault2/fvault2.c:877 lib/verity/verity.c:80 lib/verity/verity.c:196 #: lib/fvault2/fvault2.c:877 lib/verity/verity.c:80 lib/verity/verity.c:196
#: lib/verity/verity_hash.c:320 lib/verity/verity_hash.c:329 #: lib/verity/verity_hash.c:320 lib/verity/verity_hash.c:329
#: lib/verity/verity_hash.c:349 lib/verity/verity_fec.c:260 #: lib/verity/verity_hash.c:349 lib/verity/verity_fec.c:260
@@ -859,184 +853,184 @@ msgstr ""
msgid "LUKS keyslot %u is invalid." msgid "LUKS keyslot %u is invalid."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:265 lib/luks2/luks2_json_metadata.c:1353 #: lib/luks1/keymanage.c:266 lib/luks2/luks2_json_metadata.c:1353
#, c-format #, c-format
msgid "Requested header backup file %s already exists." msgid "Requested header backup file %s already exists."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:267 lib/luks2/luks2_json_metadata.c:1355 #: lib/luks1/keymanage.c:268 lib/luks2/luks2_json_metadata.c:1355
#, c-format #, c-format
msgid "Cannot create header backup file %s." msgid "Cannot create header backup file %s."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:274 lib/luks2/luks2_json_metadata.c:1362 #: lib/luks1/keymanage.c:275 lib/luks2/luks2_json_metadata.c:1362
#, c-format #, c-format
msgid "Cannot write header backup file %s." msgid "Cannot write header backup file %s."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:306 lib/luks2/luks2_json_metadata.c:1399 #: lib/luks1/keymanage.c:307 lib/luks2/luks2_json_metadata.c:1399
msgid "Backup file does not contain valid LUKS header." msgid "Backup file does not contain valid LUKS header."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:319 lib/luks1/keymanage.c:591 #: lib/luks1/keymanage.c:320 lib/luks1/keymanage.c:592
#: lib/luks2/luks2_json_metadata.c:1420 #: lib/luks2/luks2_json_metadata.c:1420
#, c-format #, c-format
msgid "Cannot open header backup file %s." msgid "Cannot open header backup file %s."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:327 lib/luks2/luks2_json_metadata.c:1428 #: lib/luks1/keymanage.c:328 lib/luks2/luks2_json_metadata.c:1428
#, c-format #, c-format
msgid "Cannot read header backup file %s." msgid "Cannot read header backup file %s."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:337 #: lib/luks1/keymanage.c:338
msgid "Data offset or key size differs on device and backup, restore failed." msgid "Data offset or key size differs on device and backup, restore failed."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:345 #: lib/luks1/keymanage.c:346
#, c-format #, c-format
msgid "Device %s %s%s" msgid "Device %s %s%s"
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:346 #: lib/luks1/keymanage.c:347
msgid "" msgid ""
"does not contain LUKS header. Replacing header can destroy data on that " "does not contain LUKS header. Replacing header can destroy data on that "
"device." "device."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:347 #: lib/luks1/keymanage.c:348
msgid "" msgid ""
"already contains LUKS header. Replacing header will destroy existing " "already contains LUKS header. Replacing header will destroy existing "
"keyslots." "keyslots."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:348 lib/luks2/luks2_json_metadata.c:1462 #: lib/luks1/keymanage.c:349 lib/luks2/luks2_json_metadata.c:1462
msgid "" msgid ""
"\n" "\n"
"WARNING: real device header has different UUID than backup!" "WARNING: real device header has different UUID than backup!"
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:396 #: lib/luks1/keymanage.c:397
msgid "Non standard key size, manual repair required." msgid "Non standard key size, manual repair required."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:406 #: lib/luks1/keymanage.c:407
msgid "Non standard keyslots alignment, manual repair required." msgid "Non standard keyslots alignment, manual repair required."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:415 #: lib/luks1/keymanage.c:416
#, c-format #, c-format
msgid "Cipher mode repaired (%s -> %s)." msgid "Cipher mode repaired (%s -> %s)."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:426 #: lib/luks1/keymanage.c:427
#, c-format #, c-format
msgid "Cipher hash repaired to lowercase (%s)." msgid "Cipher hash repaired to lowercase (%s)."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:428 lib/luks1/keymanage.c:534 #: lib/luks1/keymanage.c:429 lib/luks1/keymanage.c:535
#: lib/luks1/keymanage.c:790 #: lib/luks1/keymanage.c:791
#, c-format #, c-format
msgid "Requested LUKS hash %s is not supported." msgid "Requested LUKS hash %s is not supported."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:442 #: lib/luks1/keymanage.c:443
msgid "Repairing keyslots." msgid "Repairing keyslots."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:461 #: lib/luks1/keymanage.c:462
#, c-format #, c-format
msgid "Keyslot %i: offset repaired (%u -> %u)." msgid "Keyslot %i: offset repaired (%u -> %u)."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:469 #: lib/luks1/keymanage.c:470
#, c-format #, c-format
msgid "Keyslot %i: stripes repaired (%u -> %u)." msgid "Keyslot %i: stripes repaired (%u -> %u)."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:478 #: lib/luks1/keymanage.c:479
#, c-format #, c-format
msgid "Keyslot %i: bogus partition signature." msgid "Keyslot %i: bogus partition signature."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:483 #: lib/luks1/keymanage.c:484
#, c-format #, c-format
msgid "Keyslot %i: salt wiped." msgid "Keyslot %i: salt wiped."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:500 #: lib/luks1/keymanage.c:501
msgid "Writing LUKS header to disk." msgid "Writing LUKS header to disk."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:505 #: lib/luks1/keymanage.c:506
msgid "Repair failed." msgid "Repair failed."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:560 #: lib/luks1/keymanage.c:561
#, c-format #, c-format
msgid "LUKS cipher mode %s is invalid." msgid "LUKS cipher mode %s is invalid."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:565 #: lib/luks1/keymanage.c:566
#, c-format #, c-format
msgid "LUKS hash %s is invalid." msgid "LUKS hash %s is invalid."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:572 src/cryptsetup.c:1281 #: lib/luks1/keymanage.c:573 src/cryptsetup.c:1281
msgid "No known problems detected for LUKS header." msgid "No known problems detected for LUKS header."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:700 #: lib/luks1/keymanage.c:701
#, c-format #, c-format
msgid "Error during update of LUKS header on device %s." msgid "Error during update of LUKS header on device %s."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:708 #: lib/luks1/keymanage.c:709
#, c-format #, c-format
msgid "Error re-reading LUKS header after update on device %s." msgid "Error re-reading LUKS header after update on device %s."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:784 #: lib/luks1/keymanage.c:785
msgid "" msgid ""
"Data offset for LUKS header must be either 0 or higher than header size." "Data offset for LUKS header must be either 0 or higher than header size."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:795 lib/luks1/keymanage.c:864 #: lib/luks1/keymanage.c:796 lib/luks1/keymanage.c:865
#: lib/luks2/luks2_json_format.c:286 lib/luks2/luks2_json_metadata.c:1236 #: lib/luks2/luks2_json_format.c:286 lib/luks2/luks2_json_metadata.c:1236
#: src/utils_reencrypt.c:514 #: src/utils_reencrypt.c:514
msgid "Wrong LUKS UUID format provided." msgid "Wrong LUKS UUID format provided."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:817 #: lib/luks1/keymanage.c:818
msgid "Cannot create LUKS header: reading random salt failed." msgid "Cannot create LUKS header: reading random salt failed."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:843 #: lib/luks1/keymanage.c:844
#, c-format #, c-format
msgid "Cannot create LUKS header: header digest failed (using hash %s)." msgid "Cannot create LUKS header: header digest failed (using hash %s)."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:887 #: lib/luks1/keymanage.c:888
#, c-format #, c-format
msgid "Key slot %d active, purge first." msgid "Key slot %d active, purge first."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:893 #: lib/luks1/keymanage.c:894
#, c-format #, c-format
msgid "Key slot %d material includes too few stripes. Header manipulation?" msgid "Key slot %d material includes too few stripes. Header manipulation?"
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:1034 #: lib/luks1/keymanage.c:1035
#, c-format #, c-format
msgid "Cannot open keyslot (using hash %s)." msgid "Cannot open keyslot (using hash %s)."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:1112 #: lib/luks1/keymanage.c:1113
#, c-format #, c-format
msgid "Key slot %d is invalid, please select keyslot between 0 and %d." msgid "Key slot %d is invalid, please select keyslot between 0 and %d."
msgstr "" msgstr ""
#: lib/luks1/keymanage.c:1130 lib/luks2/luks2_keyslot.c:718 #: lib/luks1/keymanage.c:1131 lib/luks2/luks2_keyslot.c:718
#, c-format #, c-format
msgid "Cannot wipe device %s." msgid "Cannot wipe device %s."
msgstr "" msgstr ""
@@ -1245,41 +1239,11 @@ msgstr ""
msgid "Could not read %u bytes of volume header." msgid "Could not read %u bytes of volume header."
msgstr "" msgstr ""
#: lib/fvault2/fvault2.c:549 lib/fvault2/fvault2.c:637
#: lib/fvault2/fvault2.c:758
msgid "CRC mismatch."
msgstr ""
#: lib/fvault2/fvault2.c:554 #: lib/fvault2/fvault2.c:554
#, c-format #, c-format
msgid "Unsupported FVAULT2 version %<PRIu16>." msgid "Unsupported FVAULT2 version %<PRIu16>."
msgstr "" msgstr ""
#: lib/fvault2/fvault2.c:561
msgid "Invalid Core Storage magic bytes."
msgstr ""
#: lib/fvault2/fvault2.c:567
#, c-format
msgid "Unsupported AES key size: %<PRIu32> bytes."
msgstr ""
#: lib/fvault2/fvault2.c:623 lib/fvault2/fvault2.c:650
#: lib/fvault2/fvault2.c:726 lib/fvault2/fvault2.c:735
#: lib/fvault2/fvault2.c:795 lib/verity/verity_hash.c:167
#: lib/verity/verity_hash.c:300 lib/verity/verity_hash.c:311
msgid "Device offset overflow."
msgstr ""
#: lib/fvault2/fvault2.c:805
msgid "Necessary FVAULT2 metadata blocks not found."
msgstr ""
#: lib/fvault2/fvault2.c:920
#, c-format
msgid "Could not parse logical volume family UUID: %s."
msgstr ""
#: lib/verity/verity.c:68 lib/verity/verity.c:182 #: lib/verity/verity.c:68 lib/verity/verity.c:182
#, c-format #, c-format
msgid "Verity device %s does not use on-disk header." msgid "Verity device %s does not use on-disk header."
@@ -1334,6 +1298,11 @@ msgstr ""
msgid "Spare area is not zeroed at position %<PRIu64>." msgid "Spare area is not zeroed at position %<PRIu64>."
msgstr "" msgstr ""
#: lib/verity/verity_hash.c:167 lib/verity/verity_hash.c:300
#: lib/verity/verity_hash.c:311
msgid "Device offset overflow."
msgstr ""
#: lib/verity/verity_hash.c:218 #: lib/verity/verity_hash.c:218
#, c-format #, c-format
msgid "Verification failed at position %<PRIu64>." msgid "Verification failed at position %<PRIu64>."
@@ -1926,12 +1895,12 @@ msgstr ""
#: src/cryptsetup.c:108 src/cryptsetup.c:1901 #: src/cryptsetup.c:108 src/cryptsetup.c:1901
#, c-format #, c-format
msgid "Enter token PIN:" msgid "Enter token PIN: "
msgstr "" msgstr ""
#: src/cryptsetup.c:110 src/cryptsetup.c:1903 #: src/cryptsetup.c:110 src/cryptsetup.c:1903
#, c-format #, c-format
msgid "Enter token %d PIN:" msgid "Enter token %d PIN: "
msgstr "" msgstr ""
#: src/cryptsetup.c:159 src/cryptsetup.c:1103 src/cryptsetup.c:1430 #: src/cryptsetup.c:159 src/cryptsetup.c:1103 src/cryptsetup.c:1430
@@ -2222,7 +2191,7 @@ msgstr ""
msgid "Device %s is not a valid LUKS2 device." msgid "Device %s is not a valid LUKS2 device."
msgstr "" msgstr ""
#: src/cryptsetup.c:1867 #: src/cryptsetup.c:1867 src/cryptsetup.c:2072
msgid "Enter new passphrase for key slot: " msgid "Enter new passphrase for key slot: "
msgstr "" msgstr ""
@@ -2235,10 +2204,6 @@ msgstr ""
msgid "Enter any existing passphrase: " msgid "Enter any existing passphrase: "
msgstr "" msgstr ""
#: src/cryptsetup.c:2072
msgid "Enter new passphrase for key slot:"
msgstr ""
#: src/cryptsetup.c:2152 #: src/cryptsetup.c:2152
msgid "Enter passphrase to be changed: " msgid "Enter passphrase to be changed: "
msgstr "" msgstr ""
@@ -3234,7 +3199,7 @@ msgstr ""
msgid "Finished, time %s, %s, %s\n" msgid "Finished, time %s, %s, %s\n"
msgstr "" msgstr ""
#: src/utils_password.c:41 src/utils_password.c:74 #: src/utils_password.c:41 src/utils_password.c:72
#, c-format #, c-format
msgid "Cannot check password quality: %s" msgid "Cannot check password quality: %s"
msgstr "" msgstr ""
@@ -3246,42 +3211,42 @@ msgid ""
" %s" " %s"
msgstr "" msgstr ""
#: src/utils_password.c:81 #: src/utils_password.c:79
#, c-format #, c-format
msgid "Password quality check failed: Bad passphrase (%s)" msgid "Password quality check failed: Bad passphrase (%s)"
msgstr "" msgstr ""
#: src/utils_password.c:232 src/utils_password.c:246 #: src/utils_password.c:230 src/utils_password.c:244
msgid "Error reading passphrase from terminal." msgid "Error reading passphrase from terminal."
msgstr "" msgstr ""
#: src/utils_password.c:244 #: src/utils_password.c:242
msgid "Verify passphrase: " msgid "Verify passphrase: "
msgstr "" msgstr ""
#: src/utils_password.c:251 #: src/utils_password.c:249
msgid "Passphrases do not match." msgid "Passphrases do not match."
msgstr "" msgstr ""
#: src/utils_password.c:289 #: src/utils_password.c:287
msgid "Cannot use offset with terminal input." msgid "Cannot use offset with terminal input."
msgstr "" msgstr ""
#: src/utils_password.c:293 #: src/utils_password.c:291
#, c-format #, c-format
msgid "Enter passphrase: " msgid "Enter passphrase: "
msgstr "" msgstr ""
#: src/utils_password.c:296 #: src/utils_password.c:294
#, c-format #, c-format
msgid "Enter passphrase for %s: " msgid "Enter passphrase for %s: "
msgstr "" msgstr ""
#: src/utils_password.c:330 #: src/utils_password.c:328
msgid "No key available with this passphrase." msgid "No key available with this passphrase."
msgstr "" msgstr ""
#: src/utils_password.c:332 #: src/utils_password.c:330
msgid "No usable keyslot is available." msgid "No usable keyslot is available."
msgstr "" msgstr ""

1340
po/cs.po

File diff suppressed because it is too large Load Diff

1340
po/de.po

File diff suppressed because it is too large Load Diff

1338
po/fr.po

File diff suppressed because it is too large Load Diff

1395
po/ja.po

File diff suppressed because it is too large Load Diff

1323
po/pl.po

File diff suppressed because it is too large Load Diff

1339
po/ru.po

File diff suppressed because it is too large Load Diff

1338
po/uk.po

File diff suppressed because it is too large Load Diff

View File

@@ -105,9 +105,9 @@ static int _try_token_pin_unlock(struct crypt_device *cd,
assert(token_id >= 0 || token_id == CRYPT_ANY_TOKEN); assert(token_id >= 0 || token_id == CRYPT_ANY_TOKEN);
if (token_id == CRYPT_ANY_TOKEN) if (token_id == CRYPT_ANY_TOKEN)
r = snprintf(msg, sizeof(msg), _("Enter token PIN:")); r = snprintf(msg, sizeof(msg), _("Enter token PIN: "));
else else
r = snprintf(msg, sizeof(msg), _("Enter token %d PIN:"), token_id); r = snprintf(msg, sizeof(msg), _("Enter token %d PIN: "), token_id);
if (r < 0 || (size_t)r >= sizeof(msg)) if (r < 0 || (size_t)r >= sizeof(msg))
return -EINVAL; return -EINVAL;
@@ -1898,9 +1898,9 @@ static int _ask_for_pin(struct crypt_device *cd,
return -EINVAL; return -EINVAL;
if (token_id == CRYPT_ANY_TOKEN) if (token_id == CRYPT_ANY_TOKEN)
r = snprintf(msg, sizeof(msg), _("Enter token PIN:")); r = snprintf(msg, sizeof(msg), _("Enter token PIN: "));
else else
r = snprintf(msg, sizeof(msg), _("Enter token %d PIN:"), token_id); r = snprintf(msg, sizeof(msg), _("Enter token %d PIN: "), token_id);
if (r < 0 || (size_t)r >= sizeof(msg)) if (r < 0 || (size_t)r >= sizeof(msg))
return -EINVAL; return -EINVAL;
@@ -2069,7 +2069,7 @@ static int action_luksAddKey(void)
p_kc_new = kc_new; p_kc_new = kc_new;
} }
} else { } else {
r = tools_get_key(_("Enter new passphrase for key slot:"), r = tools_get_key(_("Enter new passphrase for key slot: "),
&password_new, &password_new_size, &password_new, &password_new_size,
ARG_UINT64(OPT_NEW_KEYFILE_OFFSET_ID), ARG_UINT32(OPT_NEW_KEYFILE_SIZE_ID), new_key_file, ARG_UINT64(OPT_NEW_KEYFILE_OFFSET_ID), ARG_UINT32(OPT_NEW_KEYFILE_SIZE_ID), new_key_file,
ARG_UINT32(OPT_TIMEOUT_ID), verify_passphrase(1), !ARG_SET(OPT_FORCE_PASSWORD_ID), cd); ARG_UINT32(OPT_TIMEOUT_ID), verify_passphrase(1), !ARG_SET(OPT_FORCE_PASSWORD_ID), cd);

View File

@@ -49,10 +49,8 @@ static int tools_check_pwquality(const char *password)
log_err(_("Password quality check failed:\n %s"), log_err(_("Password quality check failed:\n %s"),
pwquality_strerror(NULL, 0, r, auxerror)); pwquality_strerror(NULL, 0, r, auxerror));
r = -EPERM; r = -EPERM;
} else { } else
log_dbg("New password libpwquality score is %d.", r);
r = 0; r = 0;
}
pwquality_free_settings(pwq); pwquality_free_settings(pwq);
return r; return r;

View File

@@ -198,8 +198,8 @@ valgrind-check: api-test api-test-2 differ
@VALG=1 ./mode-test @VALG=1 ./mode-test
@VALG=1 ./password-hash-test @VALG=1 ./password-hash-test
@VALG=1 ./reencryption-compat-test @VALG=1 ./reencryption-compat-test
@VALG=1 ./fvault2-compat-test
@[ -z "$RUN_SSH_PLUGIN_TEST" ] || VALG=1 ./ssh-test-plugin @[ -z "$RUN_SSH_PLUGIN_TEST" ] || VALG=1 ./ssh-test-plugin
@[ -z "$RUN_SYSTEMD_PLUGIN_TEST" ] || VALG=1 ./systemd-test-plugin
@INFOSTRING="unit-utils-crypt-test" ./valg-api.sh ./unit-utils-crypt-test @INFOSTRING="unit-utils-crypt-test" ./valg-api.sh ./unit-utils-crypt-test
@INFOSTRING="vectors-test" ./valg-api.sh ./vectors-test @INFOSTRING="vectors-test" ./valg-api.sh ./vectors-test
@grep -l "ERROR SUMMARY: [^0][0-9]* errors" valglog* || echo "No leaks detected." @grep -l "ERROR SUMMARY: [^0][0-9]* errors" valglog* || echo "No leaks detected."

View File

@@ -16,6 +16,7 @@ endif
ifneq ($(RUN_SYSTEMD_PLUGIN_TEST),) ifneq ($(RUN_SYSTEMD_PLUGIN_TEST),)
TESTS += systemd-test-plugin TESTS += systemd-test-plugin
TESTS_UTILS += fake_systemd_tpm_path.so
endif endif
check-programs: $(TESTS_UTILS) $(TESTS) check-programs: $(TESTS_UTILS) $(TESTS)
@@ -47,6 +48,9 @@ all-symbols-test.o: test-symbols-list.h
all-symbols-test: all-symbols-test.o all-symbols-test: all-symbols-test.o
$(CC) -o $@ $^ -ldl $(CC) -o $@ $^ -ldl
fake_systemd_tpm_path.so: fake_systemd_tpm_path.c
$(CC) -fPIC -shared -D_GNU_SOURCE -o fake_systemd_tpm_path.so fake_systemd_tpm_path.c
tests: $(TESTS_UTILS) $(TESTS) tests: $(TESTS_UTILS) $(TESTS)
@for test in $(sort $(TESTS)); do \ @for test in $(sort $(TESTS)); do \
echo [$$test]; \ echo [$$test]; \

View File

@@ -217,7 +217,8 @@ function valgrind_setup()
function valgrind_run() function valgrind_run()
{ {
INFOSTRING="$(basename ${BASH_SOURCE[1]})-line-${BASH_LINENO[0]}" ./valg.sh ${CRYPTSETUP_VALGRIND} "$@" export INFOSTRING="$(basename ${BASH_SOURCE[1]})-line-${BASH_LINENO[0]}"
$CRYPTSETUP_RAW "$@"
} }
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."

View File

@@ -54,18 +54,19 @@ function skip()
[ -z "$RUN_SYSTEMD_PLUGIN_TEST" ] && skip "WARNING: Variable RUN_SYSTEMD_PLUGIN_TEST must be defined, test skipped." [ -z "$RUN_SYSTEMD_PLUGIN_TEST" ] && skip "WARNING: Variable RUN_SYSTEMD_PLUGIN_TEST must be defined, test skipped."
[ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped." [ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped."
bin_check git
bin_check swtpm bin_check swtpm
bin_check swtpm_ioctl bin_check swtpm_ioctl
bin_check meson
bin_check ninja
bin_check pkgconf
CRYPTENROLL_LD_PRELOAD="" CRYPTENROLL_LD_PRELOAD=""
# if CRYPTSETUP_PATH is defined, we run against installed binaries, # if CRYPTSETUP_PATH is defined, we run against installed binaries,
# otherwise we compile systemd tokens from source # otherwise we compile systemd tokens from source
[ -z "$CRYPTSETUP_PATH" ] && { [ -z "$CRYPTSETUP_PATH" ] && {
bin_check git
bin_check meson
bin_check ninja
bin_check pkgconf
TOKEN_PATH=fake_token_path.so TOKEN_PATH=fake_token_path.so
[ -f $TOKEN_PATH ] || skip "Please compile $TOKEN_PATH." [ -f $TOKEN_PATH ] || skip "Please compile $TOKEN_PATH."
INSTALL_PATH=$(pwd)/external-tokens/install INSTALL_PATH=$(pwd)/external-tokens/install
@@ -108,13 +109,15 @@ CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup
SWTPM_STATE_DIR=$(mktemp -d /tmp/systemd_swtpm_state.XXXXXX) SWTPM_STATE_DIR=$(mktemp -d /tmp/systemd_swtpm_state.XXXXXX)
modprobe tpm_vtpm_proxy || skip "Failed to load tpm_vtpm_proxy kernel module, required for emulated TPM." modprobe tpm_vtpm_proxy || skip "Failed to load tpm_vtpm_proxy kernel module, required for emulated TPM."
SWTPM_LOG=$(swtpm chardev --vtpm-proxy --tpm2 --tpmstate dir=$SWTPM_STATE_DIR -d --pid file=$SWTPM_PIDFILE --ctrl type=unixio,path=$SWTPM_STATE_DIR/ctrl.sock) SWTPM_LOG=$(swtpm chardev --vtpm-proxy --tpm2 --tpmstate dir=$SWTPM_STATE_DIR -d --pid file=$SWTPM_PIDFILE --ctrl type=unixio,path=$SWTPM_STATE_DIR/ctrl.sock)
TPM_PATH=$(echo $SWTPM_LOG | grep -Eo '\/dev\/tpm([0-9])+' | sed 's/tpm/tpmrm/') TPM_PATH=$(echo $SWTPM_LOG | grep -Eo '/dev/tpm([0-9])+' | sed 's/tpm/tpmrm/')
[ -z "$TPM_PATH" ] && skip "No TPM_PATH set and swtpm failed, test skipped." [ -z "$TPM_PATH" ] && skip "No TPM_PATH set and swtpm failed, test skipped."
sleep 1 sleep 1
echo "Virtual TPM set up at $TPM_PATH" echo "Virtual TPM set up at $TPM_PATH"
} }
export LD_PRELOAD="$LD_PRELOAD:$(pwd)/fake_systemd_tpm_path.so" FAKE_TPM_PATH="$(pwd)/fake_systemd_tpm_path.so"
[ -f $FAKE_TPM_PATH ] || skip "Please compile $FAKE_TPM_PATH."
export LD_PRELOAD="$LD_PRELOAD:$FAKE_TPM_PATH"
export TPM_PATH=$TPM_PATH export TPM_PATH=$TPM_PATH
echo "TPM path is $TPM_PATH" echo "TPM path is $TPM_PATH"