From 377f5c304cfd2b798fbbb027404e418de6058fd9 Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Thu, 18 Jan 2018 09:05:21 -0700 Subject: [PATCH] update for async build and include for getenv --- src/ssl.c | 3 +-- wolfcrypt/src/ecc.c | 20 -------------------- wolfcrypt/test/test.c | 4 ---- wolfssl/openssl/aes.h | 5 +---- wolfssl/openssl/rc4.h | 5 +---- wolfssl/wolfcrypt/types.h | 17 ++++++++++------- 6 files changed, 13 insertions(+), 41 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index 9ff6c6811..1e17579fd 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -24766,8 +24766,7 @@ int wolfSSL_HMAC_CTX_copy(WOLFSSL_HMAC_CTX* des, WOLFSSL_HMAC_CTX* src) WC_HMAC_BLOCK_SIZE); #ifdef WOLFSSL_ASYNC_CRYPT - XMEMCPY(des->hmac.asyncDev, src->hmac.asyncDev, sizeof(WC_ASYNC_DEV)); - XMEMCPY(des->hmac.keyRaw, src->hmac.keyRaw, WC_HMAC_BLOCK_SIZE); + XMEMCPY(&des->hmac.asyncDev, &src->hmac.asyncDev, sizeof(WC_ASYNC_DEV)); des->hmac.keyLen = src->hmac.keyLen; #ifdef HAVE_CAVIUM des->hmac.data = (byte*)XMALLOC(src->hmac.dataLen, des->heap, diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c index c2f5234a3..01224cddf 100644 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -4073,26 +4073,6 @@ int wc_ecc_verify_hash(const byte* sig, word32 siglen, const byte* hash, return ECC_BAD_ARG_E; } -#ifdef WOLFSSL_ASYNC_CRYPT - if (key->asyncDev.marker == WOLFSSL_ASYNC_MARKER_ECC) { - #ifdef HAVE_CAVIUM - /* TODO: Not implemented */ - #else - AsyncCryptTestDev* testDev = &key->asyncDev.dev; - if (testDev->type == ASYNC_TEST_NONE) { - testDev->type = ASYNC_TEST_ECC_VERIFY; - testDev->eccVerify.in = sig; - testDev->eccVerify.inSz = siglen; - testDev->eccVerify.out = hash; - testDev->eccVerify.outSz = hashlen; - testDev->eccVerify.stat = state; - testDev->eccVerify.key = key; - return WC_PENDING_E; - } - #endif - } -#endif - switch(key->state) { case ECC_STATE_NONE: case ECC_STATE_VERIFY_DECODE: diff --git a/wolfcrypt/test/test.c b/wolfcrypt/test/test.c index 60ad38b98..19427247e 100644 --- a/wolfcrypt/test/test.c +++ b/wolfcrypt/test/test.c @@ -4257,10 +4257,6 @@ int des3_test(void) wc_Des3Free(&enc); wc_Des3Free(&dec); -#ifdef WOLFSSL_ASYNC_CRYPT - wc_Des3AsyncFree(&enc); - wc_Des3AsyncFree(&dec); -#endif return 0; } #endif /* NO_DES */ diff --git a/wolfssl/openssl/aes.h b/wolfssl/openssl/aes.h index 28e631967..ad92dc186 100644 --- a/wolfssl/openssl/aes.h +++ b/wolfssl/openssl/aes.h @@ -43,10 +43,7 @@ * to need the size of the structure. */ typedef struct WOLFSSL_AES_KEY { /* aligned and big enough for Aes from wolfssl/wolfcrypt/aes.h */ - ALIGN16 void* holder[360 / sizeof(void*)]; - #ifdef WOLFSSL_ASYNC_CRYPT - void* additional[64 / sizeof(void*)]; /* async uses additional memory */ - #endif + ALIGN16 void* holder[(360 + WC_ASYNC_DEV_SIZE)/ sizeof(void*)]; #ifdef GCM_TABLE /* key-based fast multiplication table. */ ALIGN16 void* M0[4096 / sizeof(void*)]; diff --git a/wolfssl/openssl/rc4.h b/wolfssl/openssl/rc4.h index 3d981029e..43ce9ac09 100644 --- a/wolfssl/openssl/rc4.h +++ b/wolfssl/openssl/rc4.h @@ -39,10 +39,7 @@ * the size of RC4_KEY structures. */ typedef struct WOLFSSL_RC4_KEY { /* big enough for Arc4 from wolfssl/wolfcrypt/arc4.h */ - unsigned char holder[272]; - #ifdef WOLFSSL_ASYNC_CRYPT - unsigned char additional[64]; /* async uses additional memory */ - #endif + void* holder[(272 + WC_ASYNC_DEV_SIZE) / sizeof(void*)]; } WOLFSSL_RC4_KEY; typedef WOLFSSL_RC4_KEY RC4_KEY; diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index da4e92470..957b3a15f 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -327,7 +327,8 @@ /* snprintf is used in asn.c for GetTimeString, PKCS7 test, and when debugging is turned on */ #ifndef USE_WINDOWS_API - #if defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) + #if defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \ + !defined(NO_STDIO_FILESYSTEM) /* case where stdio is not included else where but is needed for * snprintf */ #include @@ -337,12 +338,6 @@ #define XSNPRINTF _snprintf #endif - #ifdef OPENSSL_EXTRA - #ifndef XGETENV - #define XGETENV getenv - #endif - #endif /* OPENSSL_EXTRA */ - #if defined(WOLFSSL_CERT_EXT) || defined(HAVE_ALPN) /* use only Thread Safe version of strtok */ #if defined(__MINGW32__) || defined(WOLFSSL_TIRTOS) || \ @@ -359,6 +354,14 @@ #endif #endif + #if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \ + !defined(NO_STDIO_FILESYSTEM) + #ifndef XGETENV + #include + #define XGETENV getenv + #endif + #endif /* OPENSSL_EXTRA */ + #ifndef CTYPE_USER #include #if defined(HAVE_ECC) || defined(HAVE_OCSP) || \