From d84b79d358c3e5a490f8b82641b7f99b52458545 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 19 Nov 2015 17:09:01 +0000 Subject: [PATCH] crypto: move QCryptoHashAlgorithm enum definition into QAPI The QCryptoHashAlgorithm enum is defined in the crypto/hash.h header. In the future some QAPI types will want to reference the hash enums, so move the enum definition into QAPI too. Reviewed-by: Eric Blake Signed-off-by: Daniel P. Berrange --- crypto/hash.c | 4 ++-- include/crypto/hash.h | 9 +-------- qapi/crypto.json | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/crypto/hash.c b/crypto/hash.c index 5a47b90ec0c3..6e83f43e4a05 100644 --- a/crypto/hash.c +++ b/crypto/hash.c @@ -24,13 +24,13 @@ #include #include -static int qcrypto_hash_alg_map[QCRYPTO_HASH_ALG_LAST] = { +static int qcrypto_hash_alg_map[QCRYPTO_HASH_ALG__MAX] = { [QCRYPTO_HASH_ALG_MD5] = GNUTLS_DIG_MD5, [QCRYPTO_HASH_ALG_SHA1] = GNUTLS_DIG_SHA1, [QCRYPTO_HASH_ALG_SHA256] = GNUTLS_DIG_SHA256, }; -static size_t qcrypto_hash_alg_size[QCRYPTO_HASH_ALG_LAST] = { +static size_t qcrypto_hash_alg_size[QCRYPTO_HASH_ALG__MAX] = { [QCRYPTO_HASH_ALG_MD5] = 16, [QCRYPTO_HASH_ALG_SHA1] = 20, [QCRYPTO_HASH_ALG_SHA256] = 32, diff --git a/include/crypto/hash.h b/include/crypto/hash.h index 3d1812442f8d..41822c0a4e8e 100644 --- a/include/crypto/hash.h +++ b/include/crypto/hash.h @@ -24,14 +24,7 @@ #include "qemu-common.h" #include "qapi/error.h" -typedef enum { - QCRYPTO_HASH_ALG_MD5, - QCRYPTO_HASH_ALG_SHA1, - QCRYPTO_HASH_ALG_SHA256, - - QCRYPTO_HASH_ALG_LAST -} QCryptoHashAlgorithm; - +/* See also "QCryptoHashAlgorithm" defined in qapi/crypto.json */ /** * qcrypto_hash_supports: diff --git a/qapi/crypto.json b/qapi/crypto.json index 401265916917..0706ded59d94 100644 --- a/qapi/crypto.json +++ b/qapi/crypto.json @@ -33,3 +33,18 @@ { 'enum': 'QCryptoSecretFormat', 'prefix': 'QCRYPTO_SECRET_FORMAT', 'data': ['raw', 'base64']} + + +## +# QCryptoHashAlgorithm: +# +# The supported algorithms for computing content digests +# +# @md5: MD5. Should not be used in any new code, legacy compat only +# @sha1: SHA-1. Should not be used in any new code, legacy compat only +# @sha256: SHA-256. Current recommended strong hash. +# Since: 2.6 +## +{ 'enum': 'QCryptoHashAlgorithm', + 'prefix': 'QCRYPTO_HASH_ALG', + 'data': ['md5', 'sha1', 'sha256']}