mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge tag 'pull-qapi-2024-09-10' of https://repo.or.cz/qemu/armbru into staging
QAPI patches patches for 2024-09-10 # -----BEGIN PGP SIGNATURE----- # # iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmbgS0ASHGFybWJydUBy # ZWRoYXQuY29tAAoJEDhwtADrkYZTm+sP/1kEuGdbjjVLQC7U+gCClhALpYUtIMHQ # qNZWmnxFyW9Jx6Lk8+FZBRJegNlmA9AJ2ZzD/2I/WoNtcrNiE53rIRG71Lcy8I6U # CRjekLPn0jhFuYhmRfwz6ilcLkyMJ15Yi7iG6ssFsO1joBtU5Q1qpzQmFUl9UbV9 # 9iBe7mE99VzNwi3hMELEM9YuSgAs8st4Itnn8SiHkJ3s6hlmF8N4HwNKfQrseGfb # FuJNN4p8Gcu0aF/dkGE8ADJBvtgzkFnavXt0GQPC7SjGOF7rUXxnUQlszNZM0OcK # UAfWU06sIyiOholQQt8H8jawT+rGCLomfgPUBVq5K8WByd21IeQeS0upSPeTjxS+ # d/C8wzpcbhdNOECwC/wDtgZHvCC95cHNrxuC4+4/Q1KIVVr+1cWqe8hQzFvm3TIg # dduEFTQDIxhpE0GO1ZWNf90upzBYBWwIsh4bqsMZS7SpaYIZ6QV45yViZ1w2WfbH # m3/F34Z3yqgFuZQrZv4OPo7xHK0+y7uZ60RrhSJtE0X080syRJKBbGmNBRidoVyu # JOONWH44I/XN5enZV8StJnqJr9MCV0DBZUCi9ZhP/kAhBjLc5cQ6NByEa9/rebYX # 1bLTiA1JDLzDVIan+A8dz0riWmHBvTyBwhLnEXvXb9lcB3ozgHTb7axE5RnZSYLI # YQgBOBMFuQKM # =YO/Q # -----END PGP SIGNATURE----- # gpg: Signature made Tue 10 Sep 2024 14:36:00 BST # gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653 # gpg: issuer "armbru@redhat.com" # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full] # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * tag 'pull-qapi-2024-09-10' of https://repo.or.cz/qemu/armbru: qapi/vfio: Rename VfioMigrationState to Qapi*, and drop prefix qapi/cryptodev: Rename QCryptodevBackendAlgType to *Algo, and drop prefix qapi/cryptodev: Drop unwanted 'prefix' qapi/crypto: Rename QCryptoAFAlg to QCryptoAFAlgo qapi/crypto: Rename QCryptoRSAPaddingAlgorithm to *Algo, and drop prefix qapi/crypto: Rename QCryptoAkCipherAlgorithm to *Algo, and drop prefix qapi/crypto: Rename QCryptoIVGenAlgorithm to *Algo, and drop prefix qapi/crypto: Rename QCryptoCipherAlgorithm to *Algo, and drop prefix qapi/crypto: Rename QCryptoHashAlgorithm to *Algo, and drop prefix qapi/crypto: Drop unwanted 'prefix' qapi/machine: Rename CpuS390* to S390Cpu*, and drop 'prefix' qapi/ui: Drop temporary 'prefix' qapi/machine: Drop temporary 'prefix' qapi/ebpf: Drop temporary 'prefix' qapi/crypto: Drop temporary 'prefix' qapi/common: Drop temporary 'prefix' qapi/block-core: Drop temporary 'prefix' tests/qapi-schema: Drop temporary 'prefix' qapi: Smarter camel_to_upper() to reduce need for 'prefix' Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
@@ -64,11 +64,11 @@ static void cryptodev_builtin_init_akcipher(CryptoDevBackend *backend)
|
||||
{
|
||||
QCryptoAkCipherOptions opts;
|
||||
|
||||
opts.alg = QCRYPTO_AKCIPHER_ALG_RSA;
|
||||
opts.u.rsa.padding_alg = QCRYPTO_RSA_PADDING_ALG_RAW;
|
||||
opts.alg = QCRYPTO_AK_CIPHER_ALGO_RSA;
|
||||
opts.u.rsa.padding_alg = QCRYPTO_RSA_PADDING_ALGO_RAW;
|
||||
if (qcrypto_akcipher_supports(&opts)) {
|
||||
backend->conf.crypto_services |=
|
||||
(1u << QCRYPTODEV_BACKEND_SERVICE_AKCIPHER);
|
||||
(1u << QCRYPTODEV_BACKEND_SERVICE_TYPE_AKCIPHER);
|
||||
backend->conf.akcipher_algo = 1u << VIRTIO_CRYPTO_AKCIPHER_RSA;
|
||||
}
|
||||
}
|
||||
@@ -93,9 +93,9 @@ static void cryptodev_builtin_init(
|
||||
backend->conf.peers.ccs[0] = cc;
|
||||
|
||||
backend->conf.crypto_services =
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_CIPHER |
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_HASH |
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_MAC;
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_TYPE_CIPHER |
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_TYPE_HASH |
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_TYPE_MAC;
|
||||
backend->conf.cipher_algo_l = 1u << VIRTIO_CRYPTO_CIPHER_AES_CBC;
|
||||
backend->conf.hash_algo = 1u << VIRTIO_CRYPTO_HASH_SHA1;
|
||||
/*
|
||||
@@ -138,18 +138,18 @@ cryptodev_builtin_get_aes_algo(uint32_t key_len, int mode, Error **errp)
|
||||
int algo;
|
||||
|
||||
if (key_len == AES_KEYSIZE_128) {
|
||||
algo = QCRYPTO_CIPHER_ALG_AES_128;
|
||||
algo = QCRYPTO_CIPHER_ALGO_AES_128;
|
||||
} else if (key_len == AES_KEYSIZE_192) {
|
||||
algo = QCRYPTO_CIPHER_ALG_AES_192;
|
||||
algo = QCRYPTO_CIPHER_ALGO_AES_192;
|
||||
} else if (key_len == AES_KEYSIZE_256) { /* equals AES_KEYSIZE_128_XTS */
|
||||
if (mode == QCRYPTO_CIPHER_MODE_XTS) {
|
||||
algo = QCRYPTO_CIPHER_ALG_AES_128;
|
||||
algo = QCRYPTO_CIPHER_ALGO_AES_128;
|
||||
} else {
|
||||
algo = QCRYPTO_CIPHER_ALG_AES_256;
|
||||
algo = QCRYPTO_CIPHER_ALGO_AES_256;
|
||||
}
|
||||
} else if (key_len == AES_KEYSIZE_256_XTS) {
|
||||
if (mode == QCRYPTO_CIPHER_MODE_XTS) {
|
||||
algo = QCRYPTO_CIPHER_ALG_AES_256;
|
||||
algo = QCRYPTO_CIPHER_ALGO_AES_256;
|
||||
} else {
|
||||
goto err;
|
||||
}
|
||||
@@ -169,16 +169,16 @@ static int cryptodev_builtin_get_rsa_hash_algo(
|
||||
{
|
||||
switch (virtio_rsa_hash) {
|
||||
case VIRTIO_CRYPTO_RSA_MD5:
|
||||
return QCRYPTO_HASH_ALG_MD5;
|
||||
return QCRYPTO_HASH_ALGO_MD5;
|
||||
|
||||
case VIRTIO_CRYPTO_RSA_SHA1:
|
||||
return QCRYPTO_HASH_ALG_SHA1;
|
||||
return QCRYPTO_HASH_ALGO_SHA1;
|
||||
|
||||
case VIRTIO_CRYPTO_RSA_SHA256:
|
||||
return QCRYPTO_HASH_ALG_SHA256;
|
||||
return QCRYPTO_HASH_ALGO_SHA256;
|
||||
|
||||
case VIRTIO_CRYPTO_RSA_SHA512:
|
||||
return QCRYPTO_HASH_ALG_SHA512;
|
||||
return QCRYPTO_HASH_ALGO_SHA512;
|
||||
|
||||
default:
|
||||
error_setg(errp, "Unsupported rsa hash algo: %d", virtio_rsa_hash);
|
||||
@@ -200,12 +200,12 @@ static int cryptodev_builtin_set_rsa_options(
|
||||
return -1;
|
||||
}
|
||||
opt->hash_alg = hash_alg;
|
||||
opt->padding_alg = QCRYPTO_RSA_PADDING_ALG_PKCS1;
|
||||
opt->padding_alg = QCRYPTO_RSA_PADDING_ALGO_PKCS1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (virtio_padding_algo == VIRTIO_CRYPTO_RSA_RAW_PADDING) {
|
||||
opt->padding_alg = QCRYPTO_RSA_PADDING_ALG_RAW;
|
||||
opt->padding_alg = QCRYPTO_RSA_PADDING_ALGO_RAW;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -271,15 +271,15 @@ static int cryptodev_builtin_create_cipher_session(
|
||||
break;
|
||||
case VIRTIO_CRYPTO_CIPHER_3DES_ECB:
|
||||
mode = QCRYPTO_CIPHER_MODE_ECB;
|
||||
algo = QCRYPTO_CIPHER_ALG_3DES;
|
||||
algo = QCRYPTO_CIPHER_ALGO_3DES;
|
||||
break;
|
||||
case VIRTIO_CRYPTO_CIPHER_3DES_CBC:
|
||||
mode = QCRYPTO_CIPHER_MODE_CBC;
|
||||
algo = QCRYPTO_CIPHER_ALG_3DES;
|
||||
algo = QCRYPTO_CIPHER_ALGO_3DES;
|
||||
break;
|
||||
case VIRTIO_CRYPTO_CIPHER_3DES_CTR:
|
||||
mode = QCRYPTO_CIPHER_MODE_CTR;
|
||||
algo = QCRYPTO_CIPHER_ALG_3DES;
|
||||
algo = QCRYPTO_CIPHER_ALGO_3DES;
|
||||
break;
|
||||
default:
|
||||
error_setg(errp, "Unsupported cipher alg :%u",
|
||||
@@ -318,7 +318,7 @@ static int cryptodev_builtin_create_akcipher_session(
|
||||
|
||||
switch (sess_info->algo) {
|
||||
case VIRTIO_CRYPTO_AKCIPHER_RSA:
|
||||
opts.alg = QCRYPTO_AKCIPHER_ALG_RSA;
|
||||
opts.alg = QCRYPTO_AK_CIPHER_ALGO_RSA;
|
||||
if (cryptodev_builtin_set_rsa_options(sess_info->u.rsa.padding_algo,
|
||||
sess_info->u.rsa.hash_algo, &opts.u.rsa, errp) != 0) {
|
||||
return -1;
|
||||
@@ -334,11 +334,11 @@ static int cryptodev_builtin_create_akcipher_session(
|
||||
|
||||
switch (sess_info->keytype) {
|
||||
case VIRTIO_CRYPTO_AKCIPHER_KEY_TYPE_PUBLIC:
|
||||
type = QCRYPTO_AKCIPHER_KEY_TYPE_PUBLIC;
|
||||
type = QCRYPTO_AK_CIPHER_KEY_TYPE_PUBLIC;
|
||||
break;
|
||||
|
||||
case VIRTIO_CRYPTO_AKCIPHER_KEY_TYPE_PRIVATE:
|
||||
type = QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE;
|
||||
type = QCRYPTO_AK_CIPHER_KEY_TYPE_PRIVATE;
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -549,7 +549,7 @@ static int cryptodev_builtin_operation(
|
||||
CryptoDevBackendBuiltinSession *sess;
|
||||
CryptoDevBackendSymOpInfo *sym_op_info;
|
||||
CryptoDevBackendAsymOpInfo *asym_op_info;
|
||||
QCryptodevBackendAlgType algtype = op_info->algtype;
|
||||
QCryptodevBackendAlgoType algtype = op_info->algtype;
|
||||
int status = -VIRTIO_CRYPTO_ERR;
|
||||
Error *local_error = NULL;
|
||||
|
||||
@@ -561,11 +561,11 @@ static int cryptodev_builtin_operation(
|
||||
}
|
||||
|
||||
sess = builtin->sessions[op_info->session_id];
|
||||
if (algtype == QCRYPTODEV_BACKEND_ALG_SYM) {
|
||||
if (algtype == QCRYPTODEV_BACKEND_ALGO_TYPE_SYM) {
|
||||
sym_op_info = op_info->u.sym_op_info;
|
||||
status = cryptodev_builtin_sym_operation(sess, sym_op_info,
|
||||
&local_error);
|
||||
} else if (algtype == QCRYPTODEV_BACKEND_ALG_ASYM) {
|
||||
} else if (algtype == QCRYPTODEV_BACKEND_ALGO_TYPE_ASYM) {
|
||||
asym_op_info = op_info->u.asym_op_info;
|
||||
status = cryptodev_builtin_asym_operation(sess, op_info->op_code,
|
||||
asym_op_info, &local_error);
|
||||
|
||||
+18
-18
@@ -133,20 +133,20 @@ static int cryptodev_lkcf_set_op_desc(QCryptoAkCipherOptions *opts,
|
||||
Error **errp)
|
||||
{
|
||||
QCryptoAkCipherOptionsRSA *rsa_opt;
|
||||
if (opts->alg != QCRYPTO_AKCIPHER_ALG_RSA) {
|
||||
if (opts->alg != QCRYPTO_AK_CIPHER_ALGO_RSA) {
|
||||
error_setg(errp, "Unsupported alg: %u", opts->alg);
|
||||
return -1;
|
||||
}
|
||||
|
||||
rsa_opt = &opts->u.rsa;
|
||||
if (rsa_opt->padding_alg == QCRYPTO_RSA_PADDING_ALG_PKCS1) {
|
||||
if (rsa_opt->padding_alg == QCRYPTO_RSA_PADDING_ALGO_PKCS1) {
|
||||
snprintf(key_desc, desc_len, "enc=%s hash=%s",
|
||||
QCryptoRSAPaddingAlgorithm_str(rsa_opt->padding_alg),
|
||||
QCryptoHashAlgorithm_str(rsa_opt->hash_alg));
|
||||
QCryptoRSAPaddingAlgo_str(rsa_opt->padding_alg),
|
||||
QCryptoHashAlgo_str(rsa_opt->hash_alg));
|
||||
|
||||
} else {
|
||||
snprintf(key_desc, desc_len, "enc=%s",
|
||||
QCryptoRSAPaddingAlgorithm_str(rsa_opt->padding_alg));
|
||||
QCryptoRSAPaddingAlgo_str(rsa_opt->padding_alg));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -157,23 +157,23 @@ static int cryptodev_lkcf_set_rsa_opt(int virtio_padding_alg,
|
||||
Error **errp)
|
||||
{
|
||||
if (virtio_padding_alg == VIRTIO_CRYPTO_RSA_PKCS1_PADDING) {
|
||||
opt->padding_alg = QCRYPTO_RSA_PADDING_ALG_PKCS1;
|
||||
opt->padding_alg = QCRYPTO_RSA_PADDING_ALGO_PKCS1;
|
||||
|
||||
switch (virtio_hash_alg) {
|
||||
case VIRTIO_CRYPTO_RSA_MD5:
|
||||
opt->hash_alg = QCRYPTO_HASH_ALG_MD5;
|
||||
opt->hash_alg = QCRYPTO_HASH_ALGO_MD5;
|
||||
break;
|
||||
|
||||
case VIRTIO_CRYPTO_RSA_SHA1:
|
||||
opt->hash_alg = QCRYPTO_HASH_ALG_SHA1;
|
||||
opt->hash_alg = QCRYPTO_HASH_ALGO_SHA1;
|
||||
break;
|
||||
|
||||
case VIRTIO_CRYPTO_RSA_SHA256:
|
||||
opt->hash_alg = QCRYPTO_HASH_ALG_SHA256;
|
||||
opt->hash_alg = QCRYPTO_HASH_ALGO_SHA256;
|
||||
break;
|
||||
|
||||
case VIRTIO_CRYPTO_RSA_SHA512:
|
||||
opt->hash_alg = QCRYPTO_HASH_ALG_SHA512;
|
||||
opt->hash_alg = QCRYPTO_HASH_ALGO_SHA512;
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -184,7 +184,7 @@ static int cryptodev_lkcf_set_rsa_opt(int virtio_padding_alg,
|
||||
}
|
||||
|
||||
if (virtio_padding_alg == VIRTIO_CRYPTO_RSA_RAW_PADDING) {
|
||||
opt->padding_alg = QCRYPTO_RSA_PADDING_ALG_RAW;
|
||||
opt->padding_alg = QCRYPTO_RSA_PADDING_ALGO_RAW;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ static void cryptodev_lkcf_init(CryptoDevBackend *backend, Error **errp)
|
||||
backend->conf.peers.ccs[0] = cc;
|
||||
|
||||
backend->conf.crypto_services =
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_AKCIPHER;
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_TYPE_AKCIPHER;
|
||||
backend->conf.akcipher_algo = 1u << VIRTIO_CRYPTO_AKCIPHER_RSA;
|
||||
lkcf->running = true;
|
||||
|
||||
@@ -322,7 +322,7 @@ static void cryptodev_lkcf_execute_task(CryptoDevLKCFTask *task)
|
||||
* 2. generally, public key related compution is fast, just compute it with
|
||||
* thread-pool.
|
||||
*/
|
||||
if (session->keytype == QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE) {
|
||||
if (session->keytype == QCRYPTO_AK_CIPHER_KEY_TYPE_PRIVATE) {
|
||||
if (qcrypto_akcipher_export_p8info(&session->akcipher_opts,
|
||||
session->key, session->keylen,
|
||||
&p8info, &p8info_len,
|
||||
@@ -474,7 +474,7 @@ static int cryptodev_lkcf_operation(
|
||||
CryptoDevBackendLKCF *lkcf =
|
||||
CRYPTODEV_BACKEND_LKCF(backend);
|
||||
CryptoDevBackendLKCFSession *sess;
|
||||
QCryptodevBackendAlgType algtype = op_info->algtype;
|
||||
QCryptodevBackendAlgoType algtype = op_info->algtype;
|
||||
CryptoDevLKCFTask *task;
|
||||
|
||||
if (op_info->session_id >= MAX_SESSIONS ||
|
||||
@@ -485,7 +485,7 @@ static int cryptodev_lkcf_operation(
|
||||
}
|
||||
|
||||
sess = lkcf->sess[op_info->session_id];
|
||||
if (algtype != QCRYPTODEV_BACKEND_ALG_ASYM) {
|
||||
if (algtype != QCRYPTODEV_BACKEND_ALGO_TYPE_ASYM) {
|
||||
error_report("algtype not supported: %u", algtype);
|
||||
return -VIRTIO_CRYPTO_NOTSUPP;
|
||||
}
|
||||
@@ -518,7 +518,7 @@ static int cryptodev_lkcf_create_asym_session(
|
||||
|
||||
switch (sess_info->algo) {
|
||||
case VIRTIO_CRYPTO_AKCIPHER_RSA:
|
||||
sess->akcipher_opts.alg = QCRYPTO_AKCIPHER_ALG_RSA;
|
||||
sess->akcipher_opts.alg = QCRYPTO_AK_CIPHER_ALGO_RSA;
|
||||
if (cryptodev_lkcf_set_rsa_opt(
|
||||
sess_info->u.rsa.padding_algo, sess_info->u.rsa.hash_algo,
|
||||
&sess->akcipher_opts.u.rsa, &local_error) != 0) {
|
||||
@@ -534,11 +534,11 @@ static int cryptodev_lkcf_create_asym_session(
|
||||
|
||||
switch (sess_info->keytype) {
|
||||
case VIRTIO_CRYPTO_AKCIPHER_KEY_TYPE_PUBLIC:
|
||||
sess->keytype = QCRYPTO_AKCIPHER_KEY_TYPE_PUBLIC;
|
||||
sess->keytype = QCRYPTO_AK_CIPHER_KEY_TYPE_PUBLIC;
|
||||
break;
|
||||
|
||||
case VIRTIO_CRYPTO_AKCIPHER_KEY_TYPE_PRIVATE:
|
||||
sess->keytype = QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE;
|
||||
sess->keytype = QCRYPTO_AK_CIPHER_KEY_TYPE_PRIVATE;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -221,9 +221,9 @@ static void cryptodev_vhost_user_init(
|
||||
cryptodev_vhost_user_event, NULL, s, NULL, true);
|
||||
|
||||
backend->conf.crypto_services =
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_CIPHER |
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_HASH |
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_MAC;
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_TYPE_CIPHER |
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_TYPE_HASH |
|
||||
1u << QCRYPTODEV_BACKEND_SERVICE_TYPE_MAC;
|
||||
backend->conf.cipher_algo_l = 1u << VIRTIO_CRYPTO_CIPHER_AES_CBC;
|
||||
backend->conf.hash_algo = 1u << VIRTIO_CRYPTO_HASH_SHA1;
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ static int qmp_query_cryptodev_foreach(Object *obj, void *data)
|
||||
|
||||
backend = CRYPTODEV_BACKEND(obj);
|
||||
services = backend->conf.crypto_services;
|
||||
for (i = 0; i < QCRYPTODEV_BACKEND_SERVICE__MAX; i++) {
|
||||
for (i = 0; i < QCRYPTODEV_BACKEND_SERVICE_TYPE__MAX; i++) {
|
||||
if (services & (1 << i)) {
|
||||
QAPI_LIST_PREPEND(info->service, i);
|
||||
}
|
||||
@@ -185,10 +185,10 @@ static int cryptodev_backend_operation(
|
||||
static int cryptodev_backend_account(CryptoDevBackend *backend,
|
||||
CryptoDevBackendOpInfo *op_info)
|
||||
{
|
||||
enum QCryptodevBackendAlgType algtype = op_info->algtype;
|
||||
enum QCryptodevBackendAlgoType algtype = op_info->algtype;
|
||||
int len;
|
||||
|
||||
if (algtype == QCRYPTODEV_BACKEND_ALG_ASYM) {
|
||||
if (algtype == QCRYPTODEV_BACKEND_ALGO_TYPE_ASYM) {
|
||||
CryptoDevBackendAsymOpInfo *asym_op_info = op_info->u.asym_op_info;
|
||||
len = asym_op_info->src_len;
|
||||
|
||||
@@ -212,7 +212,7 @@ static int cryptodev_backend_account(CryptoDevBackend *backend,
|
||||
default:
|
||||
return -VIRTIO_CRYPTO_NOTSUPP;
|
||||
}
|
||||
} else if (algtype == QCRYPTODEV_BACKEND_ALG_SYM) {
|
||||
} else if (algtype == QCRYPTODEV_BACKEND_ALGO_TYPE_SYM) {
|
||||
CryptoDevBackendSymOpInfo *sym_op_info = op_info->u.sym_op_info;
|
||||
len = sym_op_info->src_len;
|
||||
|
||||
@@ -424,11 +424,11 @@ cryptodev_backend_complete(UserCreatable *uc, Error **errp)
|
||||
}
|
||||
|
||||
services = backend->conf.crypto_services;
|
||||
if (services & (1 << QCRYPTODEV_BACKEND_SERVICE_CIPHER)) {
|
||||
if (services & (1 << QCRYPTODEV_BACKEND_SERVICE_TYPE_CIPHER)) {
|
||||
backend->sym_stat = g_new0(CryptodevBackendSymStat, 1);
|
||||
}
|
||||
|
||||
if (services & (1 << QCRYPTODEV_BACKEND_SERVICE_AKCIPHER)) {
|
||||
if (services & (1 << QCRYPTODEV_BACKEND_SERVICE_TYPE_AKCIPHER)) {
|
||||
backend->asym_stat = g_new0(CryptodevBackendAsymStat, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6351,7 +6351,7 @@ XDbgBlockGraph *bdrv_get_xdbg_block_graph(Error **errp)
|
||||
if (!*name) {
|
||||
name = allocated_name = blk_get_attached_dev_id(blk);
|
||||
}
|
||||
xdbg_graph_add_node(gr, blk, X_DBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_BACKEND,
|
||||
xdbg_graph_add_node(gr, blk, XDBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_BACKEND,
|
||||
name);
|
||||
g_free(allocated_name);
|
||||
if (blk_root(blk)) {
|
||||
@@ -6364,7 +6364,7 @@ XDbgBlockGraph *bdrv_get_xdbg_block_graph(Error **errp)
|
||||
job = block_job_next_locked(job)) {
|
||||
GSList *el;
|
||||
|
||||
xdbg_graph_add_node(gr, job, X_DBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_JOB,
|
||||
xdbg_graph_add_node(gr, job, XDBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_JOB,
|
||||
job->job.id);
|
||||
for (el = job->nodes; el; el = el->next) {
|
||||
xdbg_graph_add_edge(gr, job, (BdrvChild *)el->data);
|
||||
@@ -6373,7 +6373,7 @@ XDbgBlockGraph *bdrv_get_xdbg_block_graph(Error **errp)
|
||||
}
|
||||
|
||||
QTAILQ_FOREACH(bs, &graph_bdrv_states, node_list) {
|
||||
xdbg_graph_add_node(gr, bs, X_DBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_DRIVER,
|
||||
xdbg_graph_add_node(gr, bs, XDBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_DRIVER,
|
||||
bs->node_name);
|
||||
QLIST_FOREACH(child, &bs->children, next) {
|
||||
xdbg_graph_add_edge(gr, bs, child);
|
||||
|
||||
+5
-5
@@ -682,7 +682,7 @@ err:
|
||||
static int block_crypto_probe_luks(const uint8_t *buf,
|
||||
int buf_size,
|
||||
const char *filename) {
|
||||
return block_crypto_probe_generic(Q_CRYPTO_BLOCK_FORMAT_LUKS,
|
||||
return block_crypto_probe_generic(QCRYPTO_BLOCK_FORMAT_LUKS,
|
||||
buf, buf_size, filename);
|
||||
}
|
||||
|
||||
@@ -691,7 +691,7 @@ static int block_crypto_open_luks(BlockDriverState *bs,
|
||||
int flags,
|
||||
Error **errp)
|
||||
{
|
||||
return block_crypto_open_generic(Q_CRYPTO_BLOCK_FORMAT_LUKS,
|
||||
return block_crypto_open_generic(QCRYPTO_BLOCK_FORMAT_LUKS,
|
||||
&block_crypto_runtime_opts_luks,
|
||||
bs, options, flags, errp);
|
||||
}
|
||||
@@ -724,7 +724,7 @@ block_crypto_co_create_luks(BlockdevCreateOptions *create_options, Error **errp)
|
||||
}
|
||||
|
||||
create_opts = (QCryptoBlockCreateOptions) {
|
||||
.format = Q_CRYPTO_BLOCK_FORMAT_LUKS,
|
||||
.format = QCRYPTO_BLOCK_FORMAT_LUKS,
|
||||
.u.luks = *qapi_BlockdevCreateOptionsLUKS_base(luks_opts),
|
||||
};
|
||||
|
||||
@@ -889,7 +889,7 @@ block_crypto_get_specific_info_luks(BlockDriverState *bs, Error **errp)
|
||||
if (!info) {
|
||||
return NULL;
|
||||
}
|
||||
assert(info->format == Q_CRYPTO_BLOCK_FORMAT_LUKS);
|
||||
assert(info->format == QCRYPTO_BLOCK_FORMAT_LUKS);
|
||||
|
||||
spec_info = g_new(ImageInfoSpecific, 1);
|
||||
spec_info->type = IMAGE_INFO_SPECIFIC_KIND_LUKS;
|
||||
@@ -1002,7 +1002,7 @@ coroutine_fn block_crypto_co_amend_luks(BlockDriverState *bs,
|
||||
QCryptoBlockAmendOptions amend_opts;
|
||||
|
||||
amend_opts = (QCryptoBlockAmendOptions) {
|
||||
.format = Q_CRYPTO_BLOCK_FORMAT_LUKS,
|
||||
.format = QCRYPTO_BLOCK_FORMAT_LUKS,
|
||||
.u.luks = *qapi_BlockdevAmendOptionsLUKS_base(&opts->u.luks),
|
||||
};
|
||||
return block_crypto_amend_options_generic_luks(bs, &amend_opts,
|
||||
|
||||
@@ -206,7 +206,7 @@ parallels_parse_format_extension(BlockDriverState *bs, uint8_t *ext_cluster,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
ret = qcrypto_hash_bytes(QCRYPTO_HASH_ALG_MD5, (char *)pos, remaining,
|
||||
ret = qcrypto_hash_bytes(QCRYPTO_HASH_ALGO_MD5, (char *)pos, remaining,
|
||||
&hash, &hash_len, errp);
|
||||
if (ret < 0) {
|
||||
goto fail;
|
||||
|
||||
+1
-1
@@ -831,7 +831,7 @@ qcow_co_create(BlockdevCreateOptions *opts, Error **errp)
|
||||
}
|
||||
|
||||
if (qcow_opts->encrypt &&
|
||||
qcow_opts->encrypt->format != Q_CRYPTO_BLOCK_FORMAT_QCOW)
|
||||
qcow_opts->encrypt->format != QCRYPTO_BLOCK_FORMAT_QCOW)
|
||||
{
|
||||
error_setg(errp, "Unsupported encryption format");
|
||||
return -EINVAL;
|
||||
|
||||
+5
-5
@@ -3214,10 +3214,10 @@ qcow2_set_up_encryption(BlockDriverState *bs,
|
||||
int fmt, ret;
|
||||
|
||||
switch (cryptoopts->format) {
|
||||
case Q_CRYPTO_BLOCK_FORMAT_LUKS:
|
||||
case QCRYPTO_BLOCK_FORMAT_LUKS:
|
||||
fmt = QCOW_CRYPT_LUKS;
|
||||
break;
|
||||
case Q_CRYPTO_BLOCK_FORMAT_QCOW:
|
||||
case QCRYPTO_BLOCK_FORMAT_QCOW:
|
||||
fmt = QCOW_CRYPT_AES;
|
||||
break;
|
||||
default:
|
||||
@@ -5306,10 +5306,10 @@ qcow2_get_specific_info(BlockDriverState *bs, Error **errp)
|
||||
ImageInfoSpecificQCow2Encryption *qencrypt =
|
||||
g_new(ImageInfoSpecificQCow2Encryption, 1);
|
||||
switch (encrypt_info->format) {
|
||||
case Q_CRYPTO_BLOCK_FORMAT_QCOW:
|
||||
case QCRYPTO_BLOCK_FORMAT_QCOW:
|
||||
qencrypt->format = BLOCKDEV_QCOW2_ENCRYPTION_FORMAT_AES;
|
||||
break;
|
||||
case Q_CRYPTO_BLOCK_FORMAT_LUKS:
|
||||
case QCRYPTO_BLOCK_FORMAT_LUKS:
|
||||
qencrypt->format = BLOCKDEV_QCOW2_ENCRYPTION_FORMAT_LUKS;
|
||||
qencrypt->u.luks = encrypt_info->u.luks;
|
||||
break;
|
||||
@@ -5948,7 +5948,7 @@ static int coroutine_fn qcow2_co_amend(BlockDriverState *bs,
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
if (qopts->encrypt->format != Q_CRYPTO_BLOCK_FORMAT_LUKS) {
|
||||
if (qopts->encrypt->format != QCRYPTO_BLOCK_FORMAT_LUKS) {
|
||||
error_setg(errp,
|
||||
"Amend can't be used to change the qcow2 encryption format");
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
+2
-2
@@ -393,7 +393,7 @@ static int quorum_compute_hash(QuorumAIOCB *acb, int i, QuorumVoteValue *hash)
|
||||
/* XXX - would be nice if we could pass in the Error **
|
||||
* and propagate that back, but this quorum code is
|
||||
* restricted to just errno values currently */
|
||||
if (qcrypto_hash_bytesv(QCRYPTO_HASH_ALG_SHA256,
|
||||
if (qcrypto_hash_bytesv(QCRYPTO_HASH_ALGO_SHA256,
|
||||
qiov->iov, qiov->niov,
|
||||
&data, &len,
|
||||
NULL) < 0) {
|
||||
@@ -1308,7 +1308,7 @@ static BlockDriver bdrv_quorum = {
|
||||
|
||||
static void bdrv_quorum_init(void)
|
||||
{
|
||||
if (!qcrypto_hash_supports(QCRYPTO_HASH_ALG_SHA256)) {
|
||||
if (!qcrypto_hash_supports(QCRYPTO_HASH_ALGO_SHA256)) {
|
||||
/* SHA256 hash support is required for quorum device */
|
||||
return;
|
||||
}
|
||||
|
||||
+2
-2
@@ -367,11 +367,11 @@ static int qemu_rbd_convert_luks_create_options(
|
||||
|
||||
if (luks_opts->has_cipher_alg) {
|
||||
switch (luks_opts->cipher_alg) {
|
||||
case QCRYPTO_CIPHER_ALG_AES_128: {
|
||||
case QCRYPTO_CIPHER_ALGO_AES_128: {
|
||||
*alg = RBD_ENCRYPTION_ALGORITHM_AES128;
|
||||
break;
|
||||
}
|
||||
case QCRYPTO_CIPHER_ALG_AES_256: {
|
||||
case QCRYPTO_CIPHER_ALGO_AES_256: {
|
||||
*alg = RBD_ENCRYPTION_ALGORITHM_AES256;
|
||||
break;
|
||||
}
|
||||
|
||||
+4
-4
@@ -66,13 +66,13 @@ qcrypto_afalg_socket_bind(const char *type, const char *name,
|
||||
return sbind;
|
||||
}
|
||||
|
||||
QCryptoAFAlg *
|
||||
QCryptoAFAlgo *
|
||||
qcrypto_afalg_comm_alloc(const char *type, const char *name,
|
||||
Error **errp)
|
||||
{
|
||||
QCryptoAFAlg *afalg;
|
||||
QCryptoAFAlgo *afalg;
|
||||
|
||||
afalg = g_new0(QCryptoAFAlg, 1);
|
||||
afalg = g_new0(QCryptoAFAlgo, 1);
|
||||
/* initialize crypto API socket */
|
||||
afalg->opfd = -1;
|
||||
afalg->tfmfd = qcrypto_afalg_socket_bind(type, name, errp);
|
||||
@@ -93,7 +93,7 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void qcrypto_afalg_comm_free(QCryptoAFAlg *afalg)
|
||||
void qcrypto_afalg_comm_free(QCryptoAFAlgo *afalg)
|
||||
{
|
||||
if (!afalg) {
|
||||
return;
|
||||
|
||||
+7
-7
@@ -30,9 +30,9 @@
|
||||
#define ALG_OPTYPE_LEN 4
|
||||
#define ALG_MSGIV_LEN(len) (sizeof(struct af_alg_iv) + (len))
|
||||
|
||||
typedef struct QCryptoAFAlg QCryptoAFAlg;
|
||||
typedef struct QCryptoAFAlgo QCryptoAFAlgo;
|
||||
|
||||
struct QCryptoAFAlg {
|
||||
struct QCryptoAFAlgo {
|
||||
QCryptoCipher base;
|
||||
|
||||
int tfmfd;
|
||||
@@ -46,22 +46,22 @@ struct QCryptoAFAlg {
|
||||
* @type: the type of crypto operation
|
||||
* @name: the name of crypto operation
|
||||
*
|
||||
* Allocate a QCryptoAFAlg object and bind itself to
|
||||
* Allocate a QCryptoAFAlgo object and bind itself to
|
||||
* a AF_ALG socket.
|
||||
*
|
||||
* Returns:
|
||||
* a new QCryptoAFAlg object, or NULL in error.
|
||||
* a new QCryptoAFAlgo object, or NULL in error.
|
||||
*/
|
||||
QCryptoAFAlg *
|
||||
QCryptoAFAlgo *
|
||||
qcrypto_afalg_comm_alloc(const char *type, const char *name,
|
||||
Error **errp);
|
||||
|
||||
/**
|
||||
* afalg_comm_free:
|
||||
* @afalg: the QCryptoAFAlg object
|
||||
* @afalg: the QCryptoAFAlgo object
|
||||
*
|
||||
* Free the @afalg.
|
||||
*/
|
||||
void qcrypto_afalg_comm_free(QCryptoAFAlg *afalg);
|
||||
void qcrypto_afalg_comm_free(QCryptoAFAlgo *afalg);
|
||||
|
||||
#endif
|
||||
|
||||
+3
-3
@@ -40,7 +40,7 @@ static void qcrypto_afsplit_xor(size_t blocklen,
|
||||
}
|
||||
|
||||
|
||||
static int qcrypto_afsplit_hash(QCryptoHashAlgorithm hash,
|
||||
static int qcrypto_afsplit_hash(QCryptoHashAlgo hash,
|
||||
size_t blocklen,
|
||||
uint8_t *block,
|
||||
Error **errp)
|
||||
@@ -85,7 +85,7 @@ static int qcrypto_afsplit_hash(QCryptoHashAlgorithm hash,
|
||||
}
|
||||
|
||||
|
||||
int qcrypto_afsplit_encode(QCryptoHashAlgorithm hash,
|
||||
int qcrypto_afsplit_encode(QCryptoHashAlgo hash,
|
||||
size_t blocklen,
|
||||
uint32_t stripes,
|
||||
const uint8_t *in,
|
||||
@@ -117,7 +117,7 @@ int qcrypto_afsplit_encode(QCryptoHashAlgorithm hash,
|
||||
}
|
||||
|
||||
|
||||
int qcrypto_afsplit_decode(QCryptoHashAlgorithm hash,
|
||||
int qcrypto_afsplit_decode(QCryptoHashAlgo hash,
|
||||
size_t blocklen,
|
||||
uint32_t stripes,
|
||||
const uint8_t *in,
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
typedef struct QCryptoGcryptRSA {
|
||||
QCryptoAkCipher akcipher;
|
||||
gcry_sexp_t key;
|
||||
QCryptoRSAPaddingAlgorithm padding_alg;
|
||||
QCryptoHashAlgorithm hash_alg;
|
||||
QCryptoRSAPaddingAlgo padding_alg;
|
||||
QCryptoHashAlgo hash_alg;
|
||||
} QCryptoGcryptRSA;
|
||||
|
||||
static void qcrypto_gcrypt_rsa_free(QCryptoAkCipher *akcipher)
|
||||
@@ -59,7 +59,7 @@ QCryptoAkCipher *qcrypto_akcipher_new(const QCryptoAkCipherOptions *opts,
|
||||
Error **errp)
|
||||
{
|
||||
switch (opts->alg) {
|
||||
case QCRYPTO_AKCIPHER_ALG_RSA:
|
||||
case QCRYPTO_AK_CIPHER_ALGO_RSA:
|
||||
return (QCryptoAkCipher *)qcrypto_gcrypt_rsa_new(
|
||||
&opts->u.rsa, type, key, keylen, errp);
|
||||
|
||||
@@ -85,7 +85,7 @@ static int qcrypto_gcrypt_parse_rsa_private_key(
|
||||
const uint8_t *key, size_t keylen, Error **errp)
|
||||
{
|
||||
g_autoptr(QCryptoAkCipherRSAKey) rsa_key = qcrypto_akcipher_rsakey_parse(
|
||||
QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE, key, keylen, errp);
|
||||
QCRYPTO_AK_CIPHER_KEY_TYPE_PRIVATE, key, keylen, errp);
|
||||
gcry_mpi_t n = NULL, e = NULL, d = NULL, p = NULL, q = NULL, u = NULL;
|
||||
bool compute_mul_inv = false;
|
||||
int ret = -1;
|
||||
@@ -178,7 +178,7 @@ static int qcrypto_gcrypt_parse_rsa_public_key(QCryptoGcryptRSA *rsa,
|
||||
{
|
||||
|
||||
g_autoptr(QCryptoAkCipherRSAKey) rsa_key = qcrypto_akcipher_rsakey_parse(
|
||||
QCRYPTO_AKCIPHER_KEY_TYPE_PUBLIC, key, keylen, errp);
|
||||
QCRYPTO_AK_CIPHER_KEY_TYPE_PUBLIC, key, keylen, errp);
|
||||
gcry_mpi_t n = NULL, e = NULL;
|
||||
int ret = -1;
|
||||
gcry_error_t err;
|
||||
@@ -241,7 +241,7 @@ static int qcrypto_gcrypt_rsa_encrypt(QCryptoAkCipher *akcipher,
|
||||
|
||||
err = gcry_sexp_build(&data_sexp, NULL,
|
||||
"(data (flags %s) (value %b))",
|
||||
QCryptoRSAPaddingAlgorithm_str(rsa->padding_alg),
|
||||
QCryptoRSAPaddingAlgo_str(rsa->padding_alg),
|
||||
in_len, in);
|
||||
if (gcry_err_code(err) != 0) {
|
||||
error_setg(errp, "Failed to build plaintext: %s/%s",
|
||||
@@ -263,7 +263,7 @@ static int qcrypto_gcrypt_rsa_encrypt(QCryptoAkCipher *akcipher,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (rsa->padding_alg == QCRYPTO_RSA_PADDING_ALG_RAW) {
|
||||
if (rsa->padding_alg == QCRYPTO_RSA_PADDING_ALGO_RAW) {
|
||||
cipher_mpi = gcry_sexp_nth_mpi(cipher_sexp_item, 1, GCRYMPI_FMT_USG);
|
||||
if (!cipher_mpi) {
|
||||
error_setg(errp, "Invalid ciphertext result");
|
||||
@@ -332,7 +332,7 @@ static int qcrypto_gcrypt_rsa_decrypt(QCryptoAkCipher *akcipher,
|
||||
|
||||
err = gcry_sexp_build(&cipher_sexp, NULL,
|
||||
"(enc-val (flags %s) (rsa (a %b) ))",
|
||||
QCryptoRSAPaddingAlgorithm_str(rsa->padding_alg),
|
||||
QCryptoRSAPaddingAlgo_str(rsa->padding_alg),
|
||||
in_len, in);
|
||||
if (gcry_err_code(err) != 0) {
|
||||
error_setg(errp, "Failed to build ciphertext: %s/%s",
|
||||
@@ -348,7 +348,7 @@ static int qcrypto_gcrypt_rsa_decrypt(QCryptoAkCipher *akcipher,
|
||||
}
|
||||
|
||||
/* S-expression of plaintext: (value plaintext) */
|
||||
if (rsa->padding_alg == QCRYPTO_RSA_PADDING_ALG_RAW) {
|
||||
if (rsa->padding_alg == QCRYPTO_RSA_PADDING_ALGO_RAW) {
|
||||
data_mpi = gcry_sexp_nth_mpi(data_sexp, 1, GCRYMPI_FMT_USG);
|
||||
if (!data_mpi) {
|
||||
error_setg(errp, "Invalid plaintext result");
|
||||
@@ -410,14 +410,14 @@ static int qcrypto_gcrypt_rsa_sign(QCryptoAkCipher *akcipher,
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (rsa->padding_alg != QCRYPTO_RSA_PADDING_ALG_PKCS1) {
|
||||
if (rsa->padding_alg != QCRYPTO_RSA_PADDING_ALGO_PKCS1) {
|
||||
error_setg(errp, "Invalid padding %u", rsa->padding_alg);
|
||||
return ret;
|
||||
}
|
||||
|
||||
err = gcry_sexp_build(&dgst_sexp, NULL,
|
||||
"(data (flags pkcs1) (hash %s %b))",
|
||||
QCryptoHashAlgorithm_str(rsa->hash_alg),
|
||||
QCryptoHashAlgo_str(rsa->hash_alg),
|
||||
in_len, in);
|
||||
if (gcry_err_code(err) != 0) {
|
||||
error_setg(errp, "Failed to build dgst: %s/%s",
|
||||
@@ -482,7 +482,7 @@ static int qcrypto_gcrypt_rsa_verify(QCryptoAkCipher *akcipher,
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (rsa->padding_alg != QCRYPTO_RSA_PADDING_ALG_PKCS1) {
|
||||
if (rsa->padding_alg != QCRYPTO_RSA_PADDING_ALGO_PKCS1) {
|
||||
error_setg(errp, "Invalid padding %u", rsa->padding_alg);
|
||||
return ret;
|
||||
}
|
||||
@@ -497,7 +497,7 @@ static int qcrypto_gcrypt_rsa_verify(QCryptoAkCipher *akcipher,
|
||||
|
||||
err = gcry_sexp_build(&dgst_sexp, NULL,
|
||||
"(data (flags pkcs1) (hash %s %b))",
|
||||
QCryptoHashAlgorithm_str(rsa->hash_alg),
|
||||
QCryptoHashAlgo_str(rsa->hash_alg),
|
||||
in2_len, in2);
|
||||
if (gcry_err_code(err) != 0) {
|
||||
error_setg(errp, "Failed to build dgst: %s/%s",
|
||||
@@ -540,13 +540,13 @@ static QCryptoGcryptRSA *qcrypto_gcrypt_rsa_new(
|
||||
rsa->akcipher.driver = &gcrypt_rsa;
|
||||
|
||||
switch (type) {
|
||||
case QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE:
|
||||
case QCRYPTO_AK_CIPHER_KEY_TYPE_PRIVATE:
|
||||
if (qcrypto_gcrypt_parse_rsa_private_key(rsa, key, keylen, errp) != 0) {
|
||||
goto error;
|
||||
}
|
||||
break;
|
||||
|
||||
case QCRYPTO_AKCIPHER_KEY_TYPE_PUBLIC:
|
||||
case QCRYPTO_AK_CIPHER_KEY_TYPE_PUBLIC:
|
||||
if (qcrypto_gcrypt_parse_rsa_public_key(rsa, key, keylen, errp) != 0) {
|
||||
goto error;
|
||||
}
|
||||
@@ -568,17 +568,17 @@ error:
|
||||
bool qcrypto_akcipher_supports(QCryptoAkCipherOptions *opts)
|
||||
{
|
||||
switch (opts->alg) {
|
||||
case QCRYPTO_AKCIPHER_ALG_RSA:
|
||||
case QCRYPTO_AK_CIPHER_ALGO_RSA:
|
||||
switch (opts->u.rsa.padding_alg) {
|
||||
case QCRYPTO_RSA_PADDING_ALG_RAW:
|
||||
case QCRYPTO_RSA_PADDING_ALGO_RAW:
|
||||
return true;
|
||||
|
||||
case QCRYPTO_RSA_PADDING_ALG_PKCS1:
|
||||
case QCRYPTO_RSA_PADDING_ALGO_PKCS1:
|
||||
switch (opts->u.rsa.hash_alg) {
|
||||
case QCRYPTO_HASH_ALG_MD5:
|
||||
case QCRYPTO_HASH_ALG_SHA1:
|
||||
case QCRYPTO_HASH_ALG_SHA256:
|
||||
case QCRYPTO_HASH_ALG_SHA512:
|
||||
case QCRYPTO_HASH_ALGO_MD5:
|
||||
case QCRYPTO_HASH_ALGO_SHA1:
|
||||
case QCRYPTO_HASH_ALGO_SHA256:
|
||||
case QCRYPTO_HASH_ALGO_SHA512:
|
||||
return true;
|
||||
|
||||
default:
|
||||
|
||||
@@ -33,8 +33,8 @@ typedef struct QCryptoNettleRSA {
|
||||
QCryptoAkCipher akcipher;
|
||||
struct rsa_public_key pub;
|
||||
struct rsa_private_key priv;
|
||||
QCryptoRSAPaddingAlgorithm padding_alg;
|
||||
QCryptoHashAlgorithm hash_alg;
|
||||
QCryptoRSAPaddingAlgo padding_alg;
|
||||
QCryptoHashAlgo hash_alg;
|
||||
} QCryptoNettleRSA;
|
||||
|
||||
static void qcrypto_nettle_rsa_free(QCryptoAkCipher *akcipher)
|
||||
@@ -61,7 +61,7 @@ QCryptoAkCipher *qcrypto_akcipher_new(const QCryptoAkCipherOptions *opts,
|
||||
Error **errp)
|
||||
{
|
||||
switch (opts->alg) {
|
||||
case QCRYPTO_AKCIPHER_ALG_RSA:
|
||||
case QCRYPTO_AK_CIPHER_ALGO_RSA:
|
||||
return qcrypto_nettle_rsa_new(&opts->u.rsa, type, key, keylen, errp);
|
||||
|
||||
default:
|
||||
@@ -87,7 +87,7 @@ static int qcrypt_nettle_parse_rsa_private_key(QCryptoNettleRSA *rsa,
|
||||
Error **errp)
|
||||
{
|
||||
g_autoptr(QCryptoAkCipherRSAKey) rsa_key = qcrypto_akcipher_rsakey_parse(
|
||||
QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE, key, keylen, errp);
|
||||
QCRYPTO_AK_CIPHER_KEY_TYPE_PRIVATE, key, keylen, errp);
|
||||
|
||||
if (!rsa_key) {
|
||||
return -1;
|
||||
@@ -137,7 +137,7 @@ static int qcrypt_nettle_parse_rsa_public_key(QCryptoNettleRSA *rsa,
|
||||
Error **errp)
|
||||
{
|
||||
g_autoptr(QCryptoAkCipherRSAKey) rsa_key = qcrypto_akcipher_rsakey_parse(
|
||||
QCRYPTO_AKCIPHER_KEY_TYPE_PUBLIC, key, keylen, errp);
|
||||
QCRYPTO_AK_CIPHER_KEY_TYPE_PUBLIC, key, keylen, errp);
|
||||
|
||||
if (!rsa_key) {
|
||||
return -1;
|
||||
@@ -184,11 +184,11 @@ static int qcrypto_nettle_rsa_encrypt(QCryptoAkCipher *akcipher,
|
||||
|
||||
/* Nettle do not support RSA encryption without any padding */
|
||||
switch (rsa->padding_alg) {
|
||||
case QCRYPTO_RSA_PADDING_ALG_RAW:
|
||||
case QCRYPTO_RSA_PADDING_ALGO_RAW:
|
||||
error_setg(errp, "RSA with raw padding is not supported");
|
||||
break;
|
||||
|
||||
case QCRYPTO_RSA_PADDING_ALG_PKCS1:
|
||||
case QCRYPTO_RSA_PADDING_ALGO_PKCS1:
|
||||
mpz_init(c);
|
||||
if (rsa_encrypt(&rsa->pub, NULL, wrap_nettle_random_func,
|
||||
data_len, (uint8_t *)data, c) != 1) {
|
||||
@@ -223,11 +223,11 @@ static int qcrypto_nettle_rsa_decrypt(QCryptoAkCipher *akcipher,
|
||||
}
|
||||
|
||||
switch (rsa->padding_alg) {
|
||||
case QCRYPTO_RSA_PADDING_ALG_RAW:
|
||||
case QCRYPTO_RSA_PADDING_ALGO_RAW:
|
||||
error_setg(errp, "RSA with raw padding is not supported");
|
||||
break;
|
||||
|
||||
case QCRYPTO_RSA_PADDING_ALG_PKCS1:
|
||||
case QCRYPTO_RSA_PADDING_ALGO_PKCS1:
|
||||
nettle_mpz_init_set_str_256_u(c, enc_len, enc);
|
||||
if (!rsa_decrypt(&rsa->priv, &data_len, (uint8_t *)data, c)) {
|
||||
error_setg(errp, "Failed to decrypt");
|
||||
@@ -257,7 +257,7 @@ static int qcrypto_nettle_rsa_sign(QCryptoAkCipher *akcipher,
|
||||
* The RSA algorithm cannot be used for signature/verification
|
||||
* without padding.
|
||||
*/
|
||||
if (rsa->padding_alg == QCRYPTO_RSA_PADDING_ALG_RAW) {
|
||||
if (rsa->padding_alg == QCRYPTO_RSA_PADDING_ALGO_RAW) {
|
||||
error_setg(errp, "Try to make signature without padding");
|
||||
return ret;
|
||||
}
|
||||
@@ -276,19 +276,19 @@ static int qcrypto_nettle_rsa_sign(QCryptoAkCipher *akcipher,
|
||||
|
||||
mpz_init(s);
|
||||
switch (rsa->hash_alg) {
|
||||
case QCRYPTO_HASH_ALG_MD5:
|
||||
case QCRYPTO_HASH_ALGO_MD5:
|
||||
rv = rsa_md5_sign_digest(&rsa->priv, data, s);
|
||||
break;
|
||||
|
||||
case QCRYPTO_HASH_ALG_SHA1:
|
||||
case QCRYPTO_HASH_ALGO_SHA1:
|
||||
rv = rsa_sha1_sign_digest(&rsa->priv, data, s);
|
||||
break;
|
||||
|
||||
case QCRYPTO_HASH_ALG_SHA256:
|
||||
case QCRYPTO_HASH_ALGO_SHA256:
|
||||
rv = rsa_sha256_sign_digest(&rsa->priv, data, s);
|
||||
break;
|
||||
|
||||
case QCRYPTO_HASH_ALG_SHA512:
|
||||
case QCRYPTO_HASH_ALGO_SHA512:
|
||||
rv = rsa_sha512_sign_digest(&rsa->priv, data, s);
|
||||
break;
|
||||
|
||||
@@ -324,7 +324,7 @@ static int qcrypto_nettle_rsa_verify(QCryptoAkCipher *akcipher,
|
||||
* The RSA algorithm cannot be used for signature/verification
|
||||
* without padding.
|
||||
*/
|
||||
if (rsa->padding_alg == QCRYPTO_RSA_PADDING_ALG_RAW) {
|
||||
if (rsa->padding_alg == QCRYPTO_RSA_PADDING_ALGO_RAW) {
|
||||
error_setg(errp, "Try to verify signature without padding");
|
||||
return ret;
|
||||
}
|
||||
@@ -341,19 +341,19 @@ static int qcrypto_nettle_rsa_verify(QCryptoAkCipher *akcipher,
|
||||
|
||||
nettle_mpz_init_set_str_256_u(s, sig_len, sig);
|
||||
switch (rsa->hash_alg) {
|
||||
case QCRYPTO_HASH_ALG_MD5:
|
||||
case QCRYPTO_HASH_ALGO_MD5:
|
||||
rv = rsa_md5_verify_digest(&rsa->pub, data, s);
|
||||
break;
|
||||
|
||||
case QCRYPTO_HASH_ALG_SHA1:
|
||||
case QCRYPTO_HASH_ALGO_SHA1:
|
||||
rv = rsa_sha1_verify_digest(&rsa->pub, data, s);
|
||||
break;
|
||||
|
||||
case QCRYPTO_HASH_ALG_SHA256:
|
||||
case QCRYPTO_HASH_ALGO_SHA256:
|
||||
rv = rsa_sha256_verify_digest(&rsa->pub, data, s);
|
||||
break;
|
||||
|
||||
case QCRYPTO_HASH_ALG_SHA512:
|
||||
case QCRYPTO_HASH_ALGO_SHA512:
|
||||
rv = rsa_sha512_verify_digest(&rsa->pub, data, s);
|
||||
break;
|
||||
|
||||
@@ -397,13 +397,13 @@ static QCryptoAkCipher *qcrypto_nettle_rsa_new(
|
||||
rsa_private_key_init(&rsa->priv);
|
||||
|
||||
switch (type) {
|
||||
case QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE:
|
||||
case QCRYPTO_AK_CIPHER_KEY_TYPE_PRIVATE:
|
||||
if (qcrypt_nettle_parse_rsa_private_key(rsa, key, keylen, errp) != 0) {
|
||||
goto error;
|
||||
}
|
||||
break;
|
||||
|
||||
case QCRYPTO_AKCIPHER_KEY_TYPE_PUBLIC:
|
||||
case QCRYPTO_AK_CIPHER_KEY_TYPE_PUBLIC:
|
||||
if (qcrypt_nettle_parse_rsa_public_key(rsa, key, keylen, errp) != 0) {
|
||||
goto error;
|
||||
}
|
||||
@@ -425,21 +425,21 @@ error:
|
||||
bool qcrypto_akcipher_supports(QCryptoAkCipherOptions *opts)
|
||||
{
|
||||
switch (opts->alg) {
|
||||
case QCRYPTO_AKCIPHER_ALG_RSA:
|
||||
case QCRYPTO_AK_CIPHER_ALGO_RSA:
|
||||
switch (opts->u.rsa.padding_alg) {
|
||||
case QCRYPTO_RSA_PADDING_ALG_PKCS1:
|
||||
case QCRYPTO_RSA_PADDING_ALGO_PKCS1:
|
||||
switch (opts->u.rsa.hash_alg) {
|
||||
case QCRYPTO_HASH_ALG_MD5:
|
||||
case QCRYPTO_HASH_ALG_SHA1:
|
||||
case QCRYPTO_HASH_ALG_SHA256:
|
||||
case QCRYPTO_HASH_ALG_SHA512:
|
||||
case QCRYPTO_HASH_ALGO_MD5:
|
||||
case QCRYPTO_HASH_ALGO_SHA1:
|
||||
case QCRYPTO_HASH_ALGO_SHA256:
|
||||
case QCRYPTO_HASH_ALGO_SHA512:
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
case QCRYPTO_RSA_PADDING_ALG_RAW:
|
||||
case QCRYPTO_RSA_PADDING_ALGO_RAW:
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -115,7 +115,7 @@ int qcrypto_akcipher_export_p8info(const QCryptoAkCipherOptions *opts,
|
||||
Error **errp)
|
||||
{
|
||||
switch (opts->alg) {
|
||||
case QCRYPTO_AKCIPHER_ALG_RSA:
|
||||
case QCRYPTO_AK_CIPHER_ALGO_RSA:
|
||||
qcrypto_akcipher_rsakey_export_p8info(key, keylen, dst, dst_len);
|
||||
return 0;
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
typedef struct QCryptoAkCipherDriver QCryptoAkCipherDriver;
|
||||
|
||||
struct QCryptoAkCipher {
|
||||
QCryptoAkCipherAlgorithm alg;
|
||||
QCryptoAkCipherAlgo alg;
|
||||
QCryptoAkCipherKeyType type;
|
||||
int max_plaintext_len;
|
||||
int max_ciphertext_len;
|
||||
|
||||
+64
-64
@@ -68,38 +68,38 @@ struct QCryptoBlockLUKSCipherNameMap {
|
||||
|
||||
static const QCryptoBlockLUKSCipherSizeMap
|
||||
qcrypto_block_luks_cipher_size_map_aes[] = {
|
||||
{ 16, QCRYPTO_CIPHER_ALG_AES_128 },
|
||||
{ 24, QCRYPTO_CIPHER_ALG_AES_192 },
|
||||
{ 32, QCRYPTO_CIPHER_ALG_AES_256 },
|
||||
{ 16, QCRYPTO_CIPHER_ALGO_AES_128 },
|
||||
{ 24, QCRYPTO_CIPHER_ALGO_AES_192 },
|
||||
{ 32, QCRYPTO_CIPHER_ALGO_AES_256 },
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
static const QCryptoBlockLUKSCipherSizeMap
|
||||
qcrypto_block_luks_cipher_size_map_cast5[] = {
|
||||
{ 16, QCRYPTO_CIPHER_ALG_CAST5_128 },
|
||||
{ 16, QCRYPTO_CIPHER_ALGO_CAST5_128 },
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
static const QCryptoBlockLUKSCipherSizeMap
|
||||
qcrypto_block_luks_cipher_size_map_serpent[] = {
|
||||
{ 16, QCRYPTO_CIPHER_ALG_SERPENT_128 },
|
||||
{ 24, QCRYPTO_CIPHER_ALG_SERPENT_192 },
|
||||
{ 32, QCRYPTO_CIPHER_ALG_SERPENT_256 },
|
||||
{ 16, QCRYPTO_CIPHER_ALGO_SERPENT_128 },
|
||||
{ 24, QCRYPTO_CIPHER_ALGO_SERPENT_192 },
|
||||
{ 32, QCRYPTO_CIPHER_ALGO_SERPENT_256 },
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
static const QCryptoBlockLUKSCipherSizeMap
|
||||
qcrypto_block_luks_cipher_size_map_twofish[] = {
|
||||
{ 16, QCRYPTO_CIPHER_ALG_TWOFISH_128 },
|
||||
{ 24, QCRYPTO_CIPHER_ALG_TWOFISH_192 },
|
||||
{ 32, QCRYPTO_CIPHER_ALG_TWOFISH_256 },
|
||||
{ 16, QCRYPTO_CIPHER_ALGO_TWOFISH_128 },
|
||||
{ 24, QCRYPTO_CIPHER_ALGO_TWOFISH_192 },
|
||||
{ 32, QCRYPTO_CIPHER_ALGO_TWOFISH_256 },
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
#ifdef CONFIG_CRYPTO_SM4
|
||||
static const QCryptoBlockLUKSCipherSizeMap
|
||||
qcrypto_block_luks_cipher_size_map_sm4[] = {
|
||||
{ 16, QCRYPTO_CIPHER_ALG_SM4},
|
||||
{ 16, QCRYPTO_CIPHER_ALGO_SM4},
|
||||
{ 0, 0 },
|
||||
};
|
||||
#endif
|
||||
@@ -123,25 +123,25 @@ struct QCryptoBlockLUKS {
|
||||
QCryptoBlockLUKSHeader header;
|
||||
|
||||
/* Main encryption algorithm used for encryption*/
|
||||
QCryptoCipherAlgorithm cipher_alg;
|
||||
QCryptoCipherAlgo cipher_alg;
|
||||
|
||||
/* Mode of encryption for the selected encryption algorithm */
|
||||
QCryptoCipherMode cipher_mode;
|
||||
|
||||
/* Initialization vector generation algorithm */
|
||||
QCryptoIVGenAlgorithm ivgen_alg;
|
||||
QCryptoIVGenAlgo ivgen_alg;
|
||||
|
||||
/* Hash algorithm used for IV generation*/
|
||||
QCryptoHashAlgorithm ivgen_hash_alg;
|
||||
QCryptoHashAlgo ivgen_hash_alg;
|
||||
|
||||
/*
|
||||
* Encryption algorithm used for IV generation.
|
||||
* Usually the same as main encryption algorithm
|
||||
*/
|
||||
QCryptoCipherAlgorithm ivgen_cipher_alg;
|
||||
QCryptoCipherAlgo ivgen_cipher_alg;
|
||||
|
||||
/* Hash algorithm used in pbkdf2 function */
|
||||
QCryptoHashAlgorithm hash_alg;
|
||||
QCryptoHashAlgo hash_alg;
|
||||
|
||||
/* Name of the secret that was used to open the image */
|
||||
char *secret;
|
||||
@@ -179,7 +179,7 @@ static int qcrypto_block_luks_cipher_name_lookup(const char *name,
|
||||
}
|
||||
|
||||
static const char *
|
||||
qcrypto_block_luks_cipher_alg_lookup(QCryptoCipherAlgorithm alg,
|
||||
qcrypto_block_luks_cipher_alg_lookup(QCryptoCipherAlgo alg,
|
||||
Error **errp)
|
||||
{
|
||||
const QCryptoBlockLUKSCipherNameMap *map =
|
||||
@@ -195,7 +195,7 @@ qcrypto_block_luks_cipher_alg_lookup(QCryptoCipherAlgorithm alg,
|
||||
}
|
||||
|
||||
error_setg(errp, "Algorithm '%s' not supported",
|
||||
QCryptoCipherAlgorithm_str(alg));
|
||||
QCryptoCipherAlgo_str(alg));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -223,13 +223,13 @@ static int qcrypto_block_luks_name_lookup(const char *name,
|
||||
|
||||
#define qcrypto_block_luks_hash_name_lookup(name, errp) \
|
||||
qcrypto_block_luks_name_lookup(name, \
|
||||
&QCryptoHashAlgorithm_lookup, \
|
||||
&QCryptoHashAlgo_lookup, \
|
||||
"Hash algorithm", \
|
||||
errp)
|
||||
|
||||
#define qcrypto_block_luks_ivgen_name_lookup(name, errp) \
|
||||
qcrypto_block_luks_name_lookup(name, \
|
||||
&QCryptoIVGenAlgorithm_lookup, \
|
||||
&QCryptoIVGenAlgo_lookup, \
|
||||
"IV generator", \
|
||||
errp)
|
||||
|
||||
@@ -262,9 +262,9 @@ qcrypto_block_luks_has_format(const uint8_t *buf,
|
||||
* the cipher since that gets a key length matching the digest
|
||||
* size, not AES 128 with truncated digest as might be imagined
|
||||
*/
|
||||
static QCryptoCipherAlgorithm
|
||||
qcrypto_block_luks_essiv_cipher(QCryptoCipherAlgorithm cipher,
|
||||
QCryptoHashAlgorithm hash,
|
||||
static QCryptoCipherAlgo
|
||||
qcrypto_block_luks_essiv_cipher(QCryptoCipherAlgo cipher,
|
||||
QCryptoHashAlgo hash,
|
||||
Error **errp)
|
||||
{
|
||||
size_t digestlen = qcrypto_hash_digest_len(hash);
|
||||
@@ -274,54 +274,54 @@ qcrypto_block_luks_essiv_cipher(QCryptoCipherAlgorithm cipher,
|
||||
}
|
||||
|
||||
switch (cipher) {
|
||||
case QCRYPTO_CIPHER_ALG_AES_128:
|
||||
case QCRYPTO_CIPHER_ALG_AES_192:
|
||||
case QCRYPTO_CIPHER_ALG_AES_256:
|
||||
case QCRYPTO_CIPHER_ALGO_AES_128:
|
||||
case QCRYPTO_CIPHER_ALGO_AES_192:
|
||||
case QCRYPTO_CIPHER_ALGO_AES_256:
|
||||
if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_AES_128)) {
|
||||
return QCRYPTO_CIPHER_ALG_AES_128;
|
||||
QCRYPTO_CIPHER_ALGO_AES_128)) {
|
||||
return QCRYPTO_CIPHER_ALGO_AES_128;
|
||||
} else if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_AES_192)) {
|
||||
return QCRYPTO_CIPHER_ALG_AES_192;
|
||||
QCRYPTO_CIPHER_ALGO_AES_192)) {
|
||||
return QCRYPTO_CIPHER_ALGO_AES_192;
|
||||
} else if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_AES_256)) {
|
||||
return QCRYPTO_CIPHER_ALG_AES_256;
|
||||
QCRYPTO_CIPHER_ALGO_AES_256)) {
|
||||
return QCRYPTO_CIPHER_ALGO_AES_256;
|
||||
} else {
|
||||
error_setg(errp, "No AES cipher with key size %zu available",
|
||||
digestlen);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case QCRYPTO_CIPHER_ALG_SERPENT_128:
|
||||
case QCRYPTO_CIPHER_ALG_SERPENT_192:
|
||||
case QCRYPTO_CIPHER_ALG_SERPENT_256:
|
||||
case QCRYPTO_CIPHER_ALGO_SERPENT_128:
|
||||
case QCRYPTO_CIPHER_ALGO_SERPENT_192:
|
||||
case QCRYPTO_CIPHER_ALGO_SERPENT_256:
|
||||
if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_SERPENT_128)) {
|
||||
return QCRYPTO_CIPHER_ALG_SERPENT_128;
|
||||
QCRYPTO_CIPHER_ALGO_SERPENT_128)) {
|
||||
return QCRYPTO_CIPHER_ALGO_SERPENT_128;
|
||||
} else if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_SERPENT_192)) {
|
||||
return QCRYPTO_CIPHER_ALG_SERPENT_192;
|
||||
QCRYPTO_CIPHER_ALGO_SERPENT_192)) {
|
||||
return QCRYPTO_CIPHER_ALGO_SERPENT_192;
|
||||
} else if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_SERPENT_256)) {
|
||||
return QCRYPTO_CIPHER_ALG_SERPENT_256;
|
||||
QCRYPTO_CIPHER_ALGO_SERPENT_256)) {
|
||||
return QCRYPTO_CIPHER_ALGO_SERPENT_256;
|
||||
} else {
|
||||
error_setg(errp, "No Serpent cipher with key size %zu available",
|
||||
digestlen);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case QCRYPTO_CIPHER_ALG_TWOFISH_128:
|
||||
case QCRYPTO_CIPHER_ALG_TWOFISH_192:
|
||||
case QCRYPTO_CIPHER_ALG_TWOFISH_256:
|
||||
case QCRYPTO_CIPHER_ALGO_TWOFISH_128:
|
||||
case QCRYPTO_CIPHER_ALGO_TWOFISH_192:
|
||||
case QCRYPTO_CIPHER_ALGO_TWOFISH_256:
|
||||
if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_TWOFISH_128)) {
|
||||
return QCRYPTO_CIPHER_ALG_TWOFISH_128;
|
||||
QCRYPTO_CIPHER_ALGO_TWOFISH_128)) {
|
||||
return QCRYPTO_CIPHER_ALGO_TWOFISH_128;
|
||||
} else if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_TWOFISH_192)) {
|
||||
return QCRYPTO_CIPHER_ALG_TWOFISH_192;
|
||||
QCRYPTO_CIPHER_ALGO_TWOFISH_192)) {
|
||||
return QCRYPTO_CIPHER_ALGO_TWOFISH_192;
|
||||
} else if (digestlen == qcrypto_cipher_get_key_len(
|
||||
QCRYPTO_CIPHER_ALG_TWOFISH_256)) {
|
||||
return QCRYPTO_CIPHER_ALG_TWOFISH_256;
|
||||
QCRYPTO_CIPHER_ALGO_TWOFISH_256)) {
|
||||
return QCRYPTO_CIPHER_ALGO_TWOFISH_256;
|
||||
} else {
|
||||
error_setg(errp, "No Twofish cipher with key size %zu available",
|
||||
digestlen);
|
||||
@@ -330,7 +330,7 @@ qcrypto_block_luks_essiv_cipher(QCryptoCipherAlgorithm cipher,
|
||||
break;
|
||||
default:
|
||||
error_setg(errp, "Cipher %s not supported with essiv",
|
||||
QCryptoCipherAlgorithm_str(cipher));
|
||||
QCryptoCipherAlgo_str(cipher));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -660,7 +660,7 @@ qcrypto_block_luks_parse_header(QCryptoBlockLUKS *luks, Error **errp)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (luks->ivgen_alg == QCRYPTO_IVGEN_ALG_ESSIV) {
|
||||
if (luks->ivgen_alg == QCRYPTO_IV_GEN_ALGO_ESSIV) {
|
||||
if (!ivhash_name) {
|
||||
error_setg(errp, "Missing IV generator hash specification");
|
||||
return -1;
|
||||
@@ -1322,20 +1322,20 @@ qcrypto_block_luks_create(QCryptoBlock *block,
|
||||
luks_opts.iter_time = QCRYPTO_BLOCK_LUKS_DEFAULT_ITER_TIME_MS;
|
||||
}
|
||||
if (!luks_opts.has_cipher_alg) {
|
||||
luks_opts.cipher_alg = QCRYPTO_CIPHER_ALG_AES_256;
|
||||
luks_opts.cipher_alg = QCRYPTO_CIPHER_ALGO_AES_256;
|
||||
}
|
||||
if (!luks_opts.has_cipher_mode) {
|
||||
luks_opts.cipher_mode = QCRYPTO_CIPHER_MODE_XTS;
|
||||
}
|
||||
if (!luks_opts.has_ivgen_alg) {
|
||||
luks_opts.ivgen_alg = QCRYPTO_IVGEN_ALG_PLAIN64;
|
||||
luks_opts.ivgen_alg = QCRYPTO_IV_GEN_ALGO_PLAIN64;
|
||||
}
|
||||
if (!luks_opts.has_hash_alg) {
|
||||
luks_opts.hash_alg = QCRYPTO_HASH_ALG_SHA256;
|
||||
luks_opts.hash_alg = QCRYPTO_HASH_ALGO_SHA256;
|
||||
}
|
||||
if (luks_opts.ivgen_alg == QCRYPTO_IVGEN_ALG_ESSIV) {
|
||||
if (luks_opts.ivgen_alg == QCRYPTO_IV_GEN_ALGO_ESSIV) {
|
||||
if (!luks_opts.has_ivgen_hash_alg) {
|
||||
luks_opts.ivgen_hash_alg = QCRYPTO_HASH_ALG_SHA256;
|
||||
luks_opts.ivgen_hash_alg = QCRYPTO_HASH_ALGO_SHA256;
|
||||
luks_opts.has_ivgen_hash_alg = true;
|
||||
}
|
||||
}
|
||||
@@ -1384,15 +1384,15 @@ qcrypto_block_luks_create(QCryptoBlock *block,
|
||||
}
|
||||
|
||||
cipher_mode = QCryptoCipherMode_str(luks_opts.cipher_mode);
|
||||
ivgen_alg = QCryptoIVGenAlgorithm_str(luks_opts.ivgen_alg);
|
||||
ivgen_alg = QCryptoIVGenAlgo_str(luks_opts.ivgen_alg);
|
||||
if (luks_opts.has_ivgen_hash_alg) {
|
||||
ivgen_hash_alg = QCryptoHashAlgorithm_str(luks_opts.ivgen_hash_alg);
|
||||
ivgen_hash_alg = QCryptoHashAlgo_str(luks_opts.ivgen_hash_alg);
|
||||
cipher_mode_spec = g_strdup_printf("%s-%s:%s", cipher_mode, ivgen_alg,
|
||||
ivgen_hash_alg);
|
||||
} else {
|
||||
cipher_mode_spec = g_strdup_printf("%s-%s", cipher_mode, ivgen_alg);
|
||||
}
|
||||
hash_alg = QCryptoHashAlgorithm_str(luks_opts.hash_alg);
|
||||
hash_alg = QCryptoHashAlgo_str(luks_opts.hash_alg);
|
||||
|
||||
|
||||
if (strlen(cipher_alg) >= QCRYPTO_BLOCK_LUKS_CIPHER_NAME_LEN) {
|
||||
@@ -1411,7 +1411,7 @@ qcrypto_block_luks_create(QCryptoBlock *block,
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (luks_opts.ivgen_alg == QCRYPTO_IVGEN_ALG_ESSIV) {
|
||||
if (luks_opts.ivgen_alg == QCRYPTO_IV_GEN_ALGO_ESSIV) {
|
||||
luks->ivgen_cipher_alg =
|
||||
qcrypto_block_luks_essiv_cipher(luks_opts.cipher_alg,
|
||||
luks_opts.ivgen_hash_alg,
|
||||
@@ -1861,11 +1861,11 @@ qcrypto_block_luks_amend_options(QCryptoBlock *block,
|
||||
QCryptoBlockAmendOptionsLUKS *opts_luks = &options->u.luks;
|
||||
|
||||
switch (opts_luks->state) {
|
||||
case Q_CRYPTO_BLOCKLUKS_KEYSLOT_STATE_ACTIVE:
|
||||
case QCRYPTO_BLOCK_LUKS_KEYSLOT_STATE_ACTIVE:
|
||||
return qcrypto_block_luks_amend_add_keyslot(block, readfunc,
|
||||
writefunc, opaque,
|
||||
opts_luks, force, errp);
|
||||
case Q_CRYPTO_BLOCKLUKS_KEYSLOT_STATE_INACTIVE:
|
||||
case QCRYPTO_BLOCK_LUKS_KEYSLOT_STATE_INACTIVE:
|
||||
return qcrypto_block_luks_amend_erase_keyslots(block, readfunc,
|
||||
writefunc, opaque,
|
||||
opts_luks, force, errp);
|
||||
@@ -1886,7 +1886,7 @@ static int qcrypto_block_luks_get_info(QCryptoBlock *block,
|
||||
info->u.luks.cipher_alg = luks->cipher_alg;
|
||||
info->u.luks.cipher_mode = luks->cipher_mode;
|
||||
info->u.luks.ivgen_alg = luks->ivgen_alg;
|
||||
if (info->u.luks.ivgen_alg == QCRYPTO_IVGEN_ALG_ESSIV) {
|
||||
if (info->u.luks.ivgen_alg == QCRYPTO_IV_GEN_ALGO_ESSIV) {
|
||||
info->u.luks.has_ivgen_hash_alg = true;
|
||||
info->u.luks.ivgen_hash_alg = luks->ivgen_hash_alg;
|
||||
}
|
||||
|
||||
+3
-3
@@ -62,16 +62,16 @@ qcrypto_block_qcow_init(QCryptoBlock *block,
|
||||
memcpy(keybuf, password, MIN(len, sizeof(keybuf)));
|
||||
g_free(password);
|
||||
|
||||
block->niv = qcrypto_cipher_get_iv_len(QCRYPTO_CIPHER_ALG_AES_128,
|
||||
block->niv = qcrypto_cipher_get_iv_len(QCRYPTO_CIPHER_ALGO_AES_128,
|
||||
QCRYPTO_CIPHER_MODE_CBC);
|
||||
block->ivgen = qcrypto_ivgen_new(QCRYPTO_IVGEN_ALG_PLAIN64,
|
||||
block->ivgen = qcrypto_ivgen_new(QCRYPTO_IV_GEN_ALGO_PLAIN64,
|
||||
0, 0, NULL, 0, errp);
|
||||
if (!block->ivgen) {
|
||||
ret = -ENOTSUP;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
ret = qcrypto_block_init_cipher(block, QCRYPTO_CIPHER_ALG_AES_128,
|
||||
ret = qcrypto_block_init_cipher(block, QCRYPTO_CIPHER_ALGO_AES_128,
|
||||
QCRYPTO_CIPHER_MODE_CBC,
|
||||
keybuf, G_N_ELEMENTS(keybuf),
|
||||
errp);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user