diff --git a/src/ssl.c b/src/ssl.c index 1cc079d9c..24591613b 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -13911,8 +13911,6 @@ int wolfSSL_EC_GROUP_get_degree(const WOLFSSL_EC_GROUP *group) return SSL_FAILURE; break; } - - return SSL_FAILURE; } /* return code compliant with OpenSSL : @@ -14087,11 +14085,11 @@ int wolfSSL_EC_POINT_mul(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *r, const WOLFSSL_BIGNUM *n, const WOLFSSL_EC_POINT *q, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx) { + mp_int prime; + (void)ctx; (void)n; - mp_int prime; - WOLFSSL_ENTER("wolfSSL_EC_POINT_mul"); if (group == NULL || r == NULL || r->internal == NULL || @@ -14153,8 +14151,9 @@ int wolfSSL_EC_POINT_cmp(const WOLFSSL_EC_GROUP *group, const WOLFSSL_EC_POINT *a, const WOLFSSL_EC_POINT *b, WOLFSSL_BN_CTX *ctx) { - (void)ctx; int ret; + + (void)ctx; WOLFSSL_ENTER("wolfSSL_EC_POINT_cmp"); @@ -14411,10 +14410,11 @@ int wolfSSL_ECDH_compute_key(void *out, size_t outlen, void *(*KDF) (const void *in, size_t inlen, void *out, size_t *outlen)) { - (void)KDF; word32 len; - WOLFSSL_ENTER("wolfSSL_ECDH_compute_key"); + (void)KDF; + + WOLFSSL_ENTER("wolfSSL_ECDH_compute_key"); if (out == NULL || pub_key == NULL || pub_key->internal == NULL || ecdh == NULL || ecdh->internal == NULL) { diff --git a/tests/test-qsh.conf b/tests/test-qsh.conf index 8261f147d..0f59c428f 100644 --- a/tests/test-qsh.conf +++ b/tests/test-qsh.conf @@ -2018,4 +2018,7 @@ -c ./certs/ntru-cert.pem -k ./certs/ntru-key.raw +# client TLSv1.2 NTRU_AES128 +-v 3 +-l QSH:NTRU-AES128-SHA diff --git a/tests/test.conf b/tests/test.conf index 963db7b06..9e6d0674a 100644 --- a/tests/test.conf +++ b/tests/test.conf @@ -2018,4 +2018,7 @@ -c ./certs/ntru-cert.pem -k ./certs/ntru-key.raw +# client TLSv1.2 NTRU_AES128 +-v 3 +-l NTRU-AES128-SHA diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 8537ed5d2..78a849ab1 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -2735,7 +2735,7 @@ WOLFSSL_LOCAL word32 SetExplicit(byte number, word32 len, byte* output) #if defined(HAVE_ECC) && (defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_KEY_GEN)) -static word32 SetCurve(ecc_key* key, byte* output) +static int SetCurve(ecc_key* key, byte* output) { /* curve types */ diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c old mode 100644 new mode 100755 index a65e343df..9d1d0dae0 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -2597,26 +2597,25 @@ int wc_ecc_export_point_der(const int curve_idx, ecc_point* point, byte* out, return MEMORY_E; #endif - do { - /* pad and store x */ - XMEMSET(buf, 0, ECC_BUFSIZE); - ret = mp_to_unsigned_bin(point->x, buf + + /* pad and store x */ + XMEMSET(buf, 0, ECC_BUFSIZE); + ret = mp_to_unsigned_bin(point->x, buf + (numlen - mp_unsigned_bin_size(point->x))); - if (ret != MP_OKAY) - break; - XMEMCPY(out+1, buf, numlen); + if (ret != MP_OKAY) + goto done; + XMEMCPY(out+1, buf, numlen); - /* pad and store y */ - XMEMSET(buf, 0, ECC_BUFSIZE); - ret = mp_to_unsigned_bin(point->y, buf + + /* pad and store y */ + XMEMSET(buf, 0, ECC_BUFSIZE); + ret = mp_to_unsigned_bin(point->y, buf + (numlen - mp_unsigned_bin_size(point->y))); - if (ret != MP_OKAY) - break; - XMEMCPY(out+1+numlen, buf, numlen); + if (ret != MP_OKAY) + goto done; + XMEMCPY(out+1+numlen, buf, numlen); - *outLen = 1 + 2*numlen; - } while (0); + *outLen = 1 + 2*numlen; +done: #ifdef WOLFSSL_SMALL_STACK XFREE(buf, NULL, DYNAMIC_TYPE_TMP_BUFFER); #endif @@ -2665,26 +2664,25 @@ int wc_ecc_export_x963(ecc_key* key, byte* out, word32* outLen) return MEMORY_E; #endif - do { - /* pad and store x */ - XMEMSET(buf, 0, ECC_BUFSIZE); - ret = mp_to_unsigned_bin(key->pubkey.x, + /* pad and store x */ + XMEMSET(buf, 0, ECC_BUFSIZE); + ret = mp_to_unsigned_bin(key->pubkey.x, buf + (numlen - mp_unsigned_bin_size(key->pubkey.x))); - if (ret != MP_OKAY) - break; - XMEMCPY(out+1, buf, numlen); + if (ret != MP_OKAY) + goto done; + XMEMCPY(out+1, buf, numlen); - /* pad and store y */ - XMEMSET(buf, 0, ECC_BUFSIZE); - ret = mp_to_unsigned_bin(key->pubkey.y, + /* pad and store y */ + XMEMSET(buf, 0, ECC_BUFSIZE); + ret = mp_to_unsigned_bin(key->pubkey.y, buf + (numlen - mp_unsigned_bin_size(key->pubkey.y))); - if (ret != MP_OKAY) - break; - XMEMCPY(out+1+numlen, buf, numlen); + if (ret != MP_OKAY) + goto done; + XMEMCPY(out+1+numlen, buf, numlen); - *outLen = 1 + 2*numlen; - } while (0); + *outLen = 1 + 2*numlen; +done: #ifdef WOLFSSL_SMALL_STACK XFREE(buf, NULL, DYNAMIC_TYPE_TMP_BUFFER); #endif diff --git a/wolfssl/wolfcrypt/tfm.h b/wolfssl/wolfcrypt/tfm.h index 50e9712e7..2467069b3 100644 --- a/wolfssl/wolfcrypt/tfm.h +++ b/wolfssl/wolfcrypt/tfm.h @@ -257,10 +257,10 @@ #define FP_NEG 1 /* return codes */ -#define FP_OKAY 0 -#define FP_VAL 1 -#define FP_MEM 2 -#define FP_NOT_INF 3 +#define FP_OKAY 0 +#define FP_VAL -1 +#define FP_MEM -2 +#define FP_NOT_INF -3 /* equalities */ #define FP_LT -1 /* less than */