Commit Graph

3533 Commits

Author SHA1 Message Date
Ondrej Kozina
36805b3cfe Allow dash and underscore chars in external token names.
Current alphabet for external token types is alphanumeric
characters including '-' and '_'. Empty strings are also
forbiden.
2021-03-19 15:26:35 +01:00
Ondrej Kozina
5d0a11a21b Add pin size parameter in crypt_active_by_pin_token.
Well, after all it really should have supported binary data
of arbitrary length.
2021-03-18 18:06:13 +01:00
Milan Broz
d4cd675f33 Remove redundant plain-text README and other unused files.
Use README.md everywhere now.
2021-03-17 13:01:13 +01:00
Milan Broz
c3328a123c Add list of required packages
Fixes: #621.
2021-03-17 12:34:30 +01:00
Milan Broz
2cc320f180 Update Release notes version. 2021-03-11 12:58:05 +01:00
Milan Broz
6f26d7a77f Prepare Readme for version 2.3.5. 2021-03-11 12:57:53 +01:00
Milan Broz
9d559bba8f Add note for passwdqc change to release notes. 2021-03-11 11:32:01 +01:00
Dmitry V. Levin
cb9cb7154d Update libpasswdqc support
Starting with version 2.0.0, libpasswdqc can use memory allocation
when loading configuration that contains new optional parameters.
It's therefore recommended to free all memory allocated by
passwdqc_params_load using new passwdqc_params_free function
introduced in the same version of libpasswdqc.

[slightly modified by mbroz]
2021-03-11 11:24:08 +01:00
Yuri Chornoivan
da15a67c96 po: update uk.po (from translationproject.org) 2021-03-09 20:35:38 +01:00
Yuri Kozlov
69efb9177d po: update ru.po (from translationproject.org) 2021-03-09 20:35:38 +01:00
Jakub Bogusz
f9ce835e58 po: update pl.po (from translationproject.org) 2021-03-09 20:35:38 +01:00
Hiroshi Takekawa
3dd6e222c8 po: update ja.po (from translationproject.org) 2021-03-09 20:35:38 +01:00
Frédéric Marchal
04b8c4ff32 po: update fr.po (from translationproject.org) 2021-03-09 20:35:38 +01:00
Roland Illig
9b2adfede9 po: update de.po (from translationproject.org) 2021-03-09 20:35:38 +01:00
Petr Pisar
520aea9de0 po: update cs.po (from translationproject.org) 2021-03-09 20:35:38 +01:00
Milan Broz
9f233a68f3 Update 2.3.5 release notes.
And reformat it for strange problems with mail signature (line length).
2021-03-09 20:34:18 +01:00
Milan Broz
476cd2f764 Remove superfluous CONST_CAST.
It only confuses cppcheck.
2021-03-09 11:53:52 +01:00
Milan Broz
ca87b74333 Fix partial reads from TTY (interactive terminal).
Some stable kernels started to return buffer from terminal
in partial buffers of maximal size 64 bytes.

This breaks all passphrases longer than 64 characters entered
through interactive input (for all crypto formats).

(The problem is probably fixed in more recent kernels, but
the read() call can always return a partial read here.)

This patch also fixes wrong password limit, the last character
of passphrase of maximal size was never handled.
Now the maximal passphrase length is really 512 characters.

Fixes: #627.
2021-03-09 11:49:11 +01:00
Milan Broz
25a943ad01 Update Readme.md. 2021-03-04 13:12:43 +01:00
Milan Broz
f22a6613eb Fix typo. 2021-03-04 11:37:28 +01:00
Milan Broz
8914ae468b Add release notes for 2.3.5-rc. 2021-03-04 11:37:20 +01:00
Milan Broz
3e712b2dcd Add a note about FEC calculation to veritysetup manual. 2021-03-03 12:21:35 +01:00
Milan Broz
17e0e9fd27 Add final list of failures to valgrind-check test target. 2021-03-03 12:10:05 +01:00
Ondrej Kozina
e7f67f8928 Fix reencryption recovery tests w/ cipher_null. 2021-03-02 17:18:13 +01:00
Milan Broz
4b049fe848 Add disappeared device test. 2021-03-02 14:18:56 +01:00
Milan Broz
fea4074e8f Check internal device functions for NULL device.
Most of these functions already works even with device=NULL.

There can be some rare situations when this call could happen,
so be safe always.
(Like initialization for a device that disappears during init.)

Also see
https://bugzilla.redhat.com/show_bug.cgi?id=1932946
2021-03-01 20:38:52 +01:00
Milan Broz
9209d7e3b5 Use internal bit operations instead of network byte order functions. 2021-03-01 18:26:06 +01:00
Milan Broz
ca2e1fc956 Fix some includes. 2021-02-27 21:14:38 +01:00
Milan Broz
1592f1e274 Fix allocation of volume key in LUKS1 open_key.
This function should not return allocated key on error path.

Recent patch (suspend/resume) introduced a memory leak because of this.
2021-02-24 22:54:55 +01:00
Milan Broz
74027ca922 Remove VLAs from API test. 2021-02-24 21:44:36 +01:00
Ondrej Kozina
1910960364 Silent error messages in tests. 2021-02-24 16:06:19 +01:00
Ondrej Kozina
2708021e6f Add error message when suspending wrong device.
In case user tries to suspend LUKS data device instead
of dm-crypt mapping.

See issue#622.
2021-02-24 16:06:19 +01:00
Ondrej Kozina
8e8ecd50de Fix luksResume when called on non-LUKS device. 2021-02-24 16:06:19 +01:00
Ondrej Kozina
3ebf7fa3bd Drop duplicate type check in LUKS2 encryption. 2021-02-24 16:06:19 +01:00
Ondrej Kozina
68130ef2f5 Introduce isLUKS helpers in cryptsetup. 2021-02-24 16:06:19 +01:00
Ondrej Kozina
a77acb21c9 Fix reversed condition in LUKS2 api test.
get_luks2_offsets is based on get_luks_offsets from api-test.c
but for some odd reason 'metadata_device' parameter had reversed
meaning.
2021-02-24 15:57:12 +01:00
Ondrej Kozina
6e6e9f169e Fix keyslots size overflow when device too small.
It properly failed but debug message was confusing.
Now it fails later properly with "device too small"
error message.
2021-02-24 15:57:12 +01:00
Ondrej Kozina
6a8bade7e6 Allow LUKS resume for device with cipher_null. 2021-02-24 15:57:11 +01:00
Ondrej Kozina
3367b78958 Unify crypt_resume_by internal code. 2021-02-24 15:57:11 +01:00
Ondrej Kozina
28603e4de7 Do not upload VK in keyring when data cipher is null. 2021-02-24 15:57:11 +01:00
Ondrej Kozina
d8cf203d46 Remove redundant check.
It can't be non-LUKS2 device at this branching.
2021-02-24 15:57:11 +01:00
Ondrej Kozina
9faa602f6c Add tests for cipher_null suspend/resume. 2021-02-24 15:57:11 +01:00
Milan Broz
c9b727e9ea verity: run FEC check even if root hash fails.
The error correction can fix even problem with root hash.

For now, always return fail if initial check of root hash failed.

FIXME: The FEC verify code need to be rewritten to repair only
blocks where hash is wrong and the re-check hash after recovery,
inclkuding root hash.

Now we do not check hash after FEC recovery. The Reed-Solomon
decoder can then "repair" code wrongly if parity is too damaged.

For now, the information about FEC repaired errors is only
advisory, it does not mean device is fully repaireable.
2021-02-23 17:36:58 +00:00
Milan Broz
1534dc6c61 verity: do not process hash image if it is empty. 2021-02-23 17:36:58 +00:00
Milan Broz
dd6d6cfa1c verity: do not calculate hash offset if hash area is not used.
Sometimes device is so small that there is only root hash needed
and the hash area is not used.
2021-02-23 17:36:58 +00:00
Milan Broz
8e564bbb5c veritysetup: do not increase hash image size if hash area is not used.
Do not write more than needed header if hash area is not used later.

All space in hash area is then used in FEC calculation, so it makes
no sense to add unused area.
2021-02-23 17:36:58 +00:00
Ondrej Kozina
284a49443e Extend LUKS2 reencryption tests w/ cipher_null. 2021-02-18 15:01:01 +01:00
Ondrej Kozina
61abbc6e5d Bypass keyring activation flag if cipher is null. 2021-02-18 14:22:51 +01:00
Ondrej Kozina
1fe2d3d92b Use crypt_is_cipher_null check where possible. 2021-02-18 14:19:09 +01:00
Ondrej Kozina
b0da623c8a Fix default xts mode key size in reencryption.
Reencryption did not take into account adjusted xts
key size configuration option. This patch fix the
issue by using same logic as in luksFormat with xts
mode selected for data encryption.
2021-02-18 12:14:54 +01:00