Commit Graph

  • 0059f1647e move WC_RNG_BANK_SUPPORT implementation from wolfcrypt/src/random.c and wolfssl/wolfcrypt/random.h to new files wolfcrypt/src/rng_bank.c and wolfssl/wolfcrypt/rng_bank.h; Daniel Pouzzner 2026-01-07 22:53:12 -06:00
  • 1e0351a69b wolfssl/wolfcrypt/random.h and wolfssl/wolfcrypt/async.h: use #ifdef HAVE_ANONYMOUS_INLINE_AGGREGATES, not #if HAVE_ANONYMOUS_INLINE_AGGREGATES. Daniel Pouzzner 2026-01-06 10:26:56 -06:00
  • 98ffc519b4 wolfssl/wolfcrypt/types.h: if _MSC_VER, disable HAVE_ANONYMOUS_INLINE_AGGREGATES by default. Daniel Pouzzner 2026-01-06 02:18:49 -06:00
  • c1d2828daf wolfcrypt/src/random.c, wolfssl/wolfcrypt/random.h, wolfssl/wolfcrypt/wc_port.h, linuxkm/lkcapi_sha_glue.c: fixes from autotesting: * refactor to eliminate recursion in wc_RNG_GenerateBlock(); * refactor enum wc_rng_bank_flags as word32 and macros; * fix -Wconversions, -Wunused, and stray EINVAL in wc_rng_bank_init(); * make struct wc_rng_bank_inst a top-level definition for C++ compat; * fix several bugprone-macro-parentheses. Daniel Pouzzner 2026-01-06 01:51:26 -06:00
  • b87af914bc configure.ac: add handling for --enable-rng-bank, and add it to the all-crypto feature set. Daniel Pouzzner 2026-01-06 01:04:27 -06:00
  • b2199e9862 linuxkm/{lkcapi_dh_glue.c,lkcapi_ecdh_glue.c,lkcapi_rsa_glue.c}: use LKCAPI_INITRNG() rather than wc_InitRng(), and remove calls to LKCAPI_INITRNG_FOR_SELFTEST(). also, in km_rsa_ctx_init_rng(), recognize WC_DRBG_BANKREF as a usable RNG status. Daniel Pouzzner 2026-01-06 01:04:14 -06:00
  • 1c6ef8b621 linuxkm/lkcapi_sha_glue.c: * refactor to use new wc_rng_bank facility: * wc_linuxkm_drbg_init_tfm() * wc_linuxkm_drbg_exit_tfm() * get_drbg() (renamed to linuxkm_get_drbg()) * put_drbg() (renamed to linuxkm_put_drbg()) * wc_linuxkm_drbg_generate() * wc_linuxkm_drbg_seed() * wc_mix_pool_bytes() * wc_crng_reseed() * add: * linuxkm_affinity_lock() * linuxkm_affinity_get_id() * linuxkm_affinity_unlock() * linuxkm_InitRng_DefaultRef() * remove: * get_drbg_n() * drbg_init_from() * fork_default_rng() * LKCAPI_INITRNG_FOR_SELFTEST. * when LINUXKM_LKCAPI_REGISTER_HASH_DRBG_DEFAULT, define LKCAPI_INITRNG to linuxkm_InitRng_DefaultRef, else define it to wc_InitRng(). Daniel Pouzzner 2026-01-06 01:01:30 -06:00
  • 3c15be6610 wolfcrypt/src/random.c and wolfssl/wolfcrypt/random.h: implement WC_RNG_BANK_SUPPORT: * add WC_DRBG_BANKREF status code; * add struct wc_rng_bank *bankref to struct WC_RNG, and move status slot out from HAVE_HASHDRBG gate; * add WC_DRBG_MAX_SALT_SZ, and add saltSz and salt slots to struct DRBG_internal; * add salt handling to Hash_df(), Hash_DRBG_Instantiate(), and _InitRng(); * add types: * enum wc_rng_bank_flags * struct wc_rng_bank * add implementations: * wc_rng_bank_init() * wc_rng_bank_set_affinity_handlers() * wc_rng_bank_fini() * wc_rng_bank_checkout() * wc_rng_bank_checkin() * wc_rng_bank_inst_reinit() * wc_rng_bank_seed() * wc_rng_bank_reseed() * wc_InitRng_BankRef() * wc_rng_new_bankref() * WC_RNG_BANK_INST_TO_RNG() * in wc_RNG_GenerateBlock() and wc_FreeRng(), add WC_RNG_BANK_SUPPORT sections; Daniel Pouzzner 2026-01-06 01:01:04 -06:00
  • 6c8ff6dfa9 linuxkm/x86_vector_register_glue.c: in wc_save_vector_registers_x86(), don't render warning of call while non-preemptible if WC_SVR_FLAG_INHIBIT was passed in. Daniel Pouzzner 2026-01-06 01:00:19 -06:00
  • dd158b073c linuxkm/linuxkm_wc_port.h and linuxkm/module_hooks.c: remove WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES gate around setup for wolfssl_linuxkm_pie_redirect_table.dump_stack. Daniel Pouzzner 2026-01-06 01:00:02 -06:00
  • 500c790b18 wolfssl/wolfcrypt/settings.h: * add FIPS_VERSION_NE(); * move more generic setup code from WOLFSSL_LINUXKM/WOLFSSL_BSDKM to kernel-generic WOLFSSL_KERNEL_MODE; fix WOLFSSL_OLD_PRIME_CHECK setup to exclude FIPS. Daniel Pouzzner 2026-01-06 00:59:10 -06:00
  • 32b1598db1 wolfcrypt/src/wc_port.c and wolfssl/wolfcrypt/wc_port.h: in wolfSSL_RefFree() and wolfSSL_RefWithMutexFree(), zero the refcount (valid refcount objects are initialized to count of 1); add wolfSSL_RefCur(). Daniel Pouzzner 2026-01-06 00:55:56 -06:00
  • f1dd234ac9 wolfcrypt/src/error.c, wolfssl/wolfcrypt/error-crypt.h: add BUSY_E and ALREADY_E. Daniel Pouzzner 2026-01-06 00:55:29 -06:00
  • cdd75ff5ef fix indent Hideki Miyazaki 2026-01-08 08:46:22 +09:00
  • 6090ddb3f3 initialize hmac_copy Ruby Martin 2026-01-06 16:59:49 -07:00
  • 6392c2b420 undo changes Hideki Miyazaki 2026-01-08 07:10:25 +09:00
  • 6264c115cc Merge pull request #9563 from LinuxJedi/renode David Garske 2026-01-07 09:51:30 -08:00
  • 5c2c4599ed Merge pull request #9537 from SparkiDev/aarch64_darwin_addr_calc_fix David Garske 2026-01-07 09:50:05 -08:00
  • 94dc7ae9ad asn: MatchBaseName fixes Marco Oliverio 2026-01-07 16:50:20 +01:00
  • a9b2e83d1c Rust wrapper: add one-shot XChaCha20-Poly1305 encrypt/decrypt functions Josh Holtrop 2026-01-07 11:00:22 -05:00
  • cf9016b29f Merge pull request #9622 from SparkiDev/rsa_pkcs15_verify_bounds_check David Garske 2026-01-07 08:26:24 -08:00
  • 84aeeb655f Merge pull request #9580 from SparkiDev/curve25519_smul_improv David Garske 2026-01-07 08:25:41 -08:00
  • 19f7b946f5 Merge pull request #9621 from SparkiDev/mlkem_check_pub David Garske 2026-01-07 08:24:51 -08:00
  • dd8d2a2d4d Merge pull request #9575 from SparkiDev/dilithium_16_bit_fixes David Garske 2026-01-07 08:24:22 -08:00
  • b5d3c87876 Merge pull request #9603 from SparkiDev/ppc32_sha256_asm_reg David Garske 2026-01-07 08:23:55 -08:00
  • 315ebf5be6 Merge pull request #9615 from SparkiDev/arm32_aes_block_inline David Garske 2026-01-07 08:21:51 -08:00
  • 87182992b8 Fix for PSK compile option Tobias Frauenschläger 2026-01-07 16:58:52 +01:00
  • 50b39c91da fixup! (d)tls13: check if early data is possible in write_early_data Marco Oliverio 2026-01-07 14:20:35 +01:00
  • b8cb5bee87 Cleanup for DecodePrivateKey() functionality Tobias Frauenschläger 2026-01-07 13:39:48 +01:00
  • 5f68ea087a Merge pull request #9562 from kojiws/sync_ja_doc_rsa Takashi Kojo 2026-01-07 18:18:53 +09:00
  • 80a0f6bb32 RSA PKCS#1.5 verify: bounds check input Sean Parkinson 2026-01-07 17:13:10 +10:00
  • 2a08fbe3ed MLKEM: check public key when decoding Sean Parkinson 2026-01-07 13:11:15 +10:00
  • c6dd1a745e boundary check Hideki Miyazaki 2026-01-07 09:19:43 +09:00
  • c923c4c026 fix compile error Hideki Miyazaki 2026-01-07 07:16:28 +09:00
  • 30fe079763 Addressed review comments Hideki Miyazaki 2026-01-07 06:46:51 +09:00
  • 10d3e251fd fix qt jenkins nightly test failure Hideki Miyazaki 2025-12-26 17:22:00 +09:00
  • eab58ae226 Merge pull request #9599 from holtrop-wolfssl/rust-chacha20-poly1305 Sean Parkinson 2026-01-06 20:28:24 +10:00
  • b293a1cc5c Merge pull request #9591 from rlm2002/coverity Sean Parkinson 2026-01-06 20:25:01 +10:00
  • 5343cb386a Merge pull request #9588 from kareem-wolfssl/ghAlerts Sean Parkinson 2026-01-06 20:22:51 +10:00
  • a1089ba9f2 AES ARM32/Thumb2: option to inline block Sean Parkinson 2026-01-06 11:24:21 +10:00
  • 38241227a2 Curve25519 improvements Sean Parkinson 2025-12-24 12:16:21 +10:00
  • 83f7204f99 Merge pull request #9597 from sameehj/rhel9_linuxkm_sign Daniel Pouzzner 2026-01-05 17:23:45 -06:00
  • a20d5f7b9d Merge pull request #9613 from philljj/fix_ecc_test_name Sean Parkinson 2026-01-06 08:49:01 +10:00
  • 842511b0ef wolfcrypt test: fix ecc521 err msg. jordan 2026-01-05 12:25:53 -06:00
  • d27c04bbca linuxkm: handle RHEL9 disabled akcipher sign/decrypt ops Sameeh Jubran 2025-12-31 13:13:51 +02:00
  • 116260762f Fix for WOLFSSL_BLIND_PRIVATE_KEY and WOLFSSL_DUAL_ALG_CERTS Tobias Frauenschläger 2026-01-05 17:26:11 +01:00
  • 62764d08e4 Remove PQC-based buffer size increase for PreMasterSecret Tobias Frauenschläger 2026-01-05 15:58:53 +01:00
  • 99bde324aa Build systems improvements Tobias Frauenschläger 2026-01-05 15:46:58 +01:00
  • 9007d12d2a Rust wrapper: add wolfssl_wolfcrypt::chacha20_poly1305 module Josh Holtrop 2025-12-31 14:18:13 -05:00
  • 4b606ebbeb Fix trailing whitespace and flush-left Andrew Hutchings 2026-01-05 13:02:21 +00:00
  • 0c4ca257a0 Add Renode GH Action for STM32H753 Andrew Hutchings 2025-12-19 15:59:27 +00:00
  • 99692003d4 PPC32 ASM: alternative C code with registers prepended Sean Parkinson 2026-01-05 20:56:44 +10:00
  • 7b9d3748cf tls13: early_data: prevent earlyData reset on re-entry Marco Oliverio 2026-01-05 10:40:34 +01:00
  • 29941d5645 (d)tls13: check if early data is possible in write_early_data Marco Oliverio 2026-01-05 10:35:02 +01:00
  • d9bba72b8c tls13: merge guarded code in a single section Marco Oliverio 2026-01-05 09:04:36 +01:00
  • 80c1228a38 Merge pull request #9594 from holtrop-wolfssl/rust-curve25519 David Garske 2025-12-31 12:45:43 -08:00
  • bbd3d4f55d Merge pull request #9579 from dgarske/coding_standard_20251223 Daniel Pouzzner 2025-12-31 11:55:58 -06:00
  • 776512846f Merge pull request #9598 from fabiankeil/unbreak-freebsd-build philljj 2025-12-31 10:31:52 -06:00
  • 21f35137a1 tests: Unbreak the build on FreeBSD-based systems Fabian Keil 2025-12-11 09:57:19 +01:00
  • cb78341886 Merge pull request #7586 from kareem-wolfssl/gh7197 Daniel Pouzzner 2025-12-30 15:57:25 -06:00
  • 5fa06818c0 Merge pull request #9595 from douzzer/20251229-linuxkm-rng-wolfentropy philljj 2025-12-30 14:50:53 -06:00
  • ddb2fb628e Add a runtime option to enable or disable the secure renegotation check. Kareem 2025-12-30 13:19:04 -07:00
  • 1773a4ab41 Send no_renegotiation alert when rejecting renegotation attempt as defined in RFC 5246 section 7.2.2. Kareem 2025-12-30 13:18:48 -07:00
  • 8df621a1ba wolfcrypt/src/random.c: backport changes from 20251229-linuxkm-rng-wolfentropy (WC_VERBOSE_RNG). Daniel Pouzzner 2025-12-30 13:46:31 -06:00
  • 0621615b15 wolfcrypt/src/random.c: remove WC_VERBOSE_RNG messaging from wc_RNG_TestSeed(), which is called by test code with expected failure, and move it to _InitRng() and PollAndReSeed(), where it's always expected to succeed. Daniel Pouzzner 2025-12-30 13:27:31 -06:00
  • 299ca1cfef fixes from peer review: added comments for clarity, and remove errant condition added in _InitRng(). Daniel Pouzzner 2025-12-30 12:13:15 -06:00
  • 7a2e1c1dd0 Merge pull request #9585 from dgarske/add-missing-api-docs JacobBarthelmeh 2025-12-30 09:37:22 -07:00
  • 8c125df85e Rust wrapper: ensure curve25519_key struct will have free called after init Josh Holtrop 2025-12-30 10:46:44 -05:00
  • d504baaf3a linuxkm/lkcapi_sha_glue.c and .wolfssl_known_macro_extras: fixes from check-source-text. Daniel Pouzzner 2025-12-29 20:54:39 -06:00
  • 450b0b46c6 wolfcrypt/src/random.c and wolfssl/wolfcrypt/settings.h: add WC_VERBOSE_RNG messages, and activate by default when WOLFSSL_KERNEL_MODE. Daniel Pouzzner 2025-12-29 20:50:52 -06:00
  • fecc1cffe7 linuxkm/lkcapi_sha_glue.c: add retry loop around wc_InitRng(), and allow interrupt in preemptible threads, in wc_linuxkm_drbg_init_tfm(). Daniel Pouzzner 2025-12-29 20:48:49 -06:00
  • 1844b8e3ac linuxkm/Makefile: fix bash cleanup in recipe for libwolfssl.ko -- new trap for an event replaces previous trap rather than adding to it. Daniel Pouzzner 2025-12-29 20:33:34 -06:00
  • d39b0e6f82 Fixes from peer review. David Garske 2025-12-29 17:30:23 -08:00
  • 0d44018627 Merge pull request #9593 from julek-wolfssl/copilot/changes-20251229 David Garske 2025-12-29 17:22:39 -08:00
  • 48ebe99372 Validate asn date based on position of Z (#8603) Anthony Hu 2025-12-29 17:01:22 -05:00
  • e971cb6942 Rust wrapper: avoid warning when neither blake2b nor blake2s is enabled Josh Holtrop 2025-12-29 14:31:57 -05:00
  • 0a834bed7a Rust wrapper: add wolfssl_wolfcrypt::curve25519 module Josh Holtrop 2025-12-29 14:26:00 -05:00
  • 730b0d3e38 Add AGENTS.md to .gitignore Juliusz Sosinowicz 2025-12-29 19:01:50 +01:00
  • 5dee8ddfcb Merge pull request #9586 from holtrop-wolfssl/rust-blake2 David Garske 2025-12-29 09:55:58 -08:00
  • 39056bb262 move null check to prevent dereference before null check issue Ruby Martin 2025-12-22 11:23:02 -07:00
  • ea8af7ae71 Merge pull request #9592 from julek-wolfssl/fix/coverity-tls-frag David Garske 2025-12-29 09:54:32 -08:00
  • 17e992ab3f Merge pull request #9589 from douzzer/20251226-fixes David Garske 2025-12-29 09:20:16 -08:00
  • 8bcac03086 Fix duplicated wc_rng_free and wc_rng_new David Garske 2025-12-29 08:52:17 -08:00
  • 5b5686c53c Peer review improvements. David Garske 2025-12-29 08:37:51 -08:00
  • f2d24404c8 Fix Coverity (D)TLS fragmentation size checks Juliusz Sosinowicz 2025-12-29 13:36:19 +01:00
  • b33a8568c3 bsdkm: small cleanup. jordan 2025-12-28 10:32:18 -06:00
  • e4996c317e bsdkm: fips support. jordan 2025-12-28 10:16:53 -06:00
  • 7bbd28d369 wolfcrypt/src/aes.c: fix clang-diagnostic-unreachable-code in AesSetKey_C(). Daniel Pouzzner 2025-12-26 18:13:44 -06:00
  • 283792c207 linuxkm/lkcapi_sha_glue.c: in wc_linuxkm_drbg_startup(), deinstall the callbacks and stdrng first before checking refcnt. Daniel Pouzzner 2025-12-26 16:41:43 -06:00
  • 7d04a53a6c Update X509_get_default_cert_* stubs to return empty strings. According to the documentation, these functions must return static strings, so NULL was not valid. Kareem 2025-12-26 15:26:05 -07:00
  • 6145f3aba2 Fix incorrect alert being sent when wolfSSL receives unexpected PSK extension. Fixes #9503. Kareem 2025-12-26 15:24:14 -07:00
  • a7b83b06c1 Alert on out of order message with unexpected_message. Fixes #9531. Kareem 2025-12-26 15:23:23 -07:00
  • db29dac762 backport 6f95a9c58e and a944575e4b, and fix in 20251226-fixes, to wolfcrypt/src/random.c: * in _InitRng(), remove "drbg_instantiated" conditional cleanup logic (Coverity true-benign-positive: DEADCODE because drbg_instantiated is always false when ret != DRBG_SUCCESS); * fix clang-diagnostic-unreachable-code in wc_GenerateSeed(); * in wc_GenerateSeed(), move the gate closures for !FORCE_FAILURE_RDSEED and !ENTROPY_MEMUSE_FORCE_FAILURE to follow the /dev/urandom fallback method. Daniel Pouzzner 2025-12-26 14:23:41 -06:00
  • f21da9ddc1 backport 6f95a9c58e and a944575e4b, and fix in 20251226-fixes, to wolfcrypt/src/random.c: * in _InitRng(), remove "drbg_instantiated" conditional cleanup logic (Coverity true-benign-positive: DEADCODE because drbg_instantiated is always false when ret != DRBG_SUCCESS); * fix clang-diagnostic-unreachable-code in wc_GenerateSeed(); * in wc_GenerateSeed(), move the gate closures for !FORCE_FAILURE_RDSEED and !ENTROPY_MEMUSE_FORCE_FAILURE to follow the /dev/urandom fallback method. Daniel Pouzzner 2025-12-26 14:17:32 -06:00
  • 3b3ddd1fb4 wolfcrypt/src/random.c: in wc_GenerateSeed(), move the gate closures for !FORCE_FAILURE_RDSEED and !ENTROPY_MEMUSE_FORCE_FAILURE to follow the /dev/urandom fallback method. Daniel Pouzzner 2025-12-26 14:16:11 -06:00
  • 17b6ce7b7b Add parenthesis around XBADFD. Kareem 2025-12-26 12:38:54 -07:00
  • 57d2391b6c wolfcrypt/src/ecc.c: smallstack refactor of variable t in wc_ecc_mulmod_ex2() Daniel Pouzzner 2025-12-26 13:05:52 -06:00
  • d09b5ee1f1 Add duplicate entry error to distinguish cases where a duplicate CRL is rejected. Kareem 2025-12-26 12:02:35 -07:00
  • b487287abf wolfcrypt/benchmark/benchmark.c: smallstack refactor of bench_mlkem_encap() Daniel Pouzzner 2025-12-26 12:45:26 -06:00
  • bbac280890 Rust wrapper: add wolfssl_wolfcrypt::blake2 module Josh Holtrop 2025-12-26 13:02:27 -05:00