]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
GnuTLS: Add TEST_FAIL() to crypto routines for testing purposes
authorJouni Malinen <j@w1.fi>
Thu, 28 Dec 2017 10:33:02 +0000 (12:33 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 28 Dec 2017 20:33:12 +0000 (22:33 +0200)
This allows number of hwsim test cases for local error conditions to be
executed with GnuTLS-based builds.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/crypto/crypto_gnutls.c

index 7c036a6689983329b6e21b20ff74d4b6cf1dd4b8..7a797b5c359d10e8f120d5509fcdc96672efd6b8 100644 (file)
@@ -24,6 +24,9 @@ static int gnutls_digest_vector(int algo, size_t num_elem,
        unsigned char *p;
        size_t i;
 
+       if (TEST_FAIL())
+               return -1;
+
        if (gcry_md_open(&hd, algo, 0) != GPG_ERR_NO_ERROR)
                return -1;
        for (i = 0; i < num_elem; i++)
@@ -103,6 +106,9 @@ static int gnutls_hmac_vector(int algo, const u8 *key, size_t key_len,
        unsigned char *p;
        size_t i;
 
+       if (TEST_FAIL())
+               return -1;
+
        if (gcry_md_open(&hd, algo, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
                return -1;
        if (gcry_md_setkey(hd, key, key_len) != GPG_ERR_NO_ERROR) {
@@ -210,6 +216,9 @@ void * aes_encrypt_init(const u8 *key, size_t len)
 {
        gcry_cipher_hd_t hd;
 
+       if (TEST_FAIL())
+               return NULL;
+
        if (gcry_cipher_open(&hd, GCRY_CIPHER_AES, GCRY_CIPHER_MODE_ECB, 0) !=
            GPG_ERR_NO_ERROR) {
                printf("cipher open failed\n");
@@ -244,6 +253,9 @@ void * aes_decrypt_init(const u8 *key, size_t len)
 {
        gcry_cipher_hd_t hd;
 
+       if (TEST_FAIL())
+               return NULL;
+
        if (gcry_cipher_open(&hd, GCRY_CIPHER_AES, GCRY_CIPHER_MODE_ECB, 0) !=
            GPG_ERR_NO_ERROR)
                return NULL;