Commit Graph

1805 Commits

Author SHA1 Message Date
Ondrej Kozina
c8ce996872 Wipe data device in crypt_format with auth. encryption.
crypt_wipe_device was called incorrectly on metadata device even
though integrity header is always on data device from cryptsetup
pov. During LUKS2 crypt_format with detached header scenario we
would wiped first 8 sectors of metadata device instead of data
device.
2018-08-08 08:52:44 +02:00
Milan Broz
0e7b068061 Add sector-size & payload align test. 2018-08-08 08:45:26 +02:00
Ondrej Kozina
71dd149ca2 Fix data alignment calculations with custom encryption sector size. 2018-08-08 08:01:45 +02:00
Ondrej Kozina
b30ba41d6a Fix typo in blockwise-compat test. 2018-08-08 07:44:07 +02:00
Ondrej Kozina
a0bf790892 Fix FAST_PBKDF typos in LUKS2 reencrypt tests. 2018-08-08 07:43:56 +02:00
Ondrej Kozina
caefc4eb8e Add basic test for token import and export. 2018-08-08 07:42:58 +02:00
Milan Broz
31364c17d6 Fix configure typo in previous patch. 2018-08-07 15:28:43 +02:00
Milan Broz
5e56966e72 Make tests for strings in configure more consistent.
Intead of
  test x$enable_xyz = xyes;
use
  test "$enable_xyz" = "xyes"; then
2018-08-07 09:29:51 +02:00
Milan Broz
1f951ed7ec Use AC_ARG_ENABLE consistently.
AC_ARG_ENABLE(feature, ...) -> AC_ARG_ENABLE([feature], ...
2018-08-07 08:37:55 +02:00
joerichey@google.com
ecd82f1fc9 Fix configure.ac formatting
Currently, AC_ARG_[ENABLE|WITH] are used in multiple different ways.
This change makes all their uses the same by following the style of
the GNU manual:
  - AC_ARG_ENABLE(foo) should only define $enable_foo
  - Use the 2 argument form with a --enable_foo flag
  - Use the 4 argument form with a --disable_foo flag
  - Format all uses the same way
  - Always compare using: test "x$enable_foo" = "xyes"

This makes the easier to debug, more readable, and shorter.

This formatting fix also revealed a bug (fix submitted seperately).
2018-08-07 08:21:25 +02:00
Milan Broz
7aaf1eeb1b Fix bz2->xz untar api-test option. 2018-08-06 15:16:39 +02:00
Milan Broz
e53fe70668 Use only xz archives in tests.
Bzip2 is sometimesmissing and we use xz already.

Seems xz produces slightly larger archives (despite the best mode)
but it is not worth to keep bz2 here.
2018-08-06 13:48:54 +02:00
Milan Broz
9e2e0a4a2d Update Readme.md 2018-08-03 12:51:22 +02:00
Milan Broz
b52719fd73 Version 2.0.4. v2.0.4 2018-08-03 12:31:21 +02:00
Milan Broz
7953976d25 Add 2.0.4 Release Notes 2018-08-03 12:29:31 +02:00
Ondrej Kozina
39d6b94835 Add test for reencryption after format conversion. 2018-08-03 11:15:43 +02:00
Ondrej Kozina
4fdce0695d Add test for LUKS2 detached header with non-default alignment. 2018-08-03 11:15:33 +02:00
Ondrej Kozina
ae8247fe6a Calculate keyslots area size properly with detached headers.
When LUKS2 crypt_format() is called with detached header and custom data
alignment is requested, keyslots area is miscalculated. This mistake
is correctly detected by LUKS2 validation code but it's feature
regression with regard to LUKSv1 format.
2018-08-03 11:15:27 +02:00
Milan Broz
d664565174 Add snapshot of LUKS2 docs. 2018-08-02 15:47:56 +02:00
Ondrej Kozina
b24a46ad8f Add tests for updated segments validation.
Tests commit c1777cfb8
2018-08-02 09:21:23 +02:00
Ondrej Kozina
6bffe34faa Fix problem found by Coverity scan.
NEGATIVE_RETURNS from crypt_hmac_size().
2018-08-02 09:19:57 +02:00
Milan Broz
abe3fb4acb Return no encryption if segment is not crypt type.
Currently the code expects "cipher" everywhere, this is temporary
workaround to enable basic operations if other segmens are present
in metadata.
2018-08-01 13:58:08 +02:00
Ondrej Kozina
39905bd8fd Return proper err when looking for segment digest.
Otherwise keyslot in luksDump are wrongly marked as device
keyslots even though default segment is not crypt.
2018-08-01 13:57:06 +02:00
Ondrej Kozina
078dbfb0a9 Do not dump crypt segment specific fields for other types. 2018-08-01 13:56:50 +02:00
Ondrej Kozina
dfeb5cfdd2 Do not allow segment with size set to 0. 2018-08-01 13:56:40 +02:00
Ondrej Kozina
c1777cfb89 Move crypt specific segment validation in new routine.
Also rename all 'length' variable to 'size' since json
field is named size.

Make segment validation two step process. First
validate general segment object is valid and later
validate specific segment type has all necessary fields.

Without this patch older libraries won't be able to print out
(luksDump) basic information about devices created with newer
libraries.
2018-08-01 13:55:28 +02:00
Ondrej Kozina
974072bdae Add segment validation tests. 2018-08-01 13:53:14 +02:00
Ondrej Kozina
b95e18956f Fix possible segfault in validation code.
If any segment has missing 'offset' field keyslots validation
routine could trigger segfault due to misuse of function that
expects valid 'segments' object.

Fix it by reordering validation routines.
2018-08-01 13:52:46 +02:00
Michal Virgovič
3c1c5ef281 Add vector tests for hash algorithms. 2018-08-01 09:16:44 +02:00
Ondrej Kozina
7194b14cd2 Fix typo in crypt_persistent_flags_set documentation. 2018-07-27 13:50:34 +02:00
Milan Broz
4e6f8d561c Update po files. 2018-07-27 08:39:49 +02:00
Milan Broz
ac26921569 Add support for dm-integrity superblock V2.
Only support parsing superblock data,
new functions will be supported in later kernel and releases.
2018-07-21 15:24:07 +02:00
Rafael Fontenelle
a60543728b Remove unmatched parethensis
This string had parentheses around part of the text, but it was restyled.
2018-07-21 07:25:52 -03:00
Rafael Fontenelle
f35ec9771e Fix typos
A bunch of typos reported by codespell, most of them comments in the code
2018-07-21 07:24:25 -03:00
Ondrej Kozina
de4fe99e34 Silence empty stdin error message in tests. 2018-07-21 11:28:46 +02:00
Ondrej Kozina
8ea6b3eebd Redirect stdout to stderr during reencryption in initrd.
Stdout is not printed in initrd unless user invokes debug mode.
It's inconvenient to have users waiting for reencryption to
finish with no input at all.
2018-07-21 11:28:41 +02:00
Milan Broz
a01836fe8d Update po files. 2018-07-21 11:28:24 +02:00
Ondrej Kozina
268dc97857 Emit error when there's nothing to read from key file. 2018-07-20 15:24:16 +02:00
Milan Broz
fc203c9654 Set devel version. 2018-07-19 14:48:34 +02:00
Milan Broz
8eedd5b277 Update po files. 2018-07-19 14:47:06 +02:00
Milan Broz
561d9ac2bc Fix problems found by Coverity scan. 2018-07-19 14:45:46 +02:00
Milan Broz
1112da76f1 Fix some compiler warnings. 2018-07-19 14:45:37 +02:00
Ondrej Kozina
081aa18f39 Exclude valgrind logs from git. 2018-07-19 14:45:29 +02:00
Milan Broz
c05c8bbba1 Fix switched parameters in cryptsetup-reencrypt. 2018-07-19 14:45:23 +02:00
Milan Broz
eabd23f31e Print verbose message about keyslot and token numbers.
Move all messages to cryptsetup tools and print these
verbose messages:

  - Key slot X unlocked.
  - Key slot X created.
  - Key slot X removed.
and
  - Token X created.
  - Token X removed.

Also print error, if unknown token is tried to be removed.
2018-07-19 14:45:16 +02:00
Ondrej Kozina
cc27088df9 Add support for LUKS2 token export and import. 2018-07-19 14:44:54 +02:00
Ondrej Kozina
97ab7e9c65 Add interruptible variants of buffered io. 2018-07-19 14:44:42 +02:00
Ondrej Kozina
bbf92828f6 Move buffered io implementation in new functions.
No functional changes yet. See later commits.
2018-07-19 14:44:37 +02:00
Milan Broz
2f83bf9f83 Change wording of blkid signature messages. 2018-07-18 13:22:11 +02:00
Ondrej Kozina
b2a1728201 Fix bundled argon2 distcheck errors. 2018-07-18 11:57:43 +02:00