Commit Graph

2999 Commits

Author SHA1 Message Date
Ondrej Kozina
06f132066b Add crypt_reencrypt_run superseding now deprecated crypt_reencrypt.
This reverts commit 367cb7a761
and retains original crypt_reencrypt() symbol marked as deprecated
in favour of new crypt_reencrypt_run(). This makes cryptsetup 2.4.0
release fully backward compatible.
2021-07-22 15:59:01 +02:00
Ondrej Kozina
82816cb52f Suppress error message when keyslot is unusable for segment.
It's too verbose when run in loop for token based activation.
2021-07-22 13:55:22 +02:00
Ondrej Kozina
426cab3aeb Add more LUKS2 token based activation tests. 2021-07-22 13:55:22 +02:00
Ondrej Kozina
152ed1fb44 Speed up LUKS2 api test. 2021-07-22 13:55:22 +02:00
Ondrej Kozina
c6ff9f8bd7 Respect keyslot priority with token based activation.
crypt_activate_by_token functions did not respect LUKS2 keyslot
priorities. These calls were able to activate device via keyslot with
CRYPT_SLOT_PRIORITY_IGNORE even when token was set to
CRYPT_ANY_TOKEN. This commit changes the token based activation
so that keyslot with priority ignore is eligible for unlock only
when specific token is selected. Also when activating with token
set to CRYPT_ANY_TOKEN keyslots with higher priority take precedence
over keyslots with normal priority. Keyslot with priority ignore are
correctly ignored when token is CRYPT_ANY_TOKEN.
2021-07-22 13:55:22 +02:00
Ondrej Kozina
c104bccc3f Print some compile-time defaults in 00module-test. 2021-07-22 13:55:22 +02:00
Ondrej Kozina
4654e6f578 Add best effort try-loop for token based activation.
The loop is run only when token id in any of crypt_activate_by_token*
calls is set to CRYPT_ANY_TOKEN.
2021-07-22 13:55:19 +02:00
Ondrej Kozina
2cf38465c4 Change default error returned by token open.
It has to be -ENOENT since -EPERM would wrongly
implied the token provided wrong keyslot passphrase.
2021-07-22 13:47:40 +02:00
Ondrej Kozina
3428296186 Improve debug logs for external token handling. 2021-07-22 13:47:40 +02:00
Ondrej Kozina
877afd2281 Replace original token activation retcode -EAGAIN with -ENOANO.
crypt_activate_by_token (and _pin variant) now returns -ENOANO
instead -EAGAIN in case token handler identifies specific token
requires PIN to sucessfully complete token based activation.

-EAGAIN is now used for special case when additional system
resources are missing (HW token, other device, system daemon,
etc).
2021-07-22 13:47:14 +02:00
Ondrej Kozina
2f320f3148 Avoid possible lock deadlock after error.
The deadlock is hypothetical since libcryptsetup applications
usualy terminates after error. The deadlock could only emerge
in case where single process handles multiple crypt contexts.
2021-07-22 10:31:02 +02:00
Yuri Chornoivan
a0277d3ff6 po: update uk.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Josef Andersson
531ebba50b po: update sv.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Мирослав Николић
d8bac63e5c po: update sr.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Yuri Kozlov
b408b8238c po: update ru.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Jakub Bogusz
2e80962501 po: update pl.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Hiroshi Takekawa
43827ba380 po: update ja.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Frédéric Marchal
cd374664d4 po: update fr.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Roland Illig
3694f9c099 po: update de.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Petr Pisar
06249b8e99 po: update cs.po (from translationproject.org) 2021-07-14 16:59:03 +02:00
Vojtech Trefny
bf915e82f4 man: Add information about maximum number of key slots to --key-slot 2021-07-13 09:37:46 +02:00
Vojtech Trefny
bfe0c7fc5f Fix error message for invalid key slot with LUKS2
Fixes: #651
2021-07-13 07:22:16 +02:00
Ondrej Kozina
0eb8493156 Fix ssh-plugin test. 2021-07-02 22:56:45 +02:00
Ondrej Kozina
9736f533bb tests: Do not guess default pbkdf anymore.
Instead of guessing get pbkdf defaults via libcryptsetup
API.
2021-07-02 21:55:42 +02:00
Milan Broz
cc6df5fa39 Fix some random typos. 2021-07-02 14:05:41 +02:00
Milan Broz
62896c20ff Update README.md. v2.4.0-rc0 2021-07-02 13:34:12 +02:00
Milan Broz
ea5fb82a48 Update cryptsetup.pot. 2021-07-02 13:29:37 +02:00
Milan Broz
25c29b80b5 Add utils_argsa to translations file. 2021-07-02 13:28:11 +02:00
Milan Broz
f8caa82186 Prepare version 2.4.0-rc0. 2021-07-02 12:02:39 +02:00
Ondrej Kozina
c35b896209 cryptsetup.spec: remove .la file from plugins build dir. 2021-06-30 12:41:42 +02:00
Milan Broz
5a36a1f3a2 OpenSSL crypto backend: suppress deprecation warnings.
The old API is still supported and because we support very old
OpenSSL, this is the best wrokaround for the warnings.

Once we switch to the new OpenSSL version requirement, we can rewrite
HMAC to new EVP_MAC API.
2021-06-30 08:01:38 +00:00
Milan Broz
afb7cd6d01 OpenSSL crypt backend support for OpenSSL3.
For OpenSSL version 3 we need to load legacy provider for older
hash and ciphers.
2021-06-30 08:01:38 +00:00
Milan Broz
c9af248c38 Fix LUKS2 token installation directory. 2021-06-30 09:37:51 +02:00
Ondrej Kozina
95eb986206 Few fixes to ssh-token and related spec file. 2021-06-30 09:37:50 +02:00
Vojtech Trefny
b4670ce7f0 ssh token: Change license to LGPL
The cryptsetup-ssh binary stays under GPL.
2021-06-29 16:19:04 +02:00
Ondrej Kozina
6633fa626a Remove unused crypt_token_external_support.
API can expose same information with crypt_token_external_path.

Also add print out of external token in cryptsetup --help action
(if enabled)
2021-06-29 14:13:37 +00:00
Ondrej Kozina
df7a995fa2 Remove redundant (unreleased) API for token based activation.
Reverts commit 96d83455ca partially. It is not necessary to
have specific crypt_activate_by_token_type call. Users
may use crypt_activate_by_token_pin with pin argument set to NULL
and achieve same goal as with crypt_activate_by_token_type.
2021-06-29 14:13:37 +00:00
Vojtech Trefny
ca2e93b69d token ssh: Use autotools magic when linking libssh 2021-06-29 15:11:46 +02:00
Vojtech Trefny
3589f9578a ssh token: Fix -Wmissing-prototypes warnings 2021-06-29 15:11:46 +02:00
Vojtech Trefny
07d23c2ee8 Add cryptsetup-ssh to .gitignore 2021-06-29 15:11:46 +02:00
Vojtech Trefny
eadbcac115 ssh token: Add man page for cryptsetup-ssh 2021-06-29 15:11:46 +02:00
Vojtech Trefny
3dc7dff2b2 ssh token: Fix return code when adding multiple tokens
token_add returns ID of the added token so we can't use it as a
return code for the binary.
2021-06-29 15:11:46 +02:00
Vojtech Trefny
35793c24f0 ssh token: Allow specifying key slot when adding the token 2021-06-29 15:11:46 +02:00
Vojtech Trefny
ff958d376e ssh token: Remove unused sshplugin_context struct 2021-06-29 15:11:46 +02:00
Vojtech Trefny
6545523df3 ssh token: Add the token to the first keyslot with matching passphrase
Currently the "add" action adds the token to all keyslots, this
changes the behaviour to make sure the token is added to the first
keyslot that can be unlocked using the provided passphrase.
2021-06-29 15:11:46 +02:00
Vojtech Trefny
3e52aa820c ssh token: Move SSH code to a separate utils file 2021-06-29 15:11:43 +02:00
Milan Broz
73cd60b1cc Do not pack the whole tokens directory to the dist file. 2021-06-28 16:40:36 +02:00
Milan Broz
c7b0f8fcda Fix some issues introduce by too simplified fake lib build. 2021-06-28 16:33:55 +02:00
Ondrej Kozina
057af1e20a Fix ssh-plugin-test.
Test needs to work also in build environment
before installation takes place. For it we overload
crypt_token_external_path symbol from libcryptsetup
so that it can look for plugins in build environment.

[simplified by mbroz]
2021-06-26 23:13:34 +02:00
Ondrej Kozina
aea841eeb0 Add crypt_token_external_path. 2021-06-26 22:08:45 +02:00