Sean Parkinson
61b0efce4f
Merge pull request #7039 from embhorn/zd17127
...
Check for neg size in fp_read_unsigned_bin
2023-12-08 07:44:09 +10:00
gojimmypi
5e5286d30d
Merge branch 'master' of https://github.com/wolfSSL/wolfssl into PR-Expressif-Benchmark
2023-12-07 13:26:20 -08:00
Eric Blankenhorn
27e93276de
Check for neg size in fp_read_unsigned_bin
2023-12-07 14:26:12 -06:00
JacobBarthelmeh
5caa71ec6a
Merge pull request #7038 from SparkiDev/heapmath_mp_add_d
...
Heapmath mp_add_d: fix for when a and c same pointer
2023-12-07 10:04:13 -07:00
JacobBarthelmeh
9d0bb4c2bf
Merge pull request #7040 from dgarske/win_vs
...
Fixes for building wolfSSL in Visual Studio
2023-12-07 10:02:33 -07:00
Daniel Pouzzner
931ac4e568
add documentation for wc_AesXtsInit(), wc_AesXtsSetKeyNoInit(), wc_CmacFinalNoFree(), and wc_CmacFree();
...
rename wc_AesXtsSetKey_NoInit() to wc_AesXtsSetKeyNoInit() for morphological consistency;
refactor wc_AesXtsSetKey() to call wc_AesXtsSetKeyNoInit() and clean up on failure;
readability tweak in wolfSSL_EVP_CipherFinal().
2023-12-06 19:26:46 -06:00
Daniel Pouzzner
b14aba48af
wolfcrypt/src/cmac.c: add wc_CmacFree(), revert wc_CmacFinal(), rename wc_CmacFinal() as wc_CmacFinalNoFree() removing its deallocation clauses, and add new wc_CmacFinal() that calls wc_CmacFinalNoFree() then calls wc_CmacFree() unconditionally, for compatibility with legacy client code (some of which may have previously leaked).
...
tests/api.c: modify test_wc_CmacFinal() to use wc_CmacFinalNoFree() except for the final call.
wolfcrypt/src/aes.c:
* fix wc_AesEaxEncryptAuth() and wc_AesEaxDecryptAuth() to call wc_AesEaxFree() only if wc_AesEaxInit() succeeded.
* fix wc_AesEaxInit() to free all resources on failure.
* revert wc_AesEaxEncryptFinal() and wc_AesEaxDecryptFinal() changes, then change wc_CmacFinal() calls in them to wc_CmacFinalNoFree() calls.
* wc_AesEaxFree(): add wc_CmacFree() calls.
2023-12-06 16:55:57 -06:00
Sean Parkinson
226c631feb
Heapmath mp_add_d: fix for when a and c same pointer
...
When parameters a and c to mp_add_d are the same pointer, c->sign was
being set to zero/positive and then a->sign was being checked.
Set the c->sign at end as it will always be zero/positive through the
code and the sign of the result isn't otherwise used.
2023-12-07 07:51:43 +10:00
gojimmypi
f3a9d4a56e
Espressif Benchmark ESP-IDF 4.4 fixes
2023-12-06 13:23:14 -08:00
David Garske
db14914951
Fixes for building wolfSSL in Visual Studio. Adds missing files. Fix for type cast warnings.
2023-12-06 13:20:27 -08:00
gojimmypi
4bd78e5e31
Espressif benchmark update
2023-12-06 12:43:42 -08:00
gojimmypi
ca1eba0919
Espressif wolfcrypt updates
2023-12-06 10:05:31 -08:00
Sean Parkinson
cf8a6efaa5
SP int neg sp_mont_red_ex: disallow negative numbers
...
Don't support negative a or m with sp_mont_red_ex().
2023-12-06 08:59:54 +10:00
Daniel Pouzzner
689a82a622
fix AES-related code, in both crypto and TLS layers, for various uninitialized data and resource leak defects around wc_AesInit() and wc_AesFree():
...
* followup to https://github.com/wolfSSL/wolfssl/pull/7009 "20231128-misc-fixes" and https://github.com/wolfSSL/wolfssl/pull/7011 "Add missing wc_AesInit calls."
* adds WC_DEBUG_CIPHER_LIFECYCLE, which embeds asserts in low-level AES implementations for proper usage of wc_AesInit() and wc_AesFree().
* fixes native CMAC, AES-EAX, and AES-XTS implementations to assure resource release.
* adds missing wc_AesXtsInit() API, and adds a new wc_AesXtsSetKey_NoInit().
* fixes misspellings in EVP that unconditionally gated out AES-OFB and AES-XTS.
* fixes misspellings in EVP that unconditionally gated out AES-CBC and AES-CFB code in wolfSSL_EVP_CIPHER_CTX_cleanup_cipher().
* openssl compat AES low level cipher API has no counterpart to wc_AesFree(), so these compat APIs will now be gated out in configurations where they would otherwise leak memory or file descriptors (WOLFSSL_AFALG, WOLFSSL_DEVCRYPTO, WOLF_CRYPTO_CB, etc.). A new macro, WC_AESFREE_IS_MANDATORY, is defined in wolfcrypt/aes.h to streamline this dependency.
* fixes 40 missing EVP_CIPHER_CTX_cleanup()s and 11 wc_AesFree()s in src/ssl.c, src/ssl_crypto.c, tests/api.c, and wolfcrypt/test/test.c.
2023-12-05 15:58:09 -06:00
JacobBarthelmeh
223d8c9a10
Merge pull request #7004 from julek-wolfssl/zd/17033
...
x509 AIA: store the first OCSP and CA Issuer URI's
2023-12-05 14:08:43 -07:00
JacobBarthelmeh
3ad0e1ef72
Merge pull request #7021 from res0nance/arm64-aes-gcm-clobber
...
AES GCM ARM64: Fix clobber lists
2023-12-01 16:52:14 -07:00
JacobBarthelmeh
c4ab1e6d47
Merge pull request #7017 from SparkiDev/asn_tmpl_ecc_raw_to_sig_fix
...
ASN template: StoreECC_DSA_Sig_Bin
2023-12-01 16:11:15 -07:00
Sean Parkinson
02f8735abf
Test DSA: fix unused variables
...
test.c: fix #if protection around unused variables
2023-12-01 11:04:53 +10:00
JacobBarthelmeh
abab390dd4
Merge pull request #7015 from lealem47/zd17088
...
Reworking MinGW mutex/threading
2023-11-30 17:00:19 -07:00
jordan
9265142369
Used codespell and fixed obvious typos.
2023-11-30 13:09:55 -06:00
JacobBarthelmeh
cbe8309b3b
Merge pull request #7013 from SparkiDev/asm_arm_clobber_cc
...
ARM asm: add "cc" to all clobber lists
2023-11-30 11:05:03 -07:00
JacobBarthelmeh
a7e5c6c721
Merge pull request #7011 from philljj/add_missing_aesinit
...
Add missing wc_AesInit calls.
2023-11-30 11:01:02 -07:00
Sean Parkinson
21f662c7d1
ASN template: StoreECC_DSA_Sig_Bin
...
Strip leading zeros from R and S before encoding in ASN.1.
2023-11-30 20:31:29 +10:00
res0nance
14ba944f6c
AES GCM ARM64: Fix clobber lists
2023-11-30 12:33:42 +08:00
jordan
8c1ab783a1
Add missing wc_AesInit calls: small cleanup.
2023-11-29 18:02:45 -06:00
Lealem Amedie
e1ac56f2dd
Reworking MINGW mutex/threading
2023-11-29 16:45:06 -07:00
Sean Parkinson
11e5544032
ARM asm: add "cc" to all clobber lists
...
Carry flags are more often than not affected by assembly code.
Carry wasn't in any inline assembly clobber list.
Always clobber "cc" to be safe.
2023-11-30 08:40:37 +10:00
jordan
3158e04863
Add missing wc_AesInit calls.
2023-11-29 12:54:28 -06:00
Daniel Pouzzner
93ab397c56
wolfcrypt/test/test.c: fix memory leak in dsa_test().
2023-11-29 12:28:39 -06:00
Daniel Pouzzner
962bf88c9d
wolfcrypt/src/ecc.c: add missing semicolon in SAVE_VECTOR_REGISTERS() args.
2023-11-29 11:59:35 -06:00
Daniel Pouzzner
4642077146
src/ssl.c: remove frivolous (void)heap to clear -Wdeclaration-after-statement.
...
wolfcrypt/src/aes.c: add NEED_AES_TABLES gate around AesSetKey_C() implementations (fixes WOLFSSL_KCAPI_AES builds, probably among others).
wolfcrypt/src/sp_int.c: add missing casts to clear -Wconversions.
2023-11-28 23:25:31 -06:00
JacobBarthelmeh
12ee732fe2
Merge pull request #6981 from douzzer/20231102-vector-register-dynamic-fallback-aes
...
20231102-vector-register-dynamic-fallback-aes
2023-11-28 13:15:02 -07:00
JacobBarthelmeh
61a2d2de3d
Merge pull request #6955 from SparkiDev/rsa_dec_inv_blind_mul_mont
...
RSA private exponentiation: multiply blinding invert in Mont
2023-11-28 11:08:57 -07:00
JacobBarthelmeh
a111c5b27f
Merge pull request #6993 from SparkiDev/thumb2_iar_no_inline_fix_2
...
SP Thumb2: make function no-inline
2023-11-28 10:47:58 -07:00
JacobBarthelmeh
602bd3b506
Merge pull request #6996 from SparkiDev/armv8_aes_gcm_init_stream_iv
...
ARMv8 AES-GCM streaming: check size of IV before storing
2023-11-27 09:39:46 -07:00
JacobBarthelmeh
9f06d337e3
Merge pull request #6992 from SparkiDev/heapmath_addmod_ct
...
Heap math: mp_add/submod_ct make work when c == d
2023-11-27 09:28:49 -07:00
Juliusz Sosinowicz
8ac891d902
x509 AIA: store the first OCSP and CA Issuer URI's
...
Solves ZD17033
2023-11-27 14:47:36 +01:00
Sean Parkinson
d83a5a955c
SP Thumb2: make function no-inline
...
Lost changes that make function not inlined.
2023-11-24 15:38:11 +10:00
JacobBarthelmeh
2e89e46c0b
Merge pull request #6990 from gojimmypi/PR-Espressif-C3-C6-S2-HW
...
Espressif ESP32-C3 ESP32-C6 ESP32-S2 Hardware Acceleration
2023-11-22 16:21:41 -07:00
JacobBarthelmeh
5b3f5496f8
Merge pull request #6430 from kareem-wolfssl/memcached
...
Add memcached support.
2023-11-22 16:20:28 -07:00
Sean Parkinson
b242b44b2c
ARMv8 AES-GCM streaming: check size of IV before storing
...
Only store IV in Init function if it will fit in reg field of Aes
object.
2023-11-23 08:01:20 +10:00
Sean Parkinson
416ce54276
Heap math: mp_add/submod_ct make work when c == d
...
mp_addmod_ct and mp_submod_ct expected c and d to be different pointers.
Change code to support this use case.
Fix whitespace.
2023-11-23 07:28:55 +10:00
gojimmypi
2da88115a6
Upstream merge + resolve conflict.
2023-11-22 13:17:14 -08:00
Eric Blankenhorn
7223b5a708
Fix spelling warnings
2023-11-22 12:34:56 -06:00
gojimmypi
9227020f8e
code review updates for ESP32 C3/C6/S2 HW Acceleration
2023-11-21 16:22:49 -08:00
JacobBarthelmeh
dda72dc19c
Merge pull request #6979 from SparkiDev/sp_arm64_noinline
...
SP ARM64 P-256: mark functions as SP_NOINLINE
2023-11-21 09:48:08 -07:00
JacobBarthelmeh
60909d5cba
Merge pull request #6971 from SparkiDev/iar_thumb2_asm
...
IAR Thumb2 ASM: fixes
2023-11-21 09:46:31 -07:00
gojimmypi
7e69030df1
Espressif ESP32-C3 ESP32-C6 ESP32-S2 Hardware Acceleration
2023-11-20 18:05:18 -08:00
Sean Parkinson
9ac3083e5d
Thumb2 ASM fixes
...
Make a separate AES for IAR that has AES_encrypt_block and
AES_decrypt_block inlined. Default code is relying on compiler to use
specific registers and not modify others.
Improve performance of small SP ASM code for RSA.
2023-11-21 11:58:10 +10:00
Sean Parkinson
e97e1b5847
SP ARM64 P-256: mark functions as SP_NOINLINE
...
iOS device compilations are inlining functions and causing P-256 to
fail.
Add SP_NOINLINE to key P-256 functions.
Add "cc" to more clobber lists.
2023-11-21 10:43:38 +10:00