mirror of
https://gitlab.com/cryptsetup/cryptsetup.git
synced 2025-12-05 16:00:05 +01:00
Reduce code duplication in kernel keyring utilities.
This commit is contained in:
committed by
Milan Broz
parent
c497d8baa9
commit
f147c823ea
@@ -328,7 +328,7 @@ static int get_passphrase_by_keyring(struct crypt_device *cd,
|
||||
assert(r_passphrase_size);
|
||||
|
||||
if (!kc->i_passphrase) {
|
||||
r = keyring_get_passphrase(kc->u.kr.key_description, &kc->i_passphrase, &kc->i_passphrase_size);
|
||||
r = keyring_get_user_key(kc->u.kr.key_description, &kc->i_passphrase, &kc->i_passphrase_size);
|
||||
if (r < 0) {
|
||||
log_err(cd, _("Failed to read passphrase from keyring."));
|
||||
kc->error = -EINVAL;
|
||||
|
||||
@@ -3873,7 +3873,7 @@ int crypt_reencrypt_init_by_keyring(struct crypt_device *cd,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
r = keyring_get_passphrase(passphrase_description, &passphrase, &passphrase_size);
|
||||
r = keyring_get_user_key(passphrase_description, &passphrase, &passphrase_size);
|
||||
if (r < 0) {
|
||||
log_err(cd, _("Failed to read passphrase from keyring (error %d)."), r);
|
||||
return -EINVAL;
|
||||
|
||||
@@ -40,12 +40,12 @@ int keyring_open(struct crypt_device *cd,
|
||||
|
||||
json_object_object_get_ex(jobj_token, "key_description", &jobj_key);
|
||||
|
||||
r = keyring_get_passphrase(json_object_get_string(jobj_key), buffer, buffer_len);
|
||||
r = keyring_get_user_key(json_object_get_string(jobj_key), buffer, buffer_len);
|
||||
if (r == -ENOTSUP) {
|
||||
log_dbg(cd, "Kernel keyring features disabled.");
|
||||
return -ENOENT;
|
||||
} else if (r < 0) {
|
||||
log_dbg(cd, "keyring_get_passphrase failed (error %d)", r);
|
||||
log_dbg(cd, "keyring_get_user_key failed (error %d)", r);
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
|
||||
@@ -244,14 +244,6 @@ int keyring_add_key_in_user_keyring(key_type_t ktype, const char *key_desc, cons
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* alias for the same code */
|
||||
int keyring_get_key(const char *key_desc,
|
||||
char **key,
|
||||
size_t *key_size)
|
||||
{
|
||||
return keyring_get_passphrase(key_desc, key, key_size);
|
||||
}
|
||||
|
||||
int keyring_read_by_id(const char *key_desc,
|
||||
char **passphrase,
|
||||
size_t *passphrase_len)
|
||||
@@ -292,9 +284,9 @@ int keyring_read_by_id(const char *key_desc,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int keyring_get_passphrase(const char *key_desc,
|
||||
char **passphrase,
|
||||
size_t *passphrase_len)
|
||||
int keyring_get_user_key(const char *key_desc,
|
||||
char **key,
|
||||
size_t *key_size)
|
||||
{
|
||||
int err;
|
||||
key_serial_t kid;
|
||||
@@ -327,8 +319,8 @@ int keyring_get_passphrase(const char *key_desc,
|
||||
return -err;
|
||||
}
|
||||
|
||||
*passphrase = buf;
|
||||
*passphrase_len = len;
|
||||
*key = buf;
|
||||
*key_size = len;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -494,12 +486,7 @@ int keyring_read_by_id(const char *key_desc, char **passphrase, size_t *passphra
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int keyring_get_passphrase(const char *key_desc, char **passphrase, size_t *passphrase_len)
|
||||
{
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int keyring_get_key(const char *key_desc, char **key, size_t *key_size)
|
||||
int keyring_get_user_key(const char *key_desc, char **key, size_t *key_size)
|
||||
{
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
@@ -33,17 +33,13 @@ int32_t keyring_by_name(const char *name);
|
||||
|
||||
int keyring_check(void);
|
||||
|
||||
int keyring_get_key(const char *key_desc,
|
||||
int keyring_get_user_key(const char *key_desc,
|
||||
char **key,
|
||||
size_t *key_size);
|
||||
|
||||
int keyring_read_by_id(const char *key_desc,
|
||||
char **passphrase,
|
||||
size_t *passphrase_len);
|
||||
|
||||
int keyring_get_passphrase(const char *key_desc,
|
||||
char **passphrase,
|
||||
size_t *passphrase_len);
|
||||
char **passphrase,
|
||||
size_t *passphrase_len);
|
||||
|
||||
int keyring_add_key_in_thread_keyring(
|
||||
key_type_t ktype,
|
||||
|
||||
Reference in New Issue
Block a user