Version in base suite: 11.8.3-0+deb13u1 Base version: mariadb_11.8.3-0+deb13u1 Target version: mariadb_11.8.6-0+deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/m/mariadb/mariadb_11.8.3-0+deb13u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/m/mariadb/mariadb_11.8.6-0+deb13u1.dsc /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/1024/ca-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/1024/client-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/1024/server-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/3072/client-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/4096/client-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ca-cert-chain.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ca-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ca-ecc-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ca-ecc384-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-cert-ext.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-crl-dist.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-ecc-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-ecc384-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/crl.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/crl2.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc-rsa-server.p12 |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/bp256r1-key.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/client-bp256r1-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/client-secp256k1-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/secp256k1-key.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/server-bp256r1-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/server-secp256k1-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/server2-secp256k1-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/ca-ed25519.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/client-ed25519.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/root-ed25519.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/server-ed25519.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/ca-ed448.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/client-ed448.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/root-ed448.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/server-ed448.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/fpki-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/fpki-certpol-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-ecc-bad-aki.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-int-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-int-ecc-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-int2-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-int2-ecc-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-chain-ecc.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-chain.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-int-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-int-ecc-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-chain-ecc.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-chain.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-int-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-int-ecc-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa44_bare-priv.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa44_bare-seed.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa44_oqskeypair.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa44_priv-only.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa44_seed-only.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa44_seed-priv.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa65_bare-priv.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa65_bare-seed.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa65_oqskeypair.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa65_priv-only.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa65_seed-only.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa65_seed-priv.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa87_bare-priv.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa87_bare-seed.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa87_oqskeypair.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa87_priv-only.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa87_seed-only.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/mldsa87_seed-priv.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/test-leaf-response.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/test-multi-response.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/test-response-nointern.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/test-response-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/test-response.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/ca-p521.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/client-p521.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/root-p521.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/server-p521.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rid-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/ca-3072-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/ca-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/client-3072-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/client-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/root-3072-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/root-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/server-3072-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/server-rsapss.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-cert-chain.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc-comp.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc-rsa.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc-self.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc384-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/sm2/server-sm2-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-degenerate.p7b |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-multiple-recipients.p7b |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-servercert-rc2.p12 |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-servercert.p12 |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-stream-dec.p7b |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-stream-sign.p7b |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-ia.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-joi.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-mnc.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-multiple.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-nc.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-ncdns.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-ncmixed.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-nct.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-ndir-exc.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-ndir.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-over-max-altnames.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-over-max-nc.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/encrypteddata.msg |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/expired/expired-ca.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/expired/expired-cert.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/kari-keyid-cms.msg |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/ktri-keyid-cms.msg |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-badaltname.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-badaltnull.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-badcn.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-badcnnull.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-cert-ecc-badsig.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-cert-rsa-badsig.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-garbage.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-goodalt.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-goodaltwild.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-goodcn.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-goodcnwild.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-localhost.der |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl.rc |binary /srv/release.debian.org/tmp/3pC_OvQ4Xk/mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/query_accelerator_unsupported_types.result |binary mariadb-11.8.6/.github/workflows/windows-arm64.yml | 8 mariadb-11.8.6/.gitignore | 1 mariadb-11.8.6/BUILD/compile-pentium64-asan-max | 2 mariadb-11.8.6/BUILD/compile-pentium64-ubsan | 2 mariadb-11.8.6/CMakeLists.txt | 8 mariadb-11.8.6/CONTRIBUTING.md | 14 mariadb-11.8.6/CREDITS | 2 mariadb-11.8.6/Docs/INFO_SRC | 12 mariadb-11.8.6/Docs/mysql.info | 11 mariadb-11.8.6/VERSION | 2 mariadb-11.8.6/client/CMakeLists.txt | 3 mariadb-11.8.6/client/my_readline.h | 3 mariadb-11.8.6/client/mysql.cc | 114 mariadb-11.8.6/client/mysqldump.cc | 148 mariadb-11.8.6/client/mysqlimport.cc | 65 mariadb-11.8.6/client/mysqltest.cc | 2841 mariadb-11.8.6/client/readline.cc | 30 mariadb-11.8.6/cmake/build_configurations/mysql_release.cmake | 4 mariadb-11.8.6/cmake/build_depends.cmake | 2 mariadb-11.8.6/cmake/cpack_rpm.cmake | 7 mariadb-11.8.6/cmake/install_layout.cmake | 8 mariadb-11.8.6/cmake/install_macros.cmake | 1 mariadb-11.8.6/cmake/libfmt.cmake | 4 mariadb-11.8.6/cmake/maintainer.cmake | 8 mariadb-11.8.6/cmake/mariadb_connector_c.cmake | 5 mariadb-11.8.6/cmake/pcre.cmake | 7 mariadb-11.8.6/cmake/submodule_info.cmake | 20 mariadb-11.8.6/cmake/systemd.cmake | 3 mariadb-11.8.6/cmake/zlib.cmake | 5 mariadb-11.8.6/debian/changelog | 41 mariadb-11.8.6/debian/control | 1 mariadb-11.8.6/debian/mariadb-server.install | 1 mariadb-11.8.6/debian/not-installed | 1 mariadb-11.8.6/debian/patches/Fix-misc-spelling-in-MariaDB-Server-repository.patch | 49 mariadb-11.8.6/debian/patches/Improve-output-from-mariadb-secure-installation-to-be-mor.patch | 10 mariadb-11.8.6/debian/patches/MDEV-37411-suppress-new-warning-about-native-aio.patch | 59 mariadb-11.8.6/debian/patches/MDEV-38811-skip-grant-tables-crash.patch | 32 mariadb-11.8.6/debian/patches/env-perl-usr-bin-perl.patch | 6 mariadb-11.8.6/debian/patches/hide-mysql-command-deprecation-warnings.patch | 2 mariadb-11.8.6/debian/patches/include-debian-in-test-merge-alter-result.patch | 46 mariadb-11.8.6/debian/patches/install-files-into-usr.patch | 8 mariadb-11.8.6/debian/patches/mroonga-mrn-lib-dirs-path-reproducible-build.patch | 3 mariadb-11.8.6/debian/patches/series | 2 mariadb-11.8.6/debian/patches/startup-message.patch | 11 mariadb-11.8.6/debian/rules | 2 mariadb-11.8.6/debian/salsa-ci.yml | 209 mariadb-11.8.6/debian/tests/traces/mariadbd-verbose-help.expected | 15 mariadb-11.8.6/extra/innochecksum.cc | 214 mariadb-11.8.6/extra/mariabackup/aria_backup_client.cc | 45 mariadb-11.8.6/extra/mariabackup/backup_mysql.cc | 43 mariadb-11.8.6/extra/mariabackup/backup_mysql.h | 1 mariadb-11.8.6/extra/mariabackup/encryption_plugin.cc | 46 mariadb-11.8.6/extra/mariabackup/xtrabackup.cc | 226 mariadb-11.8.6/extra/perror.c | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/.codespellexcludelines | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/ada.yml | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/arduino.yml | 418 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/async.yml | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/bind.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/cmake.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/codespell.yml | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/curl.yml | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/disable-pk-algs.yml | 63 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/disabled/msys2.yml | 41 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/docker-Espressif.yml | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/fil-c.yml | 47 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/haproxy.yml | 9 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/hostap-vm.yml | 11 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/ipmitool.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/libspdm.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/libssh2.yml | 21 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/linuxkm.yml | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/macos-apple-native-cert-validation.yml | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/mbedtls.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/mono.yml | 142 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/msys2.yml | 37 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/multi-arch.yml | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/multi-compiler.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/nginx.yml | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/no-malloc.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/no-tls.yml | 49 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/nss.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/openldap.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/openssh.yml | 27 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/opensslcoexist.yml | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/os-check.yml | 27 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/packaging.yml | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/pq-all.yml | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/psk.yml | 51 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/rust-wrapper.yml | 33 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/smallStackSize.yml | 53 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/sssd.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/symbol-prefixes.yml | 70 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/threadx.yml | 57 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/watcomc.yml | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/wolfCrypt-Wconversion.yml | 9 mariadb-11.8.6/extra/wolfssl/wolfssl/.gitignore | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/.wolfssl_known_macro_extras | 107 mariadb-11.8.6/extra/wolfssl/wolfssl/CMakeLists.txt | 101 mariadb-11.8.6/extra/wolfssl/wolfssl/CMakePresets.json | 20 mariadb-11.8.6/extra/wolfssl/wolfssl/CMakeSettings.json | 9 mariadb-11.8.6/extra/wolfssl/wolfssl/COPYING | 897 mariadb-11.8.6/extra/wolfssl/wolfssl/ChangeLog.md | 281 mariadb-11.8.6/extra/wolfssl/wolfssl/Docker/packaging/debian/Dockerfile | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/README.md | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.cpp | 28 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.sh | 94 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/Cpu0_Main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/wolf_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/deos_malloc.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/wolfsslRunTests.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/wolfssl_test.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/UPDATE.md | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_config_h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_test_paths.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/CMakeLists.txt | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/CMakeLists.txt | 356 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/Kconfig | 48 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/README.md | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/component.mk | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/include/user_settings.h | 94 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/Kconfig.projbuild | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/include/main.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/CMakeLists.txt | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/CMakeLists.txt | 356 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/Kconfig | 48 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/README.md | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/component.mk | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/include/user_settings.h | 94 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/Kconfig.projbuild | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/include/main.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/CMakeLists.txt | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/Makefile | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/CMakeLists.txt | 356 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/Kconfig | 48 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/README.md | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/component.mk | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/include/user_settings.h | 94 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/Kconfig.projbuild | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/client-tls.c | 49 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/client-tls.h | 21 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/main.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/time_helper.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/wifi_connect.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/time_helper.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/wifi_connect.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/CMakeLists.txt | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/CMakeLists.txt | 356 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/Kconfig | 48 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/README.md | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/component.mk | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/include/user_settings.h | 94 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/Kconfig.projbuild | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/main.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/server-tls.h | 20 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/time_helper.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/wifi_connect.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/server-tls.c | 41 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/time_helper.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/wifi_connect.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/CMakeLists.txt | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/CMakeLists.txt | 356 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/Kconfig | 48 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/README.md | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/component.mk | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/include/user_settings.h | 84 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/Kconfig.projbuild | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/include/main.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main_wip.c.ex | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/CMakeLists.txt | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/component.mk | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Header/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/armtarget.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/benchmark_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/test_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/wolf_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Gaisler-BCC/README.md | 15 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/DSP/Makefile | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/Makefile | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify-benchmark.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/benchmark-main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/current_time.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/common/minimum-startup.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/test/test-main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-MSP430/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-MSP430/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/Makefile | 516 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/include.am | 5 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/libwolfssl.vcxproj | 444 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/user_settings.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfExamples.vcxproj | 186 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.sln | 22 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.vcxproj | 367 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Infineon/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/build.sh | 17 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/clean.sh | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/sgx_t_static.mk | 44 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/lib_wolfssl/lpc_18xx_port.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/wolf_example/src/lpc_18xx_startup.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/M68K/benchmark/main.cpp | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/M68K/testwolfcrypt/main.cpp | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/wolfcrypt_test.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/LPC43xx/time-LCP43xx.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/cert_data.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-BARE-METAL.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-FS.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-RTX-TCP-FS.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/shell.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-CortexM3-4.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-dummy.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/time-STM32F2xx.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Conf/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptTest/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoClient/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoServer/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleClient/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleServer/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/shell.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/time-CortexM3-4.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Src/ssl-dummy.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MPLABX16/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/client-tls.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/server-tls.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/user_settings.h | 11 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/shared/util.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/CMakeLists.txt | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/avnet_mt3620_sk/inc/hw/template_appliance.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/mt3620_rdb/inc/hw/template_appliance.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/seeed_mt3620_mdb/inc/hw/template_appliance.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfCrypt.txt | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfSSL.txt | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert2425 | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert3389 | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/wolfssl_netos_custom.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/include/main.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/src/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/include/main.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/src/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/CAAM-DRIVER/Makefile | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-client/client-tls.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-cmac/cmac-test.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-server/server-tls.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/arm_startup.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/benchmark_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/kinetis_hw.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/retarget.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/test_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/user_settings.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/strings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/unistd.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/wolfssl_dummy.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/test/test_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/example_server-template/src/app_entry.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/wolfcrypttest-template/src/app_entry.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/strings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/unistd.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/wolfssl_dummy.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/test_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolfssl_demo.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/README.md | 53 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/benchmark-wolfcrypt/.cproject | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/benchmark-wolfcrypt/src/wolfssl_thread_entry.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/client-wolfssl/.cproject | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/client-wolfssl/src/wolfssl_thread_entry.c | 17 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/client-wolfssl/wolfssl_thread_entry.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/common/src/freertos_tcp_port.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/common/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/common/util.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/server-wolfssl/.cproject | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/server-wolfssl/src/wolfssl_thread_entry.c | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/server-wolfssl/wolfssl_thread_entry.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/test-wolfcrypt/.cproject | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/test-wolfcrypt/src/wolfssl_thread_entry.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/wolfssl/.cproject | 244 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/README.md | 98 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/common/user_settings.h | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/common/wolfssl_demo.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/test/.cproject | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/test/key_data/key_data_sce.c | 106 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/test/src/SEGGER_RTT/myprint.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/test/src/test_main.c | 41 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/test/src/wolf_client.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M4/test/src/wolfssl_sce_unit_test.c | 116 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/common/strings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/common/unistd.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/common/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/common/wolfssl_dummy.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/test/src/key_data.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/test/src/key_data.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/test/src/test_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/test/src/wolf_client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/test/src/wolf_server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/test/src/wolfssl_demo.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/RSK/wolfssl_demo/key_data.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/RSK/wolfssl_demo/key_data.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/RSK/wolfssl_demo/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/RSK/wolfssl_demo/wolfssl_demo.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/RSK/wolfssl_demo/wolfssl_demo.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/common/wolfssl_dummy.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/test/.cproject | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/test/src/client/simple_tcp_client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/test/src/client/simple_tls_tsip_client.c | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/test/src/server/simple_tcp_server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/test/src/server/simple_tls_server.c | 5 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/test/src/test_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/test/src/wolfssl_simple_demo.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/Simple/test/test.scfg | 151 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/key_data.c | 158 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/key_data.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/wolfssl_demo.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/wolfssl_demo.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/wolfssl_tsip_unit_test.c | 617 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/README.md | 194 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/common/user_settings.h | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/common/wolfssl_demo.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/include.am | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/.cproject | 83 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/script/fsp_ram_execution.ld | 243 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/src/local_system_init.c | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/src/rzn2l_tst_thread_entry.c | 108 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/src/serial_io/.gitignore | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/src/serial_io/app_print.c | 83 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/src/test/wolf_client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/src/test/wolf_server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/src/test/wolfssl_rsip_unit_test.c | 142 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RZN2L/test/src/wolfssl_dummy.c | 27 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/STARCORE/starcore_test.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/STARCORE/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/STM32Cube/README.md | 7 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/STM32Cube/STM32_Benchmarks.md | 403 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/STM32Cube/default_conf.ftl | 86 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/STM32Cube/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/STM32Cube/wolfssl_example.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/STM32Cube/wolfssl_example.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/SimplicityStudio/test_wolf.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/SimplicityStudio/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/VS-AZURE-SPHERE/client/client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/VS-AZURE-SPHERE/client/client.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/VS-AZURE-SPHERE/server/server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/VS-AZURE-SPHERE/server/server.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/VisualDSP/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/VisualDSP/wolf_tasks.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/WICED-STUDIO/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/WIN-SRTP-KDF-140-3/wolfssl-fips.rc | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/WIN10/wolfssl-fips.rc | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/WINCE/README.md | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/WINCE/include.am | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/WINCE/user_settings.h | 178 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/WINCE/user_settings.h.140-2-deprecated | 166 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE-FIPSv2/macOS-C++/Intel/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE-FIPSv2/macOS-C++/M1/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE-FIPSv2/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE-FIPSv5/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE-FIPSv6/user_settings.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE/Benchmark/wolfBench.xcodeproj/project.pbxproj | 36 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE/Benchmark/wolfBench/AppDelegate.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE/Benchmark/wolfBench/AppDelegate.m | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE/Benchmark/wolfBench/ViewController.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE/Benchmark/wolfBench/ViewController.m | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE/Benchmark/wolfBench/main.m | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XCODE/wolfssl.xcodeproj/project.pbxproj | 72 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XilinxSDK/2019_2/wolfCrypt_example/.project | 109 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XilinxSDK/2022_1/wolfCrypt_FreeRTOS_example/.project | 13 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XilinxSDK/2022_1/wolfCrypt_example/.project | 15 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XilinxSDK/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/XilinxSDK/wolfssl_example.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/apple-universal/build-wolfssl-framework.sh | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/apple-universal/wolfssl-multiplatform/wolfssl-multiplatform/ContentView.swift | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/apple-universal/wolfssl-multiplatform/wolfssl-multiplatform/simple_client_example.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/apple-universal/wolfssl-multiplatform/wolfssl-multiplatform/simple_client_example.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/apple-universal/wolfssl-multiplatform/wolfssl-multiplatform/wolfssl-multiplatform-Bridging-Header.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/apple-universal/wolfssl-multiplatform/wolfssl-multiplatform/wolfssl_multiplatformApp.swift | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/apple-universal/wolfssl-multiplatform/wolfssl-multiplatform/wolfssl_test_driver.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/apple-universal/wolfssl-multiplatform/wolfssl-multiplatform/wolfssl_test_driver.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe-raspberrypi/client-tls13.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe-raspberrypi/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe/ca-cert.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe/devices.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe/devices.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe/main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe/memory-tls.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe/startup.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe/target.ld | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/iotsafe/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/mynewt/apps.wolfcrypttest.pkg.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/mynewt/crypto.wolfssl.pkg.yml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/INSTALL | 116 mariadb-11.8.6/extra/wolfssl/wolfssl/LICENSING | 25 mariadb-11.8.6/extra/wolfssl/wolfssl/Makefile.am | 22 mariadb-11.8.6/extra/wolfssl/wolfssl/README | 299 mariadb-11.8.6/extra/wolfssl/wolfssl/README.md | 294 mariadb-11.8.6/extra/wolfssl/wolfssl/RTOS/nuttx/wolfssl/Make.defs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/RTOS/nuttx/wolfssl/Makefile | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/bsdkm/Makefile | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/bsdkm/bsdkm_wc_port.h | 118 mariadb-11.8.6/extra/wolfssl/wolfssl/bsdkm/include.am | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/bsdkm/wolfkmod.c | 186 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/1024/ca-cert.pem | 42 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/1024/client-cert.pem | 44 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/1024/server-cert.pem | 80 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/3072/client-cert.pem | 82 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/4096/client-cert.pem | 104 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ca-cert.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ca-ecc-cert.pem | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ca-ecc384-cert.pem | 32 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-absolute-urn.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-ca.pem | 96 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-cert-ext.pem | 64 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-cert.pem | 64 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-crl-dist.pem | 57 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-ecc-cert.pem | 32 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-ecc384-cert.pem | 12 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-relative-uri.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/client-uri-cert.pem | 62 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/ca-int-ecc.pem | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/ca-int.pem | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/ca-int2-ecc.pem | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/ca-int2.pem | 14 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/caEcc384Crl.pem | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/caEccCrl.pem | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/cliCrl.pem | 56 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/client-int-ecc.pem | 12 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/client-int.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/crl.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/crl.revoked | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/crl2.pem | 106 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/crl_rsapss.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/eccCliCRL.pem | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/eccSrvCRL.pem | 24 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/extra-crls/ca-int-cert-revoked.pem | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/extra-crls/general-server-crl.pem | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/server-goodaltCrl.pem | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/server-goodaltwildCrl.pem | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/server-goodcnCrl.pem | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/server-goodcnwildCrl.pem | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/server-int-ecc.pem | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/crl/server-int.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc-privOnlyCert.pem | 15 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/bp256r1-key.pem | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/ca-secp256k1-cert.pem | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/ca-secp256k1-key.pem | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/client-bp256r1-cert.pem | 55 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/client-secp256k1-cert.pem | 55 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/secp256k1-key.pem | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/server-bp256r1-cert.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/server-secp256k1-cert.pem | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ecc/server2-secp256k1-cert.pem | 38 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/ca-ed25519.pem | 24 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/client-ed25519.pem | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/root-ed25519.pem | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/server-ed25519-cert.pem | 24 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed25519/server-ed25519.pem | 48 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/ca-ed448.pem | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/client-ed448.pem | 40 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/root-ed448.pem | 36 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/server-ed448-cert.pem | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ed448/server-ed448.pem | 64 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/empty-issuer-cert.pem | 17 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/entity-no-ca-bool-cert.pem | 118 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/external/baltimore-cybertrust-root.pem | 21 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/external/ca_collection.pem | 77 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/external/include.am | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/include.am | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-ecc-bad-aki.pem | 67 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-int-cert.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-int-ecc-cert.pem | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-int2-cert.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/ca-int2-ecc-cert.pem | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-chain-alt-ecc.pem | 28 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-chain-alt.pem | 46 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-chain-ecc.pem | 28 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-chain.pem | 46 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-int-cert.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/client-int-ecc-cert.pem | 24 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/genintcerts.sh | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/include.am | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-chain-alt-ecc.pem | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-chain-alt.pem | 46 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-chain-ecc.pem | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-chain-short.pem | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-chain.pem | 46 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-int-cert.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/intermediate/server-int-ecc-cert.pem | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/mldsa/include.am | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/intermediate1-ca-cert.pem | 110 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/intermediate2-ca-cert.pem | 110 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/intermediate3-ca-cert.pem | 110 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/ocsp-responder-cert.pem | 110 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/root-ca-cert.pem | 56 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/server1-cert.pem | 162 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/server2-cert.pem | 162 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/server3-cert.pem | 162 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/server4-cert.pem | 162 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/ocsp/server5-cert.pem | 162 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/ca-p521.pem | 38 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/client-p521.pem | 46 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/root-p521.pem | 38 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/server-p521-cert.pem | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/p521/server-p521.pem | 72 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/renewcerts.sh | 15 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/ca-3072-rsapss.pem | 116 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/ca-rsapss.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/client-3072-rsapss.pem | 134 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/client-rsapss.pem | 62 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/root-3072-rsapss.pem | 118 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/root-rsapss.pem | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/server-3072-rsapss-cert.pem | 120 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/server-3072-rsapss.pem | 236 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/server-mix-rsapss-cert.pem | 94 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/server-rsapss-cert.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/rsapss/server-rsapss.pem | 106 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-cert.pem | 120 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc-comp.pem | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc-rsa.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc-self.pem | 32 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc.pem | 28 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-ecc384-cert.pem | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/server-revoked-cert.pem | 120 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/sm2/gen-sm2-certs.sh | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainA-ICA1-pathlen0.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainA-assembled.pem | 112 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainA-entity.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainB-ICA1-pathlen0.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainB-ICA2-pathlen1.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainB-assembled.pem | 166 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainB-entity.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainC-ICA1-pathlen1.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainC-assembled.pem | 112 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainC-entity.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainD-ICA1-pathlen127.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainD-assembled.pem | 112 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainD-entity.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainE-ICA1-pathlen128.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainE-assembled.pem | 112 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainE-entity.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainF-ICA1-pathlen1.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainF-ICA2-pathlen0.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainF-assembled.pem | 166 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainF-entity.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-ICA1-pathlen0.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-ICA2-pathlen1.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-ICA3-pathlen99.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-ICA4-pathlen5.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-ICA5-pathlen20.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-ICA6-pathlen10.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-ICA7-pathlen100.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-assembled.pem | 426 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainG-entity.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainH-ICA1-pathlen0.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainH-ICA2-pathlen2.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainH-ICA3-pathlen2.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainH-ICA4-pathlen2.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainH-assembled.pem | 270 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainH-entity.pem | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainI-ICA1-no_pathlen.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainI-ICA2-no_pathlen.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainI-ICA3-pathlen2.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainI-assembled.pem | 216 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainI-entity.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainJ-ICA1-no_pathlen.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainJ-ICA2-no_pathlen.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainJ-ICA3-no_pathlen.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainJ-ICA4-pathlen2.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainJ-assembled.pem | 268 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test-pathlen/chainJ-entity.pem | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-ia.pem | 20 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-joi.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-multiple.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-nc.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-nct.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-ndir-exc.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-ext-ndir.pem | 20 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-over-max-altnames.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/cert-over-max-nc.pem | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/client-ecc-cert-ski.hex | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/digsigku.pem | 24 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/expired/expired-ca.pem | 76 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/expired/expired-cert.pem | 76 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/gen-testcerts.sh | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/include.am | 5 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/ossl-trusted-cert.pem | 47 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-badaltname.pem | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-badaltnull.pem | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-badcn.pem | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-badcnnull.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-cert-ecc-badsig.pem | 28 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-cert-rsa-badsig.pem | 120 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-duplicate-policy.pem | 120 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-garbage.pem | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-goodalt.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-goodaltwild.pem | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-goodcn.pem | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-goodcnwild.pem | 58 mariadb-11.8.6/extra/wolfssl/wolfssl/certs/test/server-localhost.pem | 60 mariadb-11.8.6/extra/wolfssl/wolfssl/cmake/README.md | 52 mariadb-11.8.6/extra/wolfssl/wolfssl/cmake/functions.cmake | 1179 mariadb-11.8.6/extra/wolfssl/wolfssl/cmake/options.h.in | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/configure.ac | 934 mariadb-11.8.6/extra/wolfssl/wolfssl/debian/include.am | 82 mariadb-11.8.6/extra/wolfssl/wolfssl/debian/libwolfssl-dev.install | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/debian/libwolfssl.install | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/debian/rules.in | 61 mariadb-11.8.6/extra/wolfssl/wolfssl/debian/source/format | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files-ja/pwdbased.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files-ja/ssl.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/asn_public.h | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/cmac.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/ecc.h | 123 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/ed25519.h | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/hmac.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/kdf.h | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/memory.h | 228 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/ocsp.h | 49 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/pkcs7.h | 292 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/pwdbased.h | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/random.h | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/rsa.h | 17 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/sha.h | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/ssl.h | 584 mariadb-11.8.6/extra/wolfssl/wolfssl/doc/dox_comments/header_files/wolfio.h | 48 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/asn1/asn1.c | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/asn1/dumpasn1.cfg |11603 ++ mariadb-11.8.6/extra/wolfssl/wolfssl/examples/asn1/gen_oid_names.rb | 137 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/asn1/include.am | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/asn1/oid_names.h | 5572 + mariadb-11.8.6/extra/wolfssl/wolfssl/examples/async/async_client.c | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/async/async_server.c | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/async/async_tls.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/async/async_tls.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/benchmark/tls_bench.c | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/benchmark/tls_bench.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/client/client.c | 180 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/client/client.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_EBSnet.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_all.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_arduino.h | 170 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_eccnonblock.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_espressif.h | 65 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_fipsv2.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_fipsv5.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_min_ecc.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_platformio.h | 68 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_stm32.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_template.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_tls12.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_wolfboot_keytools.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_wolfssh.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/configs/user_settings_wolftpm.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/echoclient/echoclient.c | 98 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/echoclient/echoclient.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/echoserver/echoserver.c | 116 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/echoserver/echoserver.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/pem/pem.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/sctp/sctp-client-dtls.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/sctp/sctp-client.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/sctp/sctp-server-dtls.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/sctp/sctp-server.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/server/server.c | 111 mariadb-11.8.6/extra/wolfssl/wolfssl/examples/server/server.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/fips-check.sh | 120 mariadb-11.8.6/extra/wolfssl/wolfssl/gencertbuf.pl | 193 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/Kbuild | 247 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/Makefile | 291 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/get_thread_size.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/include.am | 13 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/linuxkm_memory.c | 68 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/linuxkm_wc_port.h | 977 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/lkcapi_aes_glue.c | 350 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/lkcapi_dh_glue.c | 2972 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/lkcapi_ecdh_glue.c | 142 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/lkcapi_ecdsa_glue.c | 101 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/lkcapi_glue.c | 974 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/lkcapi_rsa_glue.c | 1794 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/lkcapi_sha_glue.c | 1313 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/module_exports.c.template | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/module_hooks.c | 1357 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/patches/5.10.17/WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v10v17.patch | 463 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/patches/5.10.236/WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v10v236.patch | 462 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/patches/5.15/WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v15.patch | 453 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/patches/5.17/WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v17.patch | 462 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/patches/6.1.73/WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v1v73.patch | 475 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/patches/6.12/WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v12.patch | 484 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/patches/6.15/WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v15.patch | 493 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/patches/regen-patches.sh | 41 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/pie_first.c | 38 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/pie_last.c | 38 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/pie_redirect_table.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/wolfcrypt.lds | 31 mariadb-11.8.6/extra/wolfssl/wolfssl/linuxkm/x86_vector_register_glue.c | 537 mariadb-11.8.6/extra/wolfssl/wolfssl/m4/ax_bsdkm.m4 | 31 mariadb-11.8.6/extra/wolfssl/wolfssl/m4/ax_harden_compiler_flags.m4 | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/m4/ax_linuxkm.m4 | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/mcapi/crypto.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/mcapi/crypto.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/mcapi/mcapi_test.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/mplabx/benchmark_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/mplabx/test_main.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/rpm/spec.in | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/scripts/asn1_oid_sum.pl | 1249 mariadb-11.8.6/extra/wolfssl/wolfssl/scripts/include.am | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/scripts/ocsp-stapling-with-ca-as-responder.test | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/scripts/ocsp-stapling.test | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/scripts/ocsp-stapling_tls13multi.test | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/scripts/openssl.test | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/src/bio.c | 39 mariadb-11.8.6/extra/wolfssl/wolfssl/src/conf.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/src/crl.c | 209 mariadb-11.8.6/extra/wolfssl/wolfssl/src/dtls.c | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/src/dtls13.c | 21 mariadb-11.8.6/extra/wolfssl/wolfssl/src/include.am | 268 mariadb-11.8.6/extra/wolfssl/wolfssl/src/internal.c | 4208 mariadb-11.8.6/extra/wolfssl/wolfssl/src/keys.c | 71 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ocsp.c | 109 mariadb-11.8.6/extra/wolfssl/wolfssl/src/pk.c | 583 mariadb-11.8.6/extra/wolfssl/wolfssl/src/quic.c | 15 mariadb-11.8.6/extra/wolfssl/wolfssl/src/sniffer.c | 307 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl.c | 2807 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_asn1.c | 24 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_bn.c | 101 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_certman.c | 177 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_crypto.c | 264 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_load.c | 467 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_misc.c | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_p7p12.c | 63 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_sess.c | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/src/ssl_sk.c | 1251 mariadb-11.8.6/extra/wolfssl/wolfssl/src/tls.c | 1422 mariadb-11.8.6/extra/wolfssl/wolfssl/src/tls13.c | 548 mariadb-11.8.6/extra/wolfssl/wolfssl/src/wolfio.c | 212 mariadb-11.8.6/extra/wolfssl/wolfssl/src/x509.c | 1462 mariadb-11.8.6/extra/wolfssl/wolfssl/src/x509_str.c | 200 mariadb-11.8.6/extra/wolfssl/wolfssl/sslSniffer/sslSnifferTest/snifftest.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/support/wolfssl.pc.in | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api.c |20869 ---- mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/api.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/api_decl.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/create_ocsp_test_blobs.py | 92 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/include.am | 45 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_aes.c | 2322 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_aes.h | 20 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_arc4.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_arc4.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ascon.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ascon.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ascon_kats.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_asn.c | 640 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_asn.h | 36 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_blake2.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_blake2.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_camellia.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_camellia.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_chacha.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_chacha.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_chacha20_poly1305.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_chacha20_poly1305.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_cmac.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_cmac.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_curve25519.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_curve25519.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_curve448.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_curve448.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_des3.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_des3.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_dh.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_dh.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_digest.h | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_dsa.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_dsa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_dtls.c | 1576 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_dtls.h | 48 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ecc.c | 17 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ecc.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ed25519.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ed25519.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ed448.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ed448.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_evp.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_evp.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_hash.c | 14 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_hash.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_hmac.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_hmac.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_md2.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_md2.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_md4.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_md4.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_md5.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_md5.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_mldsa.c | 305 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_mldsa.h | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_mlkem.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_mlkem.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ocsp.c | 378 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ocsp.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ocsp_test_blobs.h | 1274 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_asn1.c | 2784 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_asn1.h | 112 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_bio.c | 1160 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_bio.h | 65 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_bn.c | 1090 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_bn.h | 54 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_cipher.c | 958 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_cipher.h | 51 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_dgst.c | 752 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_dgst.h | 53 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_dh.c | 1145 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_dh.h | 53 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_dsa.c | 162 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_dsa.h | 37 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_ec.c | 1605 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_ec.h | 72 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_ecx.c | 445 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_ecx.h | 43 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_mac.c | 525 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_mac.h | 37 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_rsa.c | 1646 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_rsa.h | 77 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_sk.c | 486 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ossl_sk.h | 57 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_pkcs12.c | 198 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_pkcs12.h | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_pkcs7.c | 4386 + mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_pkcs7.h | 87 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_poly1305.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_poly1305.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_random.c | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_random.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_rc2.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_rc2.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ripemd.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_ripemd.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_rsa.c | 121 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_rsa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sha.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sha.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sha256.c | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sha256.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sha3.c | 63 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sha3.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sha512.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sha512.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_signature.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_signature.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sm2.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sm2.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sm3.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sm3.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sm4.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_sm4.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_tls.c | 668 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_tls.h | 42 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_tls13.c | 2320 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_tls13.h | 46 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_tls_ext.c | 288 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_tls_ext.h | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_wc_encrypt.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_wc_encrypt.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_wolfmath.c | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_wolfmath.h | 14 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_x509.c | 150 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/api/test_x509.h | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/quic.c | 83 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/srp.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/suites.c | 91 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/test-dtls13-pq-hybrid-frag.conf | 24 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/test-fails.conf | 17 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/test-tls13-down.conf | 11 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/test-tls13-pq-hybrid.conf | 32 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/unit.c | 9 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/unit.h | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/utils.c | 553 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/utils.h | 31 mariadb-11.8.6/extra/wolfssl/wolfssl/tests/w64wrapper.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/testsuite/testsuite.c | 20 mariadb-11.8.6/extra/wolfssl/wolfssl/testsuite/utils.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/testsuite/utils.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/benchmark/README.md | 7 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/benchmark/benchmark.c | 1427 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/benchmark/benchmark.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/aes.c | 2099 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/aes_asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/aes_asm.asm | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/aes_gcm_asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/aes_gcm_asm.asm | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/aes_gcm_x86_asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/aes_xts_asm.S | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/aes_xts_asm.asm | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/arc4.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ascon.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/asm.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/asn.c | 2819 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/blake2b.c | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/blake2s.c | 14 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/camellia.c | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/chacha.c | 71 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/chacha20_poly1305.c | 40 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/chacha_asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/chacha_asm.asm | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/cmac.c | 14 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/coding.c | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/compress.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/cpuid.c | 249 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/cryptocb.c | 261 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/curve25519.c | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/curve448.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/des3.c | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/dh.c | 243 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/dilithium.c | 3174 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/dsa.c | 47 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ecc.c | 409 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/eccsi.c | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ed25519.c | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ed448.c | 22 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/error.c | 15 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/evp.c | 199 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ext_lms.c | 11 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ext_mlkem.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ext_xmss.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/falcon.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fe_448.c | 583 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fe_low_mem.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fe_operations.c | 233 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fe_x25519_128.h | 79 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fe_x25519_asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mont_small.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_12.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_17.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_20.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_24.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_28.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_3.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_32.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_4.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_48.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_6.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_64.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_7.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_8.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_9.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_small_set.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_12.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_17.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_20.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_24.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_28.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_3.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_32.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_4.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_48.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_6.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_64.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_7.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_8.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_9.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_small_set.i | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ge_448.c | 1594 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ge_low_mem.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ge_operations.c | 89 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/hash.c | 278 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/hmac.c | 130 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/hpke.c | 196 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/include.am | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/integer.c | 105 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/kdf.c | 439 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/logging.c | 450 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/md2.c | 19 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/md4.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/md5.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/memory.c | 59 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/misc.c | 80 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/pkcs12.c | 131 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/pkcs7.c | 1104 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/poly1305.c | 95 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/poly1305_asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/poly1305_asm.asm | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp32_aes.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp32_mp.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp32_util.c | 22 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp_crt_bundle/esp_crt_bundle.c | 112 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp_crt_bundle/gen_crt_bundle.py | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp_crt_bundle/pio_install_cryptography.py | 37 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp_sdk_mem_lib.c | 121 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp_sdk_time_lib.c | 13 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Espressif/esp_sdk_wifi_lib.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_common.c | 277 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_fspsm_aes.c | 303 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_fspsm_rsa.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_fspsm_sha.c | 146 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_fspsm_util.c | 206 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_rx64_hw_sha.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_rx64_hw_util.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_tsip_aes.c | 257 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_tsip_rsa.c | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_tsip_sha.c | 25 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/Renesas/renesas_tsip_util.c | 419 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/af_alg/afalg_aes.c | 24 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/af_alg/afalg_hash.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/af_alg/wc_afalg.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/aria/aria-crypt.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/aria/aria-cryptocb.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-aes-asm.S | 7850 + mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-aes-asm_c.c | 8745 +- mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-chacha-asm.S | 725 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-chacha-asm_c.c | 840 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-curve25519.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-curve25519_c.c | 181 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-mlkem-asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-mlkem-asm_c.c | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-poly1305-asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-poly1305-asm_c.c | 44 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-sha256-asm.S | 243 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-sha256-asm_c.c | 228 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-sha3-asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-sha3-asm_c.c | 13 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-sha512-asm.S | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-32-sha512-asm_c.c | 21 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-aes-asm.S |43127 +++++++++ mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-aes-asm_c.c |43568 ++++++++++ mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-aes.c |27188 ------ mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-chacha-asm.S | 1216 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-chacha-asm_c.c | 1129 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-chacha.c | 3019 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-curve25519.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-curve25519_c.c | 130 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-mlkem-asm.S | 108 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-mlkem-asm_c.c | 1910 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-poly1305-asm.S | 715 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-poly1305-asm_c.c | 661 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-poly1305.c | 1259 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-sha256-asm.S | 1352 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-sha256-asm_c.c | 1192 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-sha256.c | 2155 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-sha3-asm.S | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-sha3-asm_c.c | 102 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-sha512-asm.S | 26 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-sha512-asm_c.c | 151 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/armv8-sha512.c | 1196 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/cryptoCell.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/cryptoCellHash.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-aes-asm.S | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-aes-asm_c.c | 123 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-chacha-asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-chacha-asm_c.c | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-chacha.c | 171 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-curve25519.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-curve25519_c.c | 182 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-mlkem-asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-mlkem-asm_c.c | 39 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-poly1305-asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-poly1305-asm_c.c | 20 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-poly1305.c | 135 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-sha256-asm.S | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-sha256-asm_c.c | 12 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-sha3-asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-sha3-asm_c.c | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-sha512-asm.S | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/arm/thumb2-sha512-asm_c.c | 12 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/atmel/atmel.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/autosar/cryif.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/autosar/crypto.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/autosar/csm.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/autosar/test.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/caam_aes.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/caam_driver.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/caam_error.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/caam_integrity.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/caam_qnx.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/caam_sha.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_aes.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_cmac.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_ecdsa.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_fsl_nxp.c | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_hash.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_hmac.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_init.c | 7 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_qnx.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_rsa.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_seco.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/caam/wolfcaam_x25519.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/cavium/cavium_octeon_sync.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/cuda/aes-cuda.cu | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/cypress/README.md | 89 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/cypress/psoc6_crypto.c | 1120 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/devcrypto/devcrypto_aes.c | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/devcrypto/devcrypto_ecdsa.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/devcrypto/devcrypto_hash.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/devcrypto/devcrypto_hmac.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/devcrypto/devcrypto_rsa.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/devcrypto/devcrypto_x25519.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/devcrypto/wc_devcrypto.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/intel/quickassist_sync.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/iotsafe/iotsafe.c | 33 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/kcapi/kcapi_aes.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/kcapi/kcapi_dh.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/kcapi/kcapi_ecc.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/kcapi/kcapi_hash.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/kcapi/kcapi_hmac.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/kcapi/kcapi_rsa.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/liboqs/liboqs.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/maxim/max3266x.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/maxim/maxq10xx.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/mynewt/mynewt_port.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/nrf51.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/nxp/dcp_port.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/nxp/ksdk_port.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/nxp/se050_port.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/pic32/pic32mz-crypt.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/ppc32/ppc32-sha256-asm.S | 4513 + mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/ppc32/ppc32-sha256-asm_c.c | 4425 + mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/psa/psa.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/psa/psa_aes.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/psa/psa_hash.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/psa/psa_pkcbs.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/riscv/riscv-64-aes.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/riscv/riscv-64-chacha.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/riscv/riscv-64-poly1305.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/riscv/riscv-64-sha256.c | 22 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/riscv/riscv-64-sha3.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/riscv/riscv-64-sha512.c | 28 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/rpi_pico/README.md | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/rpi_pico/pico.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/silabs/silabs_aes.c | 76 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/silabs/silabs_ecc.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/silabs/silabs_hash.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/silabs/silabs_random.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/st/README.md | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/st/stm32.c | 187 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/st/stsafe.c | 51 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/ti/ti-aes.c | 22 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/ti/ti-ccm.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/ti/ti-des3.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/ti/ti-hash.c | 19 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/tropicsquare/README.md | 232 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/tropicsquare/tropic01.c | 524 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/xilinx/xil-aesgcm.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/xilinx/xil-sha3.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/xilinx/xil-versal-glue.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/port/xilinx/xil-versal-trng.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/pwdbased.c | 72 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/random.c | 536 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/rc2.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/ripemd.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/rsa.c | 190 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sakke.c | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sha.c | 77 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sha256.c | 326 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sha256_asm.S | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sha3.c | 498 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sha3_asm.S |16789 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sha512.c | 432 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sha512_asm.S | 50 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/signature.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/siphash.c | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sm2.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sm3.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sm3_asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sm4.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_arm32.c | 5090 - mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_arm64.c | 2928 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_armthumb.c | 2985 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_c32.c | 4720 - mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_c64.c | 5146 - mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_cortexm.c | 5060 - mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_dsp32.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_int.c | 183 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_sm2_arm32.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_sm2_arm64.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_sm2_armthumb.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_sm2_c32.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_sm2_c64.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_sm2_cortexm.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_sm2_x86_64.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_sm2_x86_64_asm.S | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_x86_64.c | 3650 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_x86_64_asm.S | 34 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sp_x86_64_asm.asm | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/sphincs.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/srp.c | 32 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/tfm.c | 880 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_dsp.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_encrypt.c | 153 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_lms.c | 245 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_lms_impl.c | 170 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_mldsa_asm.S |35223 ++++++++ mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_mlkem.c | 111 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_mlkem_asm.S |12559 -- mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_mlkem_poly.c | 153 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_pkcs11.c | 238 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_port.c | 538 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_xmss.c | 78 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wc_xmss_impl.c | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wolfevent.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/src/wolfmath.c | 109 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/test/include.am | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/test/test.c | 2900 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/test/test.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfcrypt/test/test_paths.h.in | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl.vcxproj | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/callbacks.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/certs_test.h | 1062 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/certs_test_sm.h | 2913 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/crl.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/error-ssl.h | 5 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/include.am | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/internal.h | 287 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/ocsp.h | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/aes.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/asn1.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/asn1t.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/bio.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/bn.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/buffer.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/camellia.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/cmac.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/cms.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/compat_types.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/conf.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/crypto.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/des.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/dh.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/dsa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ec.h | 5 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ec25519.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ec448.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ecdh.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ecdsa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ed25519.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ed448.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/err.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/evp.h | 14 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/fips_rand.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/hmac.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/kdf.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/lhash.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/md4.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/md5.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/modes.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/obj_mac.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/objects.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ocsp.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/opensslv.h | 12 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ossl_typ.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/pem.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/pkcs12.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/pkcs7.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/rand.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/rc4.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ripemd.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/rsa.h | 68 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/safestack.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/sha.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/sha3.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/srp.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/ssl.h | 19 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/stack.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/tls1.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/txt_db.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/x509.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/x509_vfy.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/openssl/x509v3.h | 9 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/options.h.in | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/quic.h | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/sniffer.h | 9 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/sniffer_error.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/ssl.h | 201 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/test.h | 183 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/version.h | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/version.h.in | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/aes.h | 227 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/arc4.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ascon.h | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/asn.h | 728 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/asn_public.h | 137 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/blake2-impl.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/blake2-int.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/blake2.h | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/camellia.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/chacha.h | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/chacha20_poly1305.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/cmac.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/coding.h | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/compress.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/cpuid.h | 110 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/cryptocb.h | 98 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/curve25519.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/curve448.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/des3.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/dh.h | 14 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/dilithium.h | 112 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/dsa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ecc.h | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/eccsi.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ed25519.h | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ed448.h | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/error-crypt.h | 36 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ext_lms.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ext_mlkem.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ext_xmss.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/falcon.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/fe_448.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/fe_operations.h | 21 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/fips_test.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ge_448.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ge_operations.h | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/hash.h | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/hmac.h | 13 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/hpke.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/include.am | 9 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/integer.h | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/kdf.h | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/libwolfssl_sources.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/libwolfssl_sources_asm.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/lms.h | 7 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/logging.h | 349 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/md2.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/md4.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/md5.h | 9 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/mem_track.h | 183 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/memory.h | 53 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/misc.h | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/mlkem.h | 5 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_class.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_superclass.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/oid_sum.h | 1907 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/pkcs11.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/pkcs12.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/pkcs7.h | 41 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/poly1305.h | 33 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Espressif/esp-sdk-lib.h | 17 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Espressif/esp_crt_bundle.h | 12 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-crypt.h | 259 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-types.h | 19 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas-rx64-hw-crypt.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas-tsip-crypt.h | 283 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas_cmn.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas_fspsm_internal.h | 288 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas_sync.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas_tsip_internal.h | 165 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/Renesas/renesas_tsip_types.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/af_alg/afalg_hash.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/af_alg/wc_afalg.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/aria/aria-crypt.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/aria/aria-cryptocb.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/arm/cryptoCell.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/atmel/atmel.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/autosar/CryIf.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/autosar/Crypto.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/autosar/Csm.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/autosar/StandardTypes.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/caam_driver.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/caam_error.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/caam_qnx.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_aes.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_cmac.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_ecdsa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_fsl_nxp.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_hash.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_qnx.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_rsa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_seco.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_sha.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/caam/wolfcaam_x25519.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/cavium/cavium_octeon_sync.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/cypress/psoc6_crypto.h | 64 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/devcrypto/wc_devcrypto.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/intel/quickassist_sync.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/iotsafe/iotsafe.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/kcapi/kcapi_dh.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/kcapi/kcapi_ecc.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/kcapi/kcapi_hash.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/kcapi/kcapi_hmac.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/kcapi/kcapi_rsa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/kcapi/wc_kcapi.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/liboqs/liboqs.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/maxim/max3266x-cryptocb.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/maxim/max3266x.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/maxim/maxq10xx.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/nrf51.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/nxp/dcp_port.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/nxp/ksdk_port.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/nxp/se050_port.h | 5 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/pic32/pic32mz-crypt.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/psa/psa.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/riscv/riscv-64-asm.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/rpi_pico/pico.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/silabs/silabs_aes.h | 7 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/silabs/silabs_ecc.h | 3 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/silabs/silabs_hash.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/silabs/silabs_random.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/st/stm32.h | 70 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/st/stsafe.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/ti/ti-ccm.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/ti/ti-hash.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/tropicsquare/tropic01.h | 106 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/xilinx/xil-sha3.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/xilinx/xil-versal-glue.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/port/xilinx/xil-versal-trng.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/pwdbased.h | 14 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/random.h | 38 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/rc2.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/ripemd.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/rsa.h | 27 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sakke.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/selftest.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/settings.h | 469 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sha.h | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sha256.h | 25 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sha3.h | 56 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sha512.h | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/signature.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/siphash.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sm2.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sm3.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sm4.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sp.h | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sp_int.h | 202 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/sphincs.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/srp.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/tfm.h | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/types.h | 3492 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/visibility.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_encrypt.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_lms.h | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_mlkem.h | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_pkcs11.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_port.h | 335 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_xmss.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/wolfevent.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/wolfmath.h | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfcrypt/xmss.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wolfssl/wolfio.h | 88 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/Ada/ada_binding.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/Ada/alire.toml | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/Ada/tls_server.adb | 8 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/Ada/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/Ada/wolfssl.adb | 10 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/README.md | 7 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/user_settings.h | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfCrypt-Test/wolfCrypt-Test.cs | 30 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL-DTLS-PSK-Server/wolfSSL-DTLS-PSK-Server.cs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL-DTLS-Server/wolfSSL-DTLS-Server.cs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL-Example-IOCallbacks/wolfSSL-Example-IOCallbacks.cs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL-TLS-Client/wolfSSL-TLS-Client.cs | 21 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL-TLS-PSK-Client/wolfSSL-TLS-PSK-Client.cs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL-TLS-PSK-Server/wolfSSL-TLS-PSK-Server.cs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL-TLS-Server/wolfSSL-TLS-Server.cs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL-TLS-ServerThreaded/wolfSSL-TLS-ServerThreaded.cs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL_CSharp/X509.cs | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL_CSharp/wolfCrypt.cs | 44 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfSSL_CSharp/wolfSSL.cs | 72 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/CSharp/wolfssl.vcxproj | 6 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/include.am | 1 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/Makefile | 11 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/README.md | 22 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/include.am | 39 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/Cargo.lock | 294 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/Cargo.toml | 18 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/Makefile | 12 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/build.rs | 182 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/headers.h | 21 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/lib.rs | 22 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/sys.rs | 16 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt.rs | 33 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/aes.rs | 2618 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/cmac.rs | 416 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/dh.rs | 1520 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/ecc.rs | 1865 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/ed25519.rs | 1411 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/ed448.rs | 1336 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/hkdf.rs | 273 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/hmac.rs | 330 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/kdf.rs | 773 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/prf.rs | 136 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/random.rs | 218 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/rsa.rs | 1243 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/src/wolfcrypt/sha.rs | 2394 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_aes.rs | 867 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_cmac.rs | 38 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_dh.rs | 204 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_ecc.rs | 321 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_ed25519.rs | 256 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_ed448.rs | 260 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_hkdf.rs | 38 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_hmac.rs | 47 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_kdf.rs | 249 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_prf.rs | 28 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_random.rs | 72 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_rsa.rs | 140 mariadb-11.8.6/extra/wolfssl/wolfssl/wrapper/rust/wolfssl/tests/test_sha.rs | 339 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/CMakeLists.txt | 23 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/samples/wolfssl_benchmark/README | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/samples/wolfssl_test/README | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/samples/wolfssl_test/sample.yaml | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/samples/wolfssl_tls_sock/README | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/samples/wolfssl_tls_sock/src/tls_sock.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/samples/wolfssl_tls_thread/README | 4 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/samples/wolfssl_tls_thread/src/tls_threaded.c | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/user_settings-no-malloc.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/user_settings.h | 2 mariadb-11.8.6/extra/wolfssl/wolfssl/zephyr/zephyr_init.c | 2 mariadb-11.8.6/include/aria_backup.h | 10 mariadb-11.8.6/include/ilist.h | 5 mariadb-11.8.6/include/m_ctype.h | 9 mariadb-11.8.6/include/m_string.h | 9 mariadb-11.8.6/include/my_base.h | 7 mariadb-11.8.6/include/my_dbug.h | 9 mariadb-11.8.6/include/my_global.h | 26 mariadb-11.8.6/include/my_sys.h | 5 mariadb-11.8.6/include/myisamchk.h | 2 mariadb-11.8.6/include/mysql/client_plugin.h.pp | 1 mariadb-11.8.6/include/mysql/plugin_auth.h | 2 mariadb-11.8.6/include/mysql/plugin_auth.h.pp | 1 mariadb-11.8.6/include/mysql/plugin_auth_common.h | 1 mariadb-11.8.6/include/mysql/psi/mysql_file.h | 18 mariadb-11.8.6/include/mysql_com.h | 10 mariadb-11.8.6/include/source_revision.h | 2 mariadb-11.8.6/include/typelib.h | 9 mariadb-11.8.6/libmariadb/.github/workflows/ci.yml | 20 mariadb-11.8.6/libmariadb/CMakeLists.txt | 12 mariadb-11.8.6/libmariadb/cmake/FindGSSAPI.cmake | 20 mariadb-11.8.6/libmariadb/cmake/plugins.cmake | 7 mariadb-11.8.6/libmariadb/include/ma_sys.h | 8 mariadb-11.8.6/libmariadb/include/ma_tls.h | 1 mariadb-11.8.6/libmariadb/include/mariadb_com.h | 1 mariadb-11.8.6/libmariadb/include/mysql/client_plugin.h | 8 mariadb-11.8.6/libmariadb/libmariadb/ma_context.c | 16 mariadb-11.8.6/libmariadb/libmariadb/ma_net.c | 5 mariadb-11.8.6/libmariadb/libmariadb/ma_tls.c | 6 mariadb-11.8.6/libmariadb/libmariadb/mariadb_lib.c | 23 mariadb-11.8.6/libmariadb/libmariadb/secure/gnutls.c | 6 mariadb-11.8.6/libmariadb/libmariadb/secure/ma_schannel.c | 8 mariadb-11.8.6/libmariadb/libmariadb/secure/openssl.c | 6 mariadb-11.8.6/libmariadb/plugins/CMakeLists.txt | 14 mariadb-11.8.6/libmariadb/plugins/auth/CMakeLists.txt | 18 mariadb-11.8.6/libmariadb/plugins/auth/auth_gssapi_client.c | 3 mariadb-11.8.6/libmariadb/plugins/auth/caching_sha2_pw.c | 5 mariadb-11.8.6/libmariadb/plugins/auth/dialog.c | 3 mariadb-11.8.6/libmariadb/plugins/auth/ed25519.c | 3 mariadb-11.8.6/libmariadb/plugins/auth/mariadb_cleartext.c | 3 mariadb-11.8.6/libmariadb/plugins/auth/my_auth.c | 15 mariadb-11.8.6/libmariadb/plugins/auth/old_password.c | 3 mariadb-11.8.6/libmariadb/plugins/auth/parsec.c | 3 mariadb-11.8.6/libmariadb/plugins/auth/sha256_pw.c | 3 mariadb-11.8.6/libmariadb/plugins/compress/c_zlib.c | 3 mariadb-11.8.6/libmariadb/plugins/connection/replication.c | 3 mariadb-11.8.6/libmariadb/plugins/dynamic_plugin_exports.txt | 3 mariadb-11.8.6/libmariadb/plugins/io/remote_io.c | 3 mariadb-11.8.6/libmariadb/plugins/pvio/pvio_npipe.c | 3 mariadb-11.8.6/libmariadb/plugins/pvio/pvio_shmem.c | 3 mariadb-11.8.6/libmariadb/plugins/pvio/pvio_socket.c | 3 mariadb-11.8.6/libmariadb/plugins/trace/trace_example.c | 3 mariadb-11.8.6/libmariadb/unittest/libmariadb/tls.c.in | 51 mariadb-11.8.6/man/aria_chk.1 | 2 mariadb-11.8.6/man/aria_dump_log.1 | 2 mariadb-11.8.6/man/aria_ftdump.1 | 2 mariadb-11.8.6/man/aria_pack.1 | 2 mariadb-11.8.6/man/aria_read_log.1 | 2 mariadb-11.8.6/man/comp_err.1 | 2 mariadb-11.8.6/man/galera_recovery.1 | 2 mariadb-11.8.6/man/innochecksum.1 | 2 mariadb-11.8.6/man/mariadb-access.1 | 2 mariadb-11.8.6/man/mariadb-admin.1 | 2 mariadb-11.8.6/man/mariadb-backup.1 | 2 mariadb-11.8.6/man/mariadb-binlog.1 | 2 mariadb-11.8.6/man/mariadb-check.1 | 4 mariadb-11.8.6/man/mariadb-client-test.1 | 2 mariadb-11.8.6/man/mariadb-conv.1 | 2 mariadb-11.8.6/man/mariadb-convert-table-format.1 | 2 mariadb-11.8.6/man/mariadb-dump.1 | 2 mariadb-11.8.6/man/mariadb-dumpslow.1 | 2 mariadb-11.8.6/man/mariadb-find-rows.1 | 2 mariadb-11.8.6/man/mariadb-fix-extensions.1 | 2 mariadb-11.8.6/man/mariadb-hotcopy.1 | 2 mariadb-11.8.6/man/mariadb-import.1 | 2 mariadb-11.8.6/man/mariadb-install-db.1 | 2 mariadb-11.8.6/man/mariadb-plugin.1 | 2 mariadb-11.8.6/man/mariadb-secure-installation.1 | 2 mariadb-11.8.6/man/mariadb-service-convert.1 | 2 mariadb-11.8.6/man/mariadb-setpermission.1 | 2 mariadb-11.8.6/man/mariadb-show.1 | 2 mariadb-11.8.6/man/mariadb-slap.1 | 2 mariadb-11.8.6/man/mariadb-test.1 | 2 mariadb-11.8.6/man/mariadb-tzinfo-to-sql.1 | 2 mariadb-11.8.6/man/mariadb-upgrade.1 | 2 mariadb-11.8.6/man/mariadb-waitpid.1 | 2 mariadb-11.8.6/man/mariadb.1 | 2 mariadb-11.8.6/man/mariadb_config.1 | 2 mariadb-11.8.6/man/mariadbd-multi.1 | 2 mariadb-11.8.6/man/mariadbd-safe-helper.1 | 2 mariadb-11.8.6/man/mariadbd-safe.1 | 2 mariadb-11.8.6/man/mariadbd.8 | 4 mariadb-11.8.6/man/mbstream.1 | 2 mariadb-11.8.6/man/msql2mysql.1 | 2 mariadb-11.8.6/man/my_print_defaults.1 | 2 mariadb-11.8.6/man/my_safe_process.1 | 2 mariadb-11.8.6/man/myisam_ftdump.1 | 2 mariadb-11.8.6/man/myisamchk.1 | 2 mariadb-11.8.6/man/myisamlog.1 | 2 mariadb-11.8.6/man/myisampack.1 | 2 mariadb-11.8.6/man/mysql-stress-test.pl.1 | 2 mariadb-11.8.6/man/mysql-test-run.pl.1 | 2 mariadb-11.8.6/man/mysql.server.1 | 2 mariadb-11.8.6/man/mytop.1 | 2 mariadb-11.8.6/man/perror.1 | 2 mariadb-11.8.6/man/replace.1 | 2 mariadb-11.8.6/man/resolve_stack_dump.1 | 2 mariadb-11.8.6/man/resolveip.1 | 2 mariadb-11.8.6/man/wsrep_sst_backup.1 | 2 mariadb-11.8.6/man/wsrep_sst_common.1 | 2 mariadb-11.8.6/man/wsrep_sst_mariabackup.1 | 2 mariadb-11.8.6/man/wsrep_sst_mysqldump.1 | 2 mariadb-11.8.6/man/wsrep_sst_rsync.1 | 2 mariadb-11.8.6/man/wsrep_sst_rsync_wan.1 | 2 mariadb-11.8.6/mariadb-plugin-columnstore.install.generated | 1 mariadb-11.8.6/mysql-test/collections/buildbot_suites.bat | 1 mariadb-11.8.6/mysql-test/include/check_connect.inc | 6 mariadb-11.8.6/mysql-test/include/galera_variables_ok.inc | 2 mariadb-11.8.6/mysql-test/include/require_openssl_client.inc | 2 mariadb-11.8.6/mysql-test/lib/My/Debugger.pm | 1 mariadb-11.8.6/mysql-test/lib/generate-ssl-certs.sh | 153 mariadb-11.8.6/mysql-test/main/alter_table.result | 28 mariadb-11.8.6/mysql-test/main/alter_table.test | 21 mariadb-11.8.6/mysql-test/main/alter_table_lock.result | 24 mariadb-11.8.6/mysql-test/main/alter_table_lock.test | 36 mariadb-11.8.6/mysql-test/main/analyze_engine_stats.result | 6 mariadb-11.8.6/mysql-test/main/analyze_format_json.result | 128 mariadb-11.8.6/mysql-test/main/analyze_format_json.test | 23 mariadb-11.8.6/mysql-test/main/analyze_stmt_orderby.result | 9 mariadb-11.8.6/mysql-test/main/analyze_stmt_prefetch_count.result | 11 mariadb-11.8.6/mysql-test/main/analyze_stmt_prefetch_count.test | 7 mariadb-11.8.6/mysql-test/main/backup_locks.test | 1 mariadb-11.8.6/mysql-test/main/bool_innodb.result | 10 mariadb-11.8.6/mysql-test/main/bool_innodb.test | 15 mariadb-11.8.6/mysql-test/main/chained_ssl_certificates.opt | 3 mariadb-11.8.6/mysql-test/main/chained_ssl_certificates.result | 12 mariadb-11.8.6/mysql-test/main/chained_ssl_certificates.test | 74 mariadb-11.8.6/mysql-test/main/check.result | 69 mariadb-11.8.6/mysql-test/main/check.test | 72 mariadb-11.8.6/mysql-test/main/check_constraint.result | 76 mariadb-11.8.6/mysql-test/main/check_constraint.test | 83 mariadb-11.8.6/mysql-test/main/costs.result | 145 mariadb-11.8.6/mysql-test/main/costs.test | 49 mariadb-11.8.6/mysql-test/main/create_or_replace_pfs.result | 27 mariadb-11.8.6/mysql-test/main/create_or_replace_pfs.test | 28 mariadb-11.8.6/mysql-test/main/create_select.result | 18 mariadb-11.8.6/mysql-test/main/create_select.test | 15 mariadb-11.8.6/mysql-test/main/create_w_max_indexes_128.result | 8 mariadb-11.8.6/mysql-test/main/cte_recursive.result | 185 mariadb-11.8.6/mysql-test/main/cte_recursive.test | 185 mariadb-11.8.6/mysql-test/main/ctype_latin1.result | 8 mariadb-11.8.6/mysql-test/main/ctype_ucs.result | 8 mariadb-11.8.6/mysql-test/main/ctype_ucs.test | 6 mariadb-11.8.6/mysql-test/main/debug_sync.result | 27 mariadb-11.8.6/mysql-test/main/debug_sync.test | 40 mariadb-11.8.6/mysql-test/main/default.result | 2 mariadb-11.8.6/mysql-test/main/delete.result | 18 mariadb-11.8.6/mysql-test/main/delete.test | 14 mariadb-11.8.6/mysql-test/main/derived_cond_pushdown.result | 118 mariadb-11.8.6/mysql-test/main/derived_cond_pushdown.test | 37 mariadb-11.8.6/mysql-test/main/derived_split_innodb.result | 100 mariadb-11.8.6/mysql-test/main/derived_split_innodb.test | 113 mariadb-11.8.6/mysql-test/main/derived_view.result | 14 mariadb-11.8.6/mysql-test/main/derived_view.test | 16 mariadb-11.8.6/mysql-test/main/distinct.result | 2 mariadb-11.8.6/mysql-test/main/dyncol.result | 4 mariadb-11.8.6/mysql-test/main/error_simulation.result | 9 mariadb-11.8.6/mysql-test/main/error_simulation.test | 13 mariadb-11.8.6/mysql-test/main/errors.result | 20 mariadb-11.8.6/mysql-test/main/errors.test | 71 mariadb-11.8.6/mysql-test/main/explain_json_format_partitions.result | 6 mariadb-11.8.6/mysql-test/main/features.result | 17 mariadb-11.8.6/mysql-test/main/features.test | 16 mariadb-11.8.6/mysql-test/main/fetch_first.result | 89 mariadb-11.8.6/mysql-test/main/fetch_first.test | 74 mariadb-11.8.6/mysql-test/main/foreign_key_lowercase0.result | 21 mariadb-11.8.6/mysql-test/main/foreign_key_lowercase0.test | 22 mariadb-11.8.6/mysql-test/main/func_extract.result | 110 mariadb-11.8.6/mysql-test/main/func_group.result | 19 mariadb-11.8.6/mysql-test/main/func_group.test | 12 mariadb-11.8.6/mysql-test/main/func_hybrid_type.result | 12 mariadb-11.8.6/mysql-test/main/func_json.result | 167 mariadb-11.8.6/mysql-test/main/func_json.test | 199 mariadb-11.8.6/mysql-test/main/func_regexp_pcre.result | 2 mariadb-11.8.6/mysql-test/main/func_regexp_pcre.test | 2 mariadb-11.8.6/mysql-test/main/func_str.result | 29 mariadb-11.8.6/mysql-test/main/func_str.test | 26 mariadb-11.8.6/mysql-test/main/func_time.result | 43 mariadb-11.8.6/mysql-test/main/func_time.test | 22 mariadb-11.8.6/mysql-test/main/func_time_round.result | 381 mariadb-11.8.6/mysql-test/main/gis-precise.result | 8 mariadb-11.8.6/mysql-test/main/gis-precise.test | 10 mariadb-11.8.6/mysql-test/main/gis-rtree.result | 5 mariadb-11.8.6/mysql-test/main/gis-rtree.test | 12 mariadb-11.8.6/mysql-test/main/gis.test | 2 mariadb-11.8.6/mysql-test/main/grant4.result | 11 mariadb-11.8.6/mysql-test/main/grant4.test | 9 mariadb-11.8.6/mysql-test/main/grant5.result | 4 mariadb-11.8.6/mysql-test/main/grant5.test | 4 mariadb-11.8.6/mysql-test/main/grant_kill.result | 8 mariadb-11.8.6/mysql-test/main/grant_kill.test | 12 mariadb-11.8.6/mysql-test/main/grant_lowercase.test | 1 mariadb-11.8.6/mysql-test/main/grant_repair.result | 90 mariadb-11.8.6/mysql-test/main/grant_repair.test | 102 mariadb-11.8.6/mysql-test/main/group_by.result | 37 mariadb-11.8.6/mysql-test/main/group_by.test | 80 mariadb-11.8.6/mysql-test/main/group_min_max.result | 2 mariadb-11.8.6/mysql-test/main/group_min_max_innodb.result | 39 mariadb-11.8.6/mysql-test/main/group_min_max_innodb.test | 34 mariadb-11.8.6/mysql-test/main/having.result | 19 mariadb-11.8.6/mysql-test/main/having.test | 22 mariadb-11.8.6/mysql-test/main/having_cond_pushdown.result | 135 mariadb-11.8.6/mysql-test/main/having_cond_pushdown.test | 33 mariadb-11.8.6/mysql-test/main/index_intersect.result | 66 mariadb-11.8.6/mysql-test/main/index_intersect.test | 49 mariadb-11.8.6/mysql-test/main/index_intersect_innodb.result | 66 mariadb-11.8.6/mysql-test/main/information_schema.test | 1 mariadb-11.8.6/mysql-test/main/information_schema_db.result | 55 mariadb-11.8.6/mysql-test/main/information_schema_db.test | 58 mariadb-11.8.6/mysql-test/main/insert_notembedded.result | 43 mariadb-11.8.6/mysql-test/main/insert_notembedded.test | 57 mariadb-11.8.6/mysql-test/main/insert_update.result | 23 mariadb-11.8.6/mysql-test/main/insert_update.test | 31 mariadb-11.8.6/mysql-test/main/intersect_all.result | 271 mariadb-11.8.6/mysql-test/main/intersect_all.test | 105 mariadb-11.8.6/mysql-test/main/join_nested.result | 63 mariadb-11.8.6/mysql-test/main/join_nested.test | 66 mariadb-11.8.6/mysql-test/main/join_nested_jcl6.result | 63 mariadb-11.8.6/mysql-test/main/join_optimizer.result | 11 mariadb-11.8.6/mysql-test/main/join_optimizer.test | 22 mariadb-11.8.6/mysql-test/main/join_outer.result | 18 mariadb-11.8.6/mysql-test/main/join_outer.test | 14 mariadb-11.8.6/mysql-test/main/join_outer_jcl6.result | 18 mariadb-11.8.6/mysql-test/main/kill-2.result | 13 mariadb-11.8.6/mysql-test/main/kill-2.test | 8 mariadb-11.8.6/mysql-test/main/kill.result | 19 mariadb-11.8.6/mysql-test/main/kill.test | 35 mariadb-11.8.6/mysql-test/main/limit_rows_examined.result | 11 mariadb-11.8.6/mysql-test/main/limit_rows_examined.test | 15 mariadb-11.8.6/mysql-test/main/long_unique.result | 16 mariadb-11.8.6/mysql-test/main/long_unique_bugs.result | 8 mariadb-11.8.6/mysql-test/main/long_unique_bugs.test | 10 mariadb-11.8.6/mysql-test/main/long_unique_bugs_replication.result | 48 mariadb-11.8.6/mysql-test/main/long_unique_bugs_replication.test | 46 mariadb-11.8.6/mysql-test/main/lowercase_fs_off.test | 1 mariadb-11.8.6/mysql-test/main/lowercase_table.test | 1 mariadb-11.8.6/mysql-test/main/lowercase_table_grant.test | 1 mariadb-11.8.6/mysql-test/main/lowercase_table_qcache.test | 1 mariadb-11.8.6/mysql-test/main/lowercase_utf8.test | 1 mariadb-11.8.6/mysql-test/main/lowercase_view.test | 2 mariadb-11.8.6/mysql-test/main/mariadb-import.result | 37 mariadb-11.8.6/mysql-test/main/mariadb-import.test | 49 mariadb-11.8.6/mysql-test/main/max_session_mem_used.result | 139 mariadb-11.8.6/mysql-test/main/max_session_mem_used.test | 187 mariadb-11.8.6/mysql-test/main/mdev-35765.result | 20 mariadb-11.8.6/mysql-test/main/mdev-35765.test | 14 mariadb-11.8.6/mysql-test/main/mdev375.test | 2 mariadb-11.8.6/mysql-test/main/mdl_sync.result | 20 mariadb-11.8.6/mysql-test/main/mdl_sync.test | 23 mariadb-11.8.6/mysql-test/main/merge_alter-master.opt | 1 mariadb-11.8.6/mysql-test/main/merge_alter.result | 77 mariadb-11.8.6/mysql-test/main/merge_alter.test | 20 mariadb-11.8.6/mysql-test/main/myisam.result | 8 mariadb-11.8.6/mysql-test/main/myisam_explain_non_select_all.result | 2 mariadb-11.8.6/mysql-test/main/mysql_client_test.result | 6 mariadb-11.8.6/mysql-test/main/mysql_client_test.test | 10 mariadb-11.8.6/mysql-test/main/mysql_tzinfo_to_sql_symlink.result | 12 mariadb-11.8.6/mysql-test/main/mysql_upgrade.result | 3 mariadb-11.8.6/mysql-test/main/mysql_upgrade.test | 3 mariadb-11.8.6/mysql-test/main/mysqld--help-aria.test | 6 mariadb-11.8.6/mysql-test/main/mysqld--help.result | 10 mariadb-11.8.6/mysql-test/main/mysqld--help.test | 4 mariadb-11.8.6/mysql-test/main/mysqld_option_err.result | 1 mariadb-11.8.6/mysql-test/main/mysqld_option_err.test | 8 mariadb-11.8.6/mysql-test/main/mysqldump-system-incomplete.result | 6 mariadb-11.8.6/mysql-test/main/mysqldump-system-incomplete.test | 11 mariadb-11.8.6/mysql-test/main/mysqldump.result | 478 mariadb-11.8.6/mysql-test/main/mysqldump.test | 36 mariadb-11.8.6/mysql-test/main/mysqltest_expression_evaluation.result | 508 mariadb-11.8.6/mysql-test/main/mysqltest_expression_evaluation.test | 897 mariadb-11.8.6/mysql-test/main/mysqltest_string_functions.result | 1093 mariadb-11.8.6/mysql-test/main/mysqltest_string_functions.test | 2058 mariadb-11.8.6/mysql-test/main/null_aware_cardinality.result | 158 mariadb-11.8.6/mysql-test/main/null_aware_cardinality.test | 103 mariadb-11.8.6/mysql-test/main/olap.result | 16 mariadb-11.8.6/mysql-test/main/olap.test | 12 mariadb-11.8.6/mysql-test/main/old-mode.test | 2 mariadb-11.8.6/mysql-test/main/optimizer_costs_innodb.result | 42 mariadb-11.8.6/mysql-test/main/optimizer_costs_innodb.test | 44 mariadb-11.8.6/mysql-test/main/order_by.result | 10 mariadb-11.8.6/mysql-test/main/order_by.test | 12 mariadb-11.8.6/mysql-test/main/partition.result | 31 mariadb-11.8.6/mysql-test/main/partition.test | 44 mariadb-11.8.6/mysql-test/main/partition_alter.result | 22 mariadb-11.8.6/mysql-test/main/partition_alter.test | 23 mariadb-11.8.6/mysql-test/main/partition_innodb.result | 11 mariadb-11.8.6/mysql-test/main/partition_innodb.test | 15 mariadb-11.8.6/mysql-test/main/perror-win.result | 2 mariadb-11.8.6/mysql-test/main/perror.result | 8 mariadb-11.8.6/mysql-test/main/ps.result | 27 mariadb-11.8.6/mysql-test/main/ps.test | 32 mariadb-11.8.6/mysql-test/main/ps_2myisam.result | 2 mariadb-11.8.6/mysql-test/main/ps_3innodb.result | 2 mariadb-11.8.6/mysql-test/main/ps_4heap.result | 2 mariadb-11.8.6/mysql-test/main/ps_5merge.result | 4 mariadb-11.8.6/mysql-test/main/public_privileges.result | 6 mariadb-11.8.6/mysql-test/main/public_privileges.test | 7 mariadb-11.8.6/mysql-test/main/range.result | 21 mariadb-11.8.6/mysql-test/main/range.test | 26 mariadb-11.8.6/mysql-test/main/range_mrr_icp.result | 21 mariadb-11.8.6/mysql-test/main/range_notembedded.result | 53 mariadb-11.8.6/mysql-test/main/range_notembedded.test | 35 mariadb-11.8.6/mysql-test/main/rename.result | 40 mariadb-11.8.6/mysql-test/main/rename.test | 41 mariadb-11.8.6/mysql-test/main/repair.result | 6 mariadb-11.8.6/mysql-test/main/repair_symlink-5543.test | 6 mariadb-11.8.6/mysql-test/main/rowid_filter_innodb,ahi.rdiff | 8 mariadb-11.8.6/mysql-test/main/rowid_filter_innodb.result | 8 mariadb-11.8.6/mysql-test/main/rownum.result | 40 mariadb-11.8.6/mysql-test/main/rownum.test | 28 mariadb-11.8.6/mysql-test/main/secondary_key_costs.result | 16 mariadb-11.8.6/mysql-test/main/secure_file_priv_win.test | 2 mariadb-11.8.6/mysql-test/main/selectivity.result | 29 mariadb-11.8.6/mysql-test/main/selectivity.test | 23 mariadb-11.8.6/mysql-test/main/selectivity_innodb.result | 29 mariadb-11.8.6/mysql-test/main/servers.result | 83 mariadb-11.8.6/mysql-test/main/servers.test | 90 mariadb-11.8.6/mysql-test/main/servers_upgrade.result | 24 mariadb-11.8.6/mysql-test/main/servers_upgrade.test | 22 mariadb-11.8.6/mysql-test/main/set_operation_oracle.result | 102 mariadb-11.8.6/mysql-test/main/show.result | 44 mariadb-11.8.6/mysql-test/main/show.test | 42 mariadb-11.8.6/mysql-test/main/show_check.result | 8 mariadb-11.8.6/mysql-test/main/show_check.test | 11 mariadb-11.8.6/mysql-test/main/show_explain.result | 8 mariadb-11.8.6/mysql-test/main/show_explain.test | 9 mariadb-11.8.6/mysql-test/main/simultaneous_assignment.result | 13 mariadb-11.8.6/mysql-test/main/simultaneous_assignment.test | 13 mariadb-11.8.6/mysql-test/main/sp-bugs.result | 24 mariadb-11.8.6/mysql-test/main/sp-bugs.test | 29 mariadb-11.8.6/mysql-test/main/sp-bugs2.result | 102 mariadb-11.8.6/mysql-test/main/sp-bugs2.test | 106 mariadb-11.8.6/mysql-test/main/sp_trans_log.result | 1 mariadb-11.8.6/mysql-test/main/sp_trans_log.test | 2 mariadb-11.8.6/mysql-test/main/ssl.result | 2 mariadb-11.8.6/mysql-test/main/ssl.test | 5 mariadb-11.8.6/mysql-test/main/subquery_merge.result | 169 mariadb-11.8.6/mysql-test/main/subquery_merge.test | 151 mariadb-11.8.6/mysql-test/main/subselect4.result | 43 mariadb-11.8.6/mysql-test/main/subselect4.test | 39 mariadb-11.8.6/mysql-test/main/subselect_mat.result | 17 mariadb-11.8.6/mysql-test/main/subselect_sj_mat.result | 11 mariadb-11.8.6/mysql-test/main/subselect_sj_mat.test | 17 mariadb-11.8.6/mysql-test/main/subselect_union_rand.result | 13 mariadb-11.8.6/mysql-test/main/subselect_union_rand.test | 28 mariadb-11.8.6/mysql-test/main/tablelock.result | 71 mariadb-11.8.6/mysql-test/main/tablelock.test | 90 mariadb-11.8.6/mysql-test/main/trigger-compat.result | 22 mariadb-11.8.6/mysql-test/main/trigger-compat.test | 36 mariadb-11.8.6/mysql-test/main/trigger_notembedded.result | 90 mariadb-11.8.6/mysql-test/main/trigger_notembedded.test | 104 mariadb-11.8.6/mysql-test/main/type_binary.result | 62 mariadb-11.8.6/mysql-test/main/type_bit.result | 62 mariadb-11.8.6/mysql-test/main/type_bit_innodb.result | 62 mariadb-11.8.6/mysql-test/main/type_blob.result | 124 mariadb-11.8.6/mysql-test/main/type_date.result | 4 mariadb-11.8.6/mysql-test/main/type_date_round.result | 6 mariadb-11.8.6/mysql-test/main/type_datetime.result | 12 mariadb-11.8.6/mysql-test/main/type_datetime_round.result | 6 mariadb-11.8.6/mysql-test/main/type_enum.result | 178 mariadb-11.8.6/mysql-test/main/type_enum.test | 18 mariadb-11.8.6/mysql-test/main/type_int.result | 6 mariadb-11.8.6/mysql-test/main/type_interval.result | 8 mariadb-11.8.6/mysql-test/main/type_num_innodb.result | 128 mariadb-11.8.6/mysql-test/main/type_set.result | 160 mariadb-11.8.6/mysql-test/main/type_temporal_innodb.result | 12 mariadb-11.8.6/mysql-test/main/type_time.result | 24 mariadb-11.8.6/mysql-test/main/type_time_hires.result | 14 mariadb-11.8.6/mysql-test/main/type_time_round.result | 62 mariadb-11.8.6/mysql-test/main/type_timestamp.result | 4 mariadb-11.8.6/mysql-test/main/type_timestamp_round.result | 4 mariadb-11.8.6/mysql-test/main/type_uint.result | 32 mariadb-11.8.6/mysql-test/main/type_uint.test | 25 mariadb-11.8.6/mysql-test/main/type_varchar.result | 62 mariadb-11.8.6/mysql-test/main/user_var.result | 2 mariadb-11.8.6/mysql-test/main/user_var.test | 6 mariadb-11.8.6/mysql-test/main/userstat-badlogin-4824.test | 8 mariadb-11.8.6/mysql-test/main/userstat.result | 4 mariadb-11.8.6/mysql-test/main/vector,myisam.rdiff | 70 mariadb-11.8.6/mysql-test/main/vector.result | 1 mariadb-11.8.6/mysql-test/main/vector.test | 1 mariadb-11.8.6/mysql-test/main/vector2_notembedded.result | 5 mariadb-11.8.6/mysql-test/main/vector_innodb.result | 1 mariadb-11.8.6/mysql-test/main/vector_innodb.test | 1 mariadb-11.8.6/mysql-test/main/view.result | 18 mariadb-11.8.6/mysql-test/main/view.test | 25 mariadb-11.8.6/mysql-test/main/win.result | 50 mariadb-11.8.6/mysql-test/main/win.test | 53 mariadb-11.8.6/mysql-test/main/win_orderby.result | 103 mariadb-11.8.6/mysql-test/main/win_orderby.test | 65 mariadb-11.8.6/mysql-test/main/windows.test | 1 mariadb-11.8.6/mysql-test/main/xa.result | 1 mariadb-11.8.6/mysql-test/main/xa.test | 9 mariadb-11.8.6/mysql-test/mariadb-test-run.pl | 3 mariadb-11.8.6/mysql-test/std_data/cachain/client.cachain | 62 mariadb-11.8.6/mysql-test/std_data/cachain/client.key | 52 mariadb-11.8.6/mysql-test/std_data/cachain/root.crt | 31 mariadb-11.8.6/mysql-test/std_data/cachain/root_intermediate_ca1.crt | 62 mariadb-11.8.6/mysql-test/std_data/cachain/server.cachain | 62 mariadb-11.8.6/mysql-test/std_data/cachain/server.key | 52 mariadb-11.8.6/mysql-test/std_data/cachain/unrelated_root.crt | 31 mariadb-11.8.6/mysql-test/suite.pm | 4 mariadb-11.8.6/mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.result | 8 mariadb-11.8.6/mysql-test/suite/binlog/r/binlog_mdev22915.result | 31 mariadb-11.8.6/mysql-test/suite/binlog/r/binlog_mdev37541.result | 41 mariadb-11.8.6/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result | 14 mariadb-11.8.6/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result | 2 mariadb-11.8.6/mysql-test/suite/binlog/r/read_only.result | 6 mariadb-11.8.6/mysql-test/suite/binlog/r/read_only_statement.result | 6 mariadb-11.8.6/mysql-test/suite/binlog/t/binlog_bug23533.combinations | 4 mariadb-11.8.6/mysql-test/suite/binlog/t/binlog_bug23533.test | 3 mariadb-11.8.6/mysql-test/suite/binlog/t/binlog_flush_binlogs_delete_domain.test | 16 mariadb-11.8.6/mysql-test/suite/binlog/t/binlog_mdev22915.test | 33 mariadb-11.8.6/mysql-test/suite/binlog/t/binlog_mdev37541.test | 59 mariadb-11.8.6/mysql-test/suite/compat/oracle/r/empty_string_literal.result | 2 mariadb-11.8.6/mysql-test/suite/compat/oracle/r/minus.result | 2 mariadb-11.8.6/mysql-test/suite/compat/oracle/r/sp-package-code.result | 30 mariadb-11.8.6/mysql-test/suite/compat/oracle/r/sp-package-mdl.result | 23 mariadb-11.8.6/mysql-test/suite/compat/oracle/r/table_value_constr.result | 1605 mariadb-11.8.6/mysql-test/suite/compat/oracle/t/sp-package-code.test | 27 mariadb-11.8.6/mysql-test/suite/compat/oracle/t/sp-package-mdl.test | 7 mariadb-11.8.6/mysql-test/suite/compat/oracle/t/table_value_constr.test | 12 mariadb-11.8.6/mysql-test/suite/encryption/r/filekeys_encfile.result | 4 mariadb-11.8.6/mysql-test/suite/encryption/r/filekeys_encfile_file.result | 4 mariadb-11.8.6/mysql-test/suite/encryption/r/innochecksum.result | 10 mariadb-11.8.6/mysql-test/suite/encryption/r/innodb-read-only.result | 16 mariadb-11.8.6/mysql-test/suite/encryption/r/recovery_memory.result | 2 mariadb-11.8.6/mysql-test/suite/encryption/r/tempfiles_encrypted.result | 50 mariadb-11.8.6/mysql-test/suite/encryption/t/filekeys_goodtest.inc | 1 mariadb-11.8.6/mysql-test/suite/encryption/t/innochecksum.opt | 2 mariadb-11.8.6/mysql-test/suite/encryption/t/innochecksum.test | 22 mariadb-11.8.6/mysql-test/suite/encryption/t/innodb-read-only.test | 18 mariadb-11.8.6/mysql-test/suite/encryption/t/recovery_memory.combinations | 4 mariadb-11.8.6/mysql-test/suite/encryption/t/recovery_memory.test | 5 mariadb-11.8.6/mysql-test/suite/engines/funcs/r/ai_sql_auto_is_null.result | 1 mariadb-11.8.6/mysql-test/suite/engines/funcs/r/ld_all_number_string_calendar_types.result | 1 mariadb-11.8.6/mysql-test/suite/engines/funcs/r/rpl_do_grant.result | 68 mariadb-11.8.6/mysql-test/suite/engines/funcs/r/sf_alter.result | 2 mariadb-11.8.6/mysql-test/suite/engines/funcs/r/sf_cursor.result | 2 mariadb-11.8.6/mysql-test/suite/engines/funcs/t/ai_sql_auto_is_null.test | 4 mariadb-11.8.6/mysql-test/suite/engines/funcs/t/ld_all_number_string_calendar_types.test | 3363 mariadb-11.8.6/mysql-test/suite/engines/funcs/t/sf_alter.test | 5 mariadb-11.8.6/mysql-test/suite/engines/funcs/t/sf_cursor.test | 5 mariadb-11.8.6/mysql-test/suite/engines/iuds/r/delete_year.result | 1 mariadb-11.8.6/mysql-test/suite/engines/iuds/r/insert_year.result | 1 mariadb-11.8.6/mysql-test/suite/engines/iuds/r/update_year.result | 1 mariadb-11.8.6/mysql-test/suite/engines/iuds/t/delete_year.test | 5 mariadb-11.8.6/mysql-test/suite/engines/iuds/t/insert_year.test | 8 mariadb-11.8.6/mysql-test/suite/engines/iuds/t/update_year.test | 5 mariadb-11.8.6/mysql-test/suite/events/events_2.result | 24 mariadb-11.8.6/mysql-test/suite/events/events_2.test | 23 mariadb-11.8.6/mysql-test/suite/federated/federatedx_create_handlers.result | 259 mariadb-11.8.6/mysql-test/suite/federated/federatedx_create_handlers.test | 171 mariadb-11.8.6/mysql-test/suite/funcs_1/datadict/processlist_val.inc | 2 mariadb-11.8.6/mysql-test/suite/funcs_1/r/innodb_func_view.result | 192 mariadb-11.8.6/mysql-test/suite/funcs_1/r/innodb_trig_03e.result | 4 mariadb-11.8.6/mysql-test/suite/funcs_1/r/is_columns_is.result | 4 mariadb-11.8.6/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result | 4 mariadb-11.8.6/mysql-test/suite/funcs_1/r/is_triggers.result | 14 mariadb-11.8.6/mysql-test/suite/funcs_1/r/is_triggers_embedded.result | 12 mariadb-11.8.6/mysql-test/suite/funcs_1/r/memory_func_view.result | 192 mariadb-11.8.6/mysql-test/suite/funcs_1/r/memory_trig_03e.result | 4 mariadb-11.8.6/mysql-test/suite/funcs_1/r/myisam_func_view.result | 192 mariadb-11.8.6/mysql-test/suite/funcs_1/r/myisam_trig_03e.result | 4 mariadb-11.8.6/mysql-test/suite/funcs_1/r/storedproc.result | 42 mariadb-11.8.6/mysql-test/suite/funcs_1/t/storedproc.test | 41 mariadb-11.8.6/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc | 3 mariadb-11.8.6/mysql-test/suite/galera/disabled.def | 2 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-22232.result | 4 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-25039.result | 63 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-30418.result | 41 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-30732.result | 627 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-30764.result | 66 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-32938.result | 7 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-34117.result | 127 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-34647.result | 83 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-35511.result | 22 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-35748.result | 9 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-36909.result | 52 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-37056.result | 15 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-37229.result | 53 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-37366.result | 27 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-37857.result | 44 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-37935.result | 40 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-37991.result | 18 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-38073.result | 19 mariadb-11.8.6/mysql-test/suite/galera/r/MDEV-38201.result | 35 mariadb-11.8.6/mysql-test/suite/galera/r/MW-329.result | 5 mariadb-11.8.6/mysql-test/suite/galera/r/galera_as_slave_ctas.result | 3 mariadb-11.8.6/mysql-test/suite/galera/r/galera_as_slave_with_filtering.result | 137 mariadb-11.8.6/mysql-test/suite/galera/r/galera_bf_abort.result | 3 mariadb-11.8.6/mysql-test/suite/galera/r/galera_binlog_stmt_autoinc.result | 28 mariadb-11.8.6/mysql-test/suite/galera/r/galera_blob_key.result | 14 mariadb-11.8.6/mysql-test/suite/galera/r/galera_create_function.result | 4 mariadb-11.8.6/mysql-test/suite/galera/r/galera_create_procedure.result | 4 mariadb-11.8.6/mysql-test/suite/galera/r/galera_create_table_as_select.result | 2 mariadb-11.8.6/mysql-test/suite/galera/r/galera_mdev_31517.result | 28 mariadb-11.8.6/mysql-test/suite/galera/r/galera_multi_level_fk_ddl_insert.result | 342 mariadb-11.8.6/mysql-test/suite/galera/r/galera_partitioned_tables.result | 69 mariadb-11.8.6/mysql-test/suite/galera/r/galera_provider_options_long.result | 16 mariadb-11.8.6/mysql-test/suite/galera/r/galera_sequences.result | 2 mariadb-11.8.6/mysql-test/suite/galera/r/galera_sequences_recovery.result | 132 mariadb-11.8.6/mysql-test/suite/galera/r/galera_sequences_transaction.result | 28 mariadb-11.8.6/mysql-test/suite/galera/r/galera_split_brain.result | 6 mariadb-11.8.6/mysql-test/suite/galera/r/galera_ssl_compression.result | 31 mariadb-11.8.6/mysql-test/suite/galera/r/galera_strict_require_innodb.result | 24 mariadb-11.8.6/mysql-test/suite/galera/r/galera_sync_wait_show.result | 8 mariadb-11.8.6/mysql-test/suite/galera/r/galera_temporary_sequences.result | 12 mariadb-11.8.6/mysql-test/suite/galera/r/galera_toi_ddl_nonconflicting.result | 18 mariadb-11.8.6/mysql-test/suite/galera/r/mariadb_tzinfo_to_sql.result | 16 mariadb-11.8.6/mysql-test/suite/galera/r/mdev-22063.result | 2 mariadb-11.8.6/mysql-test/suite/galera/r/mdev-22543.result | 6 mariadb-11.8.6/mysql-test/suite/galera/r/mdev-30653.result | 2 mariadb-11.8.6/mysql-test/suite/galera/r/tmp_space_usage.result | 29 mariadb-11.8.6/mysql-test/suite/galera/r/view.result | 16 mariadb-11.8.6/mysql-test/suite/galera/suite.pm | 1 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-22232.test | 4 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-25039.test | 109 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-26266.test | 1 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-30418.test | 32 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-30732.test | 371 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-30764.cnf | 7 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-30764.test | 101 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-32938.test | 18 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-34117.test | 83 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-34647.cnf | 11 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-34647.test | 37 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-35511.opt | 1 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-35511.test | 34 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-35748.cnf | 5 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-35748.opt | 1 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-35748.test | 4 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-36909.test | 39 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-37056.test | 18 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-37229.test | 49 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-37366.test | 53 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-37857.test | 29 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-37935.test | 30 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-37991.test | 30 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-38073.test | 46 mariadb-11.8.6/mysql-test/suite/galera/t/MDEV-38201.test | 49 mariadb-11.8.6/mysql-test/suite/galera/t/MW-329.test | 20 mariadb-11.8.6/mysql-test/suite/galera/t/MW-86-wait8.test | 4 mariadb-11.8.6/mysql-test/suite/galera/t/galera_as_slave_ctas.test | 3 mariadb-11.8.6/mysql-test/suite/galera/t/galera_as_slave_with_filtering.cnf | 11 mariadb-11.8.6/mysql-test/suite/galera/t/galera_as_slave_with_filtering.test | 146 mariadb-11.8.6/mysql-test/suite/galera/t/galera_bf_abort.test | 2 mariadb-11.8.6/mysql-test/suite/galera/t/galera_binlog_stmt_autoinc.cnf | 5 mariadb-11.8.6/mysql-test/suite/galera/t/galera_binlog_stmt_autoinc.test | 11 mariadb-11.8.6/mysql-test/suite/galera/t/galera_blob_key.test | 17 mariadb-11.8.6/mysql-test/suite/galera/t/galera_create_table_as_select.test | 2 mariadb-11.8.6/mysql-test/suite/galera/t/galera_defaults.test | 2 mariadb-11.8.6/mysql-test/suite/galera/t/galera_fk_truncate.cnf | 4 mariadb-11.8.6/mysql-test/suite/galera/t/galera_mdev_31517.test | 138 mariadb-11.8.6/mysql-test/suite/galera/t/galera_multi_level_fk_ddl_delete.test | 1 mariadb-11.8.6/mysql-test/suite/galera/t/galera_multi_level_fk_ddl_insert.test | 334 mariadb-11.8.6/mysql-test/suite/galera/t/galera_multi_level_fk_ddl_update.test | 1 mariadb-11.8.6/mysql-test/suite/galera/t/galera_multi_level_foreign_key_insert.inc | 44 mariadb-11.8.6/mysql-test/suite/galera/t/galera_partitioned_tables.combinations | 5 mariadb-11.8.6/mysql-test/suite/galera/t/galera_partitioned_tables.test | 39 mariadb-11.8.6/mysql-test/suite/galera/t/galera_provider_options_long.cnf | 11 mariadb-11.8.6/mysql-test/suite/galera/t/galera_provider_options_long.test | 28 mariadb-11.8.6/mysql-test/suite/galera/t/galera_sequences.test | 11 mariadb-11.8.6/mysql-test/suite/galera/t/galera_sequences_recovery.cnf | 9 mariadb-11.8.6/mysql-test/suite/galera/t/galera_sequences_recovery.combinations | 13 mariadb-11.8.6/mysql-test/suite/galera/t/galera_sequences_recovery.test | 123 mariadb-11.8.6/mysql-test/suite/galera/t/galera_sequences_transaction.combinations | 8 mariadb-11.8.6/mysql-test/suite/galera/t/galera_sequences_transaction.test | 2 mariadb-11.8.6/mysql-test/suite/galera/t/galera_split_brain.test | 8 mariadb-11.8.6/mysql-test/suite/galera/t/galera_ssl_compression.cnf | 7 mariadb-11.8.6/mysql-test/suite/galera/t/galera_ssl_compression.test | 39 mariadb-11.8.6/mysql-test/suite/galera/t/galera_ssl_upgrade.test | 1 mariadb-11.8.6/mysql-test/suite/galera/t/galera_strict_require_innodb.test | 5 mariadb-11.8.6/mysql-test/suite/galera/t/galera_temporary_sequences.test | 21 mariadb-11.8.6/mysql-test/suite/galera/t/galera_toi_ddl_nonconflicting.test | 4 mariadb-11.8.6/mysql-test/suite/galera/t/mdev-22543.test | 6 mariadb-11.8.6/mysql-test/suite/galera/t/mysql-wsrep#198.test | 4 mariadb-11.8.6/mysql-test/suite/galera/t/tmp_space_usage.test | 33 mariadb-11.8.6/mysql-test/suite/galera_3nodes/r/galera_garbd_backup.result | 24 mariadb-11.8.6/mysql-test/suite/galera_3nodes/r/galera_sst_stateless.result | 12 mariadb-11.8.6/mysql-test/suite/galera_3nodes/r/galera_vote_majority_dml.result | 70 mariadb-11.8.6/mysql-test/suite/galera_3nodes/t/galera_garbd_backup.test | 50 mariadb-11.8.6/mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.cnf | 4 mariadb-11.8.6/mysql-test/suite/galera_3nodes/t/galera_sst_stateless.cnf | 8 mariadb-11.8.6/mysql-test/suite/galera_3nodes/t/galera_sst_stateless.test | 51 mariadb-11.8.6/mysql-test/suite/galera_3nodes/t/galera_vote_majority_dml.cnf | 5 mariadb-11.8.6/mysql-test/suite/galera_3nodes/t/galera_vote_majority_dml.test | 68 mariadb-11.8.6/mysql-test/suite/galera_3nodes/t/galera_vote_rejoin_mysqldump.test | 2 mariadb-11.8.6/mysql-test/suite/galera_sr/r/MDEV-28971.result | 17 mariadb-11.8.6/mysql-test/suite/galera_sr/r/galera_sr_unit_statements.result | 48 mariadb-11.8.6/mysql-test/suite/galera_sr/t/MDEV-28971.test | 21 mariadb-11.8.6/mysql-test/suite/galera_sr/t/galera_sr_unit_statements.test | 30 mariadb-11.8.6/mysql-test/suite/gcol/r/gcol_bug20746926.result | 8 mariadb-11.8.6/mysql-test/suite/innodb/r/alter_copy_bulk.result | 41 mariadb-11.8.6/mysql-test/suite/innodb/r/alter_copy_stats.result | 115 mariadb-11.8.6/mysql-test/suite/innodb/r/alter_crash.result | 22 mariadb-11.8.6/mysql-test/suite/innodb/r/alter_kill.result | 4 mariadb-11.8.6/mysql-test/suite/innodb/r/bulk_load.result | 10 mariadb-11.8.6/mysql-test/suite/innodb/r/dml_purge.result | 51 mariadb-11.8.6/mysql-test/suite/innodb/r/import_hidden_fts_debug.result | 9 mariadb-11.8.6/mysql-test/suite/innodb/r/innochecksum_flags_and_skip.result | 31 mariadb-11.8.6/mysql-test/suite/innodb/r/innodb-alter-debug.result | 5 mariadb-11.8.6/mysql-test/suite/innodb/r/innodb-index.result | 14 mariadb-11.8.6/mysql-test/suite/innodb/r/innodb-virtual-columns.result | 37 mariadb-11.8.6/mysql-test/suite/innodb/r/innodb_bug12400341.result | 18 mariadb-11.8.6/mysql-test/suite/innodb/r/innodb_bug38231.result | 1 mariadb-11.8.6/mysql-test/suite/innodb/r/innodb_force_recovery.result | 23 mariadb-11.8.6/mysql-test/suite/innodb/r/innodb_stats.result | 13 mariadb-11.8.6/mysql-test/suite/innodb/r/innodb_stats_create_on_corrupted.result | 2 mariadb-11.8.6/mysql-test/suite/innodb/r/insert_into_empty.result | 3 mariadb-11.8.6/mysql-test/suite/innodb/r/lock_secondary.result | 24 mariadb-11.8.6/mysql-test/suite/innodb/r/log_corruption_recovery.result | 30 mariadb-11.8.6/mysql-test/suite/innodb/r/log_file_name.result | 28 mariadb-11.8.6/mysql-test/suite/innodb/r/max_trx_no_recovery.result | 114 mariadb-11.8.6/mysql-test/suite/innodb/r/restart.result | 7 mariadb-11.8.6/mysql-test/suite/innodb/r/sys_defragment.result | 10 mariadb-11.8.6/mysql-test/suite/innodb/r/sys_defragment_fail.result | 41 mariadb-11.8.6/mysql-test/suite/innodb/r/table_flags.result | 33 mariadb-11.8.6/mysql-test/suite/innodb/r/trx_deadlock.result | 1 mariadb-11.8.6/mysql-test/suite/innodb/r/undo_leak_fail.result | 7 mariadb-11.8.6/mysql-test/suite/innodb/r/xap_release_locks_on_dict_stats_table.result | 2 mariadb-11.8.6/mysql-test/suite/innodb/t/alter_copy_bulk.test | 28 mariadb-11.8.6/mysql-test/suite/innodb/t/alter_copy_stats.test | 99 mariadb-11.8.6/mysql-test/suite/innodb/t/alter_crash.test | 14 mariadb-11.8.6/mysql-test/suite/innodb/t/alter_foreign_crash.test | 1 mariadb-11.8.6/mysql-test/suite/innodb/t/alter_kill.test | 11 mariadb-11.8.6/mysql-test/suite/innodb/t/bulk_load.test | 16 mariadb-11.8.6/mysql-test/suite/innodb/t/dml_purge.test | 83 mariadb-11.8.6/mysql-test/suite/innodb/t/dropdb_cs.test | 1 mariadb-11.8.6/mysql-test/suite/innodb/t/gap_locks.test | 20 mariadb-11.8.6/mysql-test/suite/innodb/t/import_bugs.test | 2 mariadb-11.8.6/mysql-test/suite/innodb/t/import_hidden_fts_debug.test | 9 mariadb-11.8.6/mysql-test/suite/innodb/t/innochecksum_flags_and_skip.opt | 2 mariadb-11.8.6/mysql-test/suite/innodb/t/innochecksum_flags_and_skip.test | 179 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb-alter-debug.test | 2 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb-index-online.test | 4 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb-index.test | 22 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb-table-online.test | 4 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb-virtual-columns.test | 46 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb_bug12400341.test | 102 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb_bug38231.test | 12 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb_force_recovery.test | 20 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb_stats.test | 15 mariadb-11.8.6/mysql-test/suite/innodb/t/innodb_stats_create_on_corrupted.test | 2 mariadb-11.8.6/mysql-test/suite/innodb/t/insert_into_empty.test | 3 mariadb-11.8.6/mysql-test/suite/innodb/t/lock_secondary.test | 33 mariadb-11.8.6/mysql-test/suite/innodb/t/log_corruption_recovery.test | 67 mariadb-11.8.6/mysql-test/suite/innodb/t/log_file_name.test | 78 mariadb-11.8.6/mysql-test/suite/innodb/t/log_file_size_online.test | 1 mariadb-11.8.6/mysql-test/suite/innodb/t/max_trx_no_recovery.test | 135 mariadb-11.8.6/mysql-test/suite/innodb/t/monitor.test | 5 mariadb-11.8.6/mysql-test/suite/innodb/t/restart.test | 8 mariadb-11.8.6/mysql-test/suite/innodb/t/sys_defragment.test | 5 mariadb-11.8.6/mysql-test/suite/innodb/t/sys_defragment_fail.test | 21 mariadb-11.8.6/mysql-test/suite/innodb/t/table_flags.test | 9 mariadb-11.8.6/mysql-test/suite/innodb/t/trx_deadlock.test | 6 mariadb-11.8.6/mysql-test/suite/innodb/t/undo_leak_fail.test | 3 mariadb-11.8.6/mysql-test/suite/innodb/t/xap_release_locks_on_dict_stats_table.test | 2 mariadb-11.8.6/mysql-test/suite/innodb_fts/r/fulltext.result | 29 mariadb-11.8.6/mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result | 11 mariadb-11.8.6/mysql-test/suite/innodb_fts/r/misc_debug2.result | 6 mariadb-11.8.6/mysql-test/suite/innodb_fts/t/fulltext.test | 32 mariadb-11.8.6/mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test | 13 mariadb-11.8.6/mysql-test/suite/innodb_fts/t/misc_debug2.test | 4 mariadb-11.8.6/mysql-test/suite/innodb_gis/r/0.result | 12 mariadb-11.8.6/mysql-test/suite/innodb_gis/r/create_spatial_index.result | 17 mariadb-11.8.6/mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result | 5 mariadb-11.8.6/mysql-test/suite/innodb_gis/r/rtree_split.result | 105 mariadb-11.8.6/mysql-test/suite/innodb_gis/t/0.test | 13 mariadb-11.8.6/mysql-test/suite/innodb_gis/t/1.test | 10 mariadb-11.8.6/mysql-test/suite/innodb_gis/t/create_spatial_index.test | 20 mariadb-11.8.6/mysql-test/suite/innodb_gis/t/gis.test | 10 mariadb-11.8.6/mysql-test/suite/innodb_gis/t/rtree_split.test | 106 mariadb-11.8.6/mysql-test/suite/innodb_zip/r/innochecksum_2.result | 14 mariadb-11.8.6/mysql-test/suite/innodb_zip/r/innochecksum_3.result | 1 mariadb-11.8.6/mysql-test/suite/innodb_zip/t/innochecksum_2.opt | 1 mariadb-11.8.6/mysql-test/suite/innodb_zip/t/innochecksum_2.test | 35 mariadb-11.8.6/mysql-test/suite/json/r/json_table.result | 87 mariadb-11.8.6/mysql-test/suite/json/r/json_table_mysql.result | 20 mariadb-11.8.6/mysql-test/suite/json/t/json_table.test | 71 mariadb-11.8.6/mysql-test/suite/maria/bulk_insert_crash.result | 3 mariadb-11.8.6/mysql-test/suite/maria/bulk_insert_crash.test | 2 mariadb-11.8.6/mysql-test/suite/maria/maria-gis-rtree.result | 5 mariadb-11.8.6/mysql-test/suite/maria/maria-gis-rtree.test | 10 mariadb-11.8.6/mysql-test/suite/maria/partition.result | 15 mariadb-11.8.6/mysql-test/suite/maria/partition.test | 34 mariadb-11.8.6/mysql-test/suite/maria/ps_maria.result | 2 mariadb-11.8.6/mysql-test/suite/maria/repair.result | 10 mariadb-11.8.6/mysql-test/suite/maria/repair.test | 19 mariadb-11.8.6/mysql-test/suite/mariabackup/alter_copy_race.result | 18 mariadb-11.8.6/mysql-test/suite/mariabackup/alter_copy_race.test | 39 mariadb-11.8.6/mysql-test/suite/mariabackup/aria_encrypted.opt | 7 mariadb-11.8.6/mysql-test/suite/mariabackup/aria_encrypted.result | 8 mariadb-11.8.6/mysql-test/suite/mariabackup/aria_encrypted.test | 18 mariadb-11.8.6/mysql-test/suite/mariabackup/aria_log_rotate_during_backup.test | 5 mariadb-11.8.6/mysql-test/suite/mariabackup/full_backup.test | 2 mariadb-11.8.6/mysql-test/suite/mariabackup/partial.test | 3 mariadb-11.8.6/mysql-test/suite/mariabackup/partial_exclude.test | 2 mariadb-11.8.6/mysql-test/suite/mariabackup/unsupported_redo.test | 2 mariadb-11.8.6/mysql-test/suite/merge/merge.result | 52 mariadb-11.8.6/mysql-test/suite/merge/merge.test | 34 mariadb-11.8.6/mysql-test/suite/multi_source/mariadb-dump_slave.result | 6 mariadb-11.8.6/mysql-test/suite/multi_source/mariadb-dump_slave.test | 9 mariadb-11.8.6/mysql-test/suite/perfschema/r/statement_digest_consumers2.result | 5 mariadb-11.8.6/mysql-test/suite/perfschema/r/threads_mysql.result | 3 mariadb-11.8.6/mysql-test/suite/perfschema/r/user_var_func.result | 6 mariadb-11.8.6/mysql-test/suite/perfschema/t/max_program_zero.test | 1 mariadb-11.8.6/mysql-test/suite/perfschema/t/misc_session_status.test | 4 mariadb-11.8.6/mysql-test/suite/perfschema/t/show_sanity.test | 1 mariadb-11.8.6/mysql-test/suite/perfschema/t/statement_digest_consumers2.test | 5 mariadb-11.8.6/mysql-test/suite/perfschema/t/statement_program_lost_inst.test | 2 mariadb-11.8.6/mysql-test/suite/perfschema/t/statement_program_nested.test | 1 mariadb-11.8.6/mysql-test/suite/perfschema/t/statement_program_nesting_event_check.test | 1 mariadb-11.8.6/mysql-test/suite/perfschema/t/threads_mysql.test | 2 mariadb-11.8.6/mysql-test/suite/perfschema/t/user_var_func.test | 10 mariadb-11.8.6/mysql-test/suite/period/r/long_unique.result | 6 mariadb-11.8.6/mysql-test/suite/period/t/long_unique.test | 7 mariadb-11.8.6/mysql-test/suite/plugins/r/auth_ed25519.result | 4 mariadb-11.8.6/mysql-test/suite/plugins/r/mdev38431.result | 35 mariadb-11.8.6/mysql-test/suite/plugins/r/server_audit.result | 76 mariadb-11.8.6/mysql-test/suite/plugins/r/server_audit_query_id.result | 69 mariadb-11.8.6/mysql-test/suite/plugins/r/thread_pool_server_audit.result | 2 mariadb-11.8.6/mysql-test/suite/plugins/t/auth_ed25519.test | 3 mariadb-11.8.6/mysql-test/suite/plugins/t/mdev38431.test | 59 mariadb-11.8.6/mysql-test/suite/plugins/t/normalize_query_id.pl | 25 mariadb-11.8.6/mysql-test/suite/plugins/t/server_audit.test | 41 mariadb-11.8.6/mysql-test/suite/plugins/t/server_audit_query_id.opt | 5 mariadb-11.8.6/mysql-test/suite/plugins/t/server_audit_query_id.test | 89 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_autocommit_off.result | 16 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_create_select_row.result | 1 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_do_grant.result | 68 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_foreign_key_ddl_insert.result | 105 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_grant.result | 29 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_heartbeat_at_rotate.result | 38 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_is_slave_status.result | 41 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result | 116 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_multi_delete_join.result | 60 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result | 116 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result | 136 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_parallel_backup_worker_retry.result | 49 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_repair.result | 19 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_retry_count_reconnect_continuously.result | 26 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_retry_count_reconnect_limit_times.result | 25 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_row_binlog_tmp_file_flush_enospc.result | 39 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_row_foreign_key_mdl.result | 68 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_row_minimal_mdev31678.result | 17 mariadb-11.8.6/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result | 136 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_autocommit_off.cnf | 4 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_autocommit_off.test | 27 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_do_grant.test | 15 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_grant.test | 43 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_heartbeat_at_rotate.test | 75 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_is_slave_status.test | 79 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_multi_delete_join.test | 46 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_parallel_backup_worker_retry.test | 99 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_repair.test | 31 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_retry_count.inc | 88 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_retry_count_reconnect_continuously.cnf | 4 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_retry_count_reconnect_continuously.test | 9 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_retry_count_reconnect_limit_times.cnf | 4 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_retry_count_reconnect_limit_times.test | 9 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_row_binlog_tmp_file_flush_enospc.test | 64 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_row_foreign_key_mdl.inc | 39 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_row_foreign_key_mdl.test | 55 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_row_minimal_mdev31678.test | 23 mariadb-11.8.6/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_await_ack.test | 2 mariadb-11.8.6/mysql-test/suite/s3/mysqldump.result | 5 mariadb-11.8.6/mysql-test/suite/sql_sequence/default.result | 33 mariadb-11.8.6/mysql-test/suite/sql_sequence/default.test | 23 mariadb-11.8.6/mysql-test/suite/sql_sequence/next.result | 66 mariadb-11.8.6/mysql-test/suite/sql_sequence/next.test | 44 mariadb-11.8.6/mysql-test/suite/sql_sequence/other.result | 31 mariadb-11.8.6/mysql-test/suite/sql_sequence/other.test | 39 mariadb-11.8.6/mysql-test/suite/sys_vars/r/alter_algorithm_basic.result | 4 mariadb-11.8.6/mysql-test/suite/sys_vars/r/innodb_purge_rseg_truncate_frequency_basic.result | 22 mariadb-11.8.6/mysql-test/suite/sys_vars/r/innodb_trx_rseg_n_slots_debug_basic.result | 65 mariadb-11.8.6/mysql-test/suite/sys_vars/r/mdev_15935.result | 8 mariadb-11.8.6/mysql-test/suite/sys_vars/r/new_mode.result | 67 mariadb-11.8.6/mysql-test/suite/sys_vars/r/new_mode_notembedded.result | 2 mariadb-11.8.6/mysql-test/suite/sys_vars/r/slave_parallel_threads_basic.result | 8 mariadb-11.8.6/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff | 79 mariadb-11.8.6/mysql-test/suite/sys_vars/r/sysvars_innodb.result | 26 mariadb-11.8.6/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result | 12 mariadb-11.8.6/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result | 12 mariadb-11.8.6/mysql-test/suite/sys_vars/r/thread_cache_size_func.result | 17 mariadb-11.8.6/mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test | 59 mariadb-11.8.6/mysql-test/suite/sys_vars/t/mdev_15935.test | 2 mariadb-11.8.6/mysql-test/suite/sys_vars/t/new_mode.test | 53 mariadb-11.8.6/mysql-test/suite/sys_vars/t/new_mode_notembedded.opt | 1 mariadb-11.8.6/mysql-test/suite/sys_vars/t/new_mode_notembedded.test | 7 mariadb-11.8.6/mysql-test/suite/sys_vars/t/slave_parallel_threads_basic.test | 4 mariadb-11.8.6/mysql-test/suite/sys_vars/t/thread_cache_size_func.test | 10 mariadb-11.8.6/mysql-test/suite/sysschema/r/pr_ps_setup_save.result | 12 mariadb-11.8.6/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled.result | 3 mariadb-11.8.6/mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_schema.result | 12 mariadb-11.8.6/mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_table.result | 12 mariadb-11.8.6/mysql-test/suite/sysschema/t/pr_ps_setup_save.test | 14 mariadb-11.8.6/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled.test | 3 mariadb-11.8.6/mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_schema.test | 21 mariadb-11.8.6/mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_table.test | 21 mariadb-11.8.6/mysql-test/suite/vcol/r/vcol_keys_myisam.result | 4 mariadb-11.8.6/mysql-test/suite/versioning/common.inc | 11 mariadb-11.8.6/mysql-test/suite/versioning/r/misc.result | 24 mariadb-11.8.6/mysql-test/suite/versioning/r/partition.result | 118 mariadb-11.8.6/mysql-test/suite/versioning/r/replace,trx_id.rdiff | 19 mariadb-11.8.6/mysql-test/suite/versioning/r/replace.result | 61 mariadb-11.8.6/mysql-test/suite/versioning/t/insert2.test | 2 mariadb-11.8.6/mysql-test/suite/versioning/t/misc.test | 19 mariadb-11.8.6/mysql-test/suite/versioning/t/partition.test | 89 mariadb-11.8.6/mysql-test/suite/versioning/t/replace.test | 61 mariadb-11.8.6/mysql-test/suite/wsrep/r/variables.result | 1 mariadb-11.8.6/mysql-test/suite/wsrep/r/variables_debug.result | 2 mariadb-11.8.6/mysql-test/suite/wsrep/r/wsrep_off.result | 3 mariadb-11.8.6/mysql-test/suite/wsrep/r/wsrep_protocol_versions.result | 2 mariadb-11.8.6/mysql-test/suite/wsrep/r/wsrep_provider_plugin_defaults.result | 32 mariadb-11.8.6/mysql-test/suite/wsrep/r/wsrep_variables_wsrep_off.result | 13 mariadb-11.8.6/mysql-test/suite/wsrep/t/variables.test | 2 mariadb-11.8.6/mysql-test/suite/wsrep/t/variables_debug.test | 3 mariadb-11.8.6/mysql-test/suite/wsrep/t/wsrep_protocol_versions.test | 2 mariadb-11.8.6/mysql-test/suite/wsrep/t/wsrep_provider_plugin_defaults.test | 2 mariadb-11.8.6/mysql-test/suite/wsrep/t/wsrep_variables_wsrep_off.test | 7 mariadb-11.8.6/mysys/CMakeLists.txt | 14 mariadb-11.8.6/mysys/crc32/crc32_arm64.c | 38 mariadb-11.8.6/mysys/crc32/crc32c_x86.cc | 8 mariadb-11.8.6/mysys/mf_iocache.c | 29 mariadb-11.8.6/mysys/mf_keycache.c | 3 mariadb-11.8.6/mysys/my_bitmap.c | 11 mariadb-11.8.6/mysys/my_default.c | 17 mariadb-11.8.6/mysys/my_error.c | 9 mariadb-11.8.6/mysys/my_getopt.c | 45 mariadb-11.8.6/mysys/my_malloc.c | 13 mariadb-11.8.6/mysys/my_once.c | 4 mariadb-11.8.6/mysys/my_static.c | 1 mariadb-11.8.6/mysys/my_static.h | 1 mariadb-11.8.6/mysys/my_write.c | 1 mariadb-11.8.6/mysys/psi_noop.c | 2 mariadb-11.8.6/mysys/safemalloc.c | 11 mariadb-11.8.6/plugin/auth_mysql_sha2/CMakeLists.txt | 10 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/fini.inc | 3 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/init.inc | 21 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/init.opt | 3 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/socket.opt | 1 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/socket.result | 39 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/socket.test | 27 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/ssl_auto.opt | 3 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/ssl_auto.result | 29 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/ssl_auto.test | 27 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/ssl_manual.result | 39 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/ssl_manual.test | 21 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/suite.pm | 5 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/tcp_nossl.result | 159 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql-test/mysql_sha2/tcp_nossl.test | 96 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql_sha2.c | 256 mariadb-11.8.6/plugin/auth_mysql_sha2/mysql_sha2.h | 41 mariadb-11.8.6/plugin/auth_mysql_sha2/openssl1-compat.c | 39 mariadb-11.8.6/plugin/auth_mysql_sha2/sha256crypt.c | 132 mariadb-11.8.6/plugin/auth_mysql_sha2/ssl_stuff.c | 126 mariadb-11.8.6/plugin/func_test/plugin.cc | 8 mariadb-11.8.6/plugin/hashicorp_key_management/hashicorp_key_management_plugin.cc | 28 mariadb-11.8.6/plugin/hashicorp_key_management/mysql-test/vault/r/hashicorp_cache_timeout_update.result | 4 mariadb-11.8.6/plugin/hashicorp_key_management/mysql-test/vault/r/hashicorp_encode.result | 6 mariadb-11.8.6/plugin/hashicorp_key_management/mysql-test/vault/r/hashicorp_key_rotation_age.result | 4 mariadb-11.8.6/plugin/query_response_time/mysql-test/query_response_time/query_cache.result | 22 mariadb-11.8.6/plugin/query_response_time/mysql-test/query_response_time/query_cache.test | 23 mariadb-11.8.6/plugin/query_response_time/mysql-test/query_response_time/query_response_time-rw.result | 20 mariadb-11.8.6/plugin/query_response_time/plugin.cc | 1 mariadb-11.8.6/plugin/server_audit/server_audit.c | 469 mariadb-11.8.6/plugin/type_inet/item_inetfunc.h | 16 mariadb-11.8.6/plugin/type_inet/mysql-test/type_inet/type_inet4_plugin.result | 4 mariadb-11.8.6/plugin/type_inet/plugin.cc | 4 mariadb-11.8.6/plugin/type_uuid/item_uuidfunc.h | 8 mariadb-11.8.6/plugin/type_uuid/mysql-test/type_uuid/func_uuid_v4_plugin.result | 4 mariadb-11.8.6/plugin/type_uuid/mysql-test/type_uuid/func_uuid_v7_plugin.result | 4 mariadb-11.8.6/plugin/type_uuid/plugin.cc | 8 mariadb-11.8.6/scripts/CMakeLists.txt | 2 mariadb-11.8.6/scripts/galera_new_cluster.sh | 4 mariadb-11.8.6/scripts/mysql_secure_installation.sh | 10 mariadb-11.8.6/scripts/mytop.sh | 10 mariadb-11.8.6/scripts/sys_schema/procedures/ps_setup_save.sql | 12 mariadb-11.8.6/scripts/sys_schema/views/i_s/innodb_buffer_stats_by_schema.sql | 5 mariadb-11.8.6/scripts/sys_schema/views/i_s/innodb_buffer_stats_by_table.sql | 6 mariadb-11.8.6/scripts/sys_schema/views/i_s/x_innodb_buffer_stats_by_table.sql | 2 mariadb-11.8.6/scripts/wsrep_sst_common.sh | 17 mariadb-11.8.6/scripts/wsrep_sst_rsync.sh | 9 mariadb-11.8.6/sql-common/client.c | 1 mariadb-11.8.6/sql-common/my_time.c | 26 mariadb-11.8.6/sql/CMakeLists.txt | 13 mariadb-11.8.6/sql/ddl_log.cc | 2 mariadb-11.8.6/sql/debug_sync.cc | 4 mariadb-11.8.6/sql/event_data_objects.cc | 28 mariadb-11.8.6/sql/event_queue.cc | 9 mariadb-11.8.6/sql/event_scheduler.cc | 34 mariadb-11.8.6/sql/field.cc | 22 mariadb-11.8.6/sql/field.h | 34 mariadb-11.8.6/sql/field_conv.cc | 2 mariadb-11.8.6/sql/filesort.cc | 4 mariadb-11.8.6/sql/gcalc_tools.cc | 1 mariadb-11.8.6/sql/ha_partition.cc | 85 mariadb-11.8.6/sql/ha_partition.h | 17 mariadb-11.8.6/sql/ha_sequence.cc | 8 mariadb-11.8.6/sql/handle_connections_win.cc | 2 mariadb-11.8.6/sql/handler.cc | 116 mariadb-11.8.6/sql/handler.h | 14 mariadb-11.8.6/sql/item.cc | 229 mariadb-11.8.6/sql/item.h | 489 mariadb-11.8.6/sql/item_cmpfunc.cc | 34 mariadb-11.8.6/sql/item_cmpfunc.h | 208 mariadb-11.8.6/sql/item_func.cc | 41 mariadb-11.8.6/sql/item_func.h | 351 mariadb-11.8.6/sql/item_geofunc.cc | 68 mariadb-11.8.6/sql/item_geofunc.h | 170 mariadb-11.8.6/sql/item_jsonfunc.cc | 116 mariadb-11.8.6/sql/item_jsonfunc.h | 137 mariadb-11.8.6/sql/item_row.cc | 6 mariadb-11.8.6/sql/item_row.h | 6 mariadb-11.8.6/sql/item_strfunc.cc | 76 mariadb-11.8.6/sql/item_strfunc.h | 369 mariadb-11.8.6/sql/item_subselect.cc | 18 mariadb-11.8.6/sql/item_subselect.h | 7 mariadb-11.8.6/sql/item_sum.cc | 17 mariadb-11.8.6/sql/item_sum.h | 112 mariadb-11.8.6/sql/item_timefunc.cc | 18 mariadb-11.8.6/sql/item_timefunc.h | 277 mariadb-11.8.6/sql/item_vectorfunc.h | 6 mariadb-11.8.6/sql/item_vers.h | 18 mariadb-11.8.6/sql/item_windowfunc.h | 50 mariadb-11.8.6/sql/item_xmlfunc.cc | 51 mariadb-11.8.6/sql/item_xmlfunc.h | 10 mariadb-11.8.6/sql/json_schema.h | 5 mariadb-11.8.6/sql/json_schema_helper.cc | 2 mariadb-11.8.6/sql/json_table.cc | 7 mariadb-11.8.6/sql/json_table.h | 1 mariadb-11.8.6/sql/log.cc | 222 mariadb-11.8.6/sql/log.h | 10 mariadb-11.8.6/sql/log_cache.h | 9 mariadb-11.8.6/sql/log_event.cc | 2 mariadb-11.8.6/sql/log_event.h | 19 mariadb-11.8.6/sql/log_event_server.cc | 355 mariadb-11.8.6/sql/mdl.cc | 2 mariadb-11.8.6/sql/mdl.h | 6 mariadb-11.8.6/sql/multi_range_read.cc | 24 mariadb-11.8.6/sql/mysqld.cc | 34 mariadb-11.8.6/sql/mysqld.h | 2 mariadb-11.8.6/sql/opt_range.cc | 118 mariadb-11.8.6/sql/opt_range.h | 14 mariadb-11.8.6/sql/opt_rewrite_remove_casefold.cc | 2 mariadb-11.8.6/sql/opt_split.cc | 16 mariadb-11.8.6/sql/opt_subselect.cc | 46 mariadb-11.8.6/sql/opt_subselect.h | 2 mariadb-11.8.6/sql/opt_sum.cc | 2 mariadb-11.8.6/sql/opt_table_elimination.cc | 4 mariadb-11.8.6/sql/parse_file.cc | 2 mariadb-11.8.6/sql/partition_info.cc | 7 mariadb-11.8.6/sql/procedure.h | 16 mariadb-11.8.6/sql/records.cc | 23 mariadb-11.8.6/sql/rowid_filter.cc | 2 mariadb-11.8.6/sql/rowid_filter.h | 4 mariadb-11.8.6/sql/rpl_filter.cc | 2 mariadb-11.8.6/sql/rpl_gtid.cc | 16 mariadb-11.8.6/sql/rpl_injector.cc | 2 mariadb-11.8.6/sql/rpl_record.cc | 4 mariadb-11.8.6/sql/rpl_rli.cc | 2 mariadb-11.8.6/sql/rpl_rli.h | 2 mariadb-11.8.6/sql/service_wsrep.cc | 5 mariadb-11.8.6/sql/set_var.cc | 26 mariadb-11.8.6/sql/set_var.h | 2 mariadb-11.8.6/sql/share/errmsg-utf8.txt | 8 mariadb-11.8.6/sql/slave.cc | 40 mariadb-11.8.6/sql/sp.cc | 6 mariadb-11.8.6/sql/sp_cache.cc | 10 mariadb-11.8.6/sql/sp_cache.h | 2 mariadb-11.8.6/sql/sp_head.cc | 6 mariadb-11.8.6/sql/sp_instr.h | 8 mariadb-11.8.6/sql/sp_pcontext.h | 2 mariadb-11.8.6/sql/spatial.h | 13 mariadb-11.8.6/sql/sql_acl.cc | 128 mariadb-11.8.6/sql/sql_acl_getsort.inl | 2 mariadb-11.8.6/sql/sql_admin.cc | 12 mariadb-11.8.6/sql/sql_audit.h | 2 mariadb-11.8.6/sql/sql_base.cc | 98 mariadb-11.8.6/sql/sql_basic_types.h | 2 mariadb-11.8.6/sql/sql_bitmap.h | 2 mariadb-11.8.6/sql/sql_class.cc | 67 mariadb-11.8.6/sql/sql_class.h | 190 mariadb-11.8.6/sql/sql_cmd.h | 134 mariadb-11.8.6/sql/sql_command.h | 113 mariadb-11.8.6/sql/sql_connect.cc | 157 mariadb-11.8.6/sql/sql_const.h | 9 mariadb-11.8.6/sql/sql_cte.cc | 22 mariadb-11.8.6/sql/sql_cte.h | 4 mariadb-11.8.6/sql/sql_delete.cc | 131 mariadb-11.8.6/sql/sql_derived.cc | 48 mariadb-11.8.6/sql/sql_error.cc | 3 mariadb-11.8.6/sql/sql_explain.cc | 4 mariadb-11.8.6/sql/sql_explain.h | 1 mariadb-11.8.6/sql/sql_expression_cache.cc | 2 mariadb-11.8.6/sql/sql_insert.cc | 1080 mariadb-11.8.6/sql/sql_insert.h | 93 mariadb-11.8.6/sql/sql_join_cache.cc | 38 mariadb-11.8.6/sql/sql_join_cache.h | 6 mariadb-11.8.6/sql/sql_lex.cc | 151 mariadb-11.8.6/sql/sql_lex.h | 91 mariadb-11.8.6/sql/sql_list.h | 2 mariadb-11.8.6/sql/sql_load.cc | 29 mariadb-11.8.6/sql/sql_locale.cc | 40 mariadb-11.8.6/sql/sql_parse.cc | 166 mariadb-11.8.6/sql/sql_parse.h | 14 mariadb-11.8.6/sql/sql_partition.cc | 71 mariadb-11.8.6/sql/sql_partition_admin.cc | 2 mariadb-11.8.6/sql/sql_plist.h | 2 mariadb-11.8.6/sql/sql_plugin.cc | 73 mariadb-11.8.6/sql/sql_prepare.cc | 15 mariadb-11.8.6/sql/sql_reload.cc | 7 mariadb-11.8.6/sql/sql_rename.cc | 17 mariadb-11.8.6/sql/sql_select.cc | 318 mariadb-11.8.6/sql/sql_select.h | 6 mariadb-11.8.6/sql/sql_sequence.h | 2 mariadb-11.8.6/sql/sql_servers.cc | 160 mariadb-11.8.6/sql/sql_show.cc | 127 mariadb-11.8.6/sql/sql_sort.h | 2 mariadb-11.8.6/sql/sql_statistics.cc | 41 mariadb-11.8.6/sql/sql_statistics.h | 18 mariadb-11.8.6/sql/sql_string.h | 42 mariadb-11.8.6/sql/sql_table.cc | 53 mariadb-11.8.6/sql/sql_time.cc | 2 mariadb-11.8.6/sql/sql_trigger.cc | 21 mariadb-11.8.6/sql/sql_tvc.cc | 6 mariadb-11.8.6/sql/sql_type.cc | 39 mariadb-11.8.6/sql/sql_type.h | 10 mariadb-11.8.6/sql/sql_type_fixedbin.h | 33 mariadb-11.8.6/sql/sql_type_geom.cc | 21 mariadb-11.8.6/sql/sql_union.cc | 68 mariadb-11.8.6/sql/sql_update.cc | 33 mariadb-11.8.6/sql/sql_view.cc | 6 mariadb-11.8.6/sql/sql_window.cc | 20 mariadb-11.8.6/sql/sql_yacc.yy | 69 mariadb-11.8.6/sql/structs.h | 18 mariadb-11.8.6/sql/sys_vars.cc | 76 mariadb-11.8.6/sql/sys_vars.inl | 33 mariadb-11.8.6/sql/table.cc | 143 mariadb-11.8.6/sql/table.h | 83 mariadb-11.8.6/sql/temporary_tables.cc | 2 mariadb-11.8.6/sql/threadpool_winsockets.cc | 2 mariadb-11.8.6/sql/tztime.cc | 2 mariadb-11.8.6/sql/unireg.cc | 2 mariadb-11.8.6/sql/wsrep_allowlist_service.cc | 25 mariadb-11.8.6/sql/wsrep_applier.cc | 140 mariadb-11.8.6/sql/wsrep_binlog.cc | 8 mariadb-11.8.6/sql/wsrep_binlog.h | 2 mariadb-11.8.6/sql/wsrep_client_service.cc | 10 mariadb-11.8.6/sql/wsrep_high_priority_service.cc | 4 mariadb-11.8.6/sql/wsrep_mysqld.cc | 260 mariadb-11.8.6/sql/wsrep_mysqld.h | 4 mariadb-11.8.6/sql/wsrep_plugin.cc | 4 mariadb-11.8.6/sql/wsrep_schema.cc | 58 mariadb-11.8.6/sql/wsrep_schema.h | 1 mariadb-11.8.6/sql/wsrep_server_service.cc | 45 mariadb-11.8.6/sql/wsrep_storage_service.cc | 5 mariadb-11.8.6/sql/wsrep_thd.cc | 4 mariadb-11.8.6/sql/wsrep_thd.h | 15 mariadb-11.8.6/sql/wsrep_utils.cc | 2 mariadb-11.8.6/sql/wsrep_var.cc | 145 mariadb-11.8.6/sql/wsrep_var.h | 3 mariadb-11.8.6/sql/wsrep_xid.cc | 12 mariadb-11.8.6/sql/yy_mariadb.cc |41451 ++++----- mariadb-11.8.6/sql/yy_mariadb.hh | 10 mariadb-11.8.6/sql/yy_oracle.cc |41837 ++++----- mariadb-11.8.6/sql/yy_oracle.hh | 10 mariadb-11.8.6/storage/columnstore/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/.drone.jsonnet | 362 mariadb-11.8.6/storage/columnstore/columnstore/.gitignore | 1 mariadb-11.8.6/storage/columnstore/columnstore/BUILD.md | 25 mariadb-11.8.6/storage/columnstore/columnstore/CMakeLists.txt | 14 mariadb-11.8.6/storage/columnstore/columnstore/DEVELOPING.md | 18 mariadb-11.8.6/storage/columnstore/columnstore/VERSION | 4 mariadb-11.8.6/storage/columnstore/columnstore/build/asan_options.cpp.in | 4 mariadb-11.8.6/storage/columnstore/columnstore/build/bootstrap_mcs.sh | 145 mariadb-11.8.6/storage/columnstore/columnstore/build/build_cmapi.sh | 26 mariadb-11.8.6/storage/columnstore/columnstore/build/clone_docker_repo.sh | 40 mariadb-11.8.6/storage/columnstore/columnstore/build/createrepo.sh | 9 mariadb-11.8.6/storage/columnstore/columnstore/build/monitor_memory.sh | 65 mariadb-11.8.6/storage/columnstore/columnstore/build/postInstall_storage_engine.sh | 16 mariadb-11.8.6/storage/columnstore/columnstore/build/preUn_storage_engine.sh | 7 mariadb-11.8.6/storage/columnstore/columnstore/build/prepare_test_container.sh | 149 mariadb-11.8.6/storage/columnstore/columnstore/build/report_test_stage.sh | 17 mariadb-11.8.6/storage/columnstore/columnstore/build/run_mtr.sh | 77 mariadb-11.8.6/storage/columnstore/columnstore/build/run_multi_node_mtr.sh | 67 mariadb-11.8.6/storage/columnstore/columnstore/build/run_regression.sh | 47 mariadb-11.8.6/storage/columnstore/columnstore/build/run_regression_locally.sh | 105 mariadb-11.8.6/storage/columnstore/columnstore/build/security/columnstore.te | 55 mariadb-11.8.6/storage/columnstore/columnstore/build/utils.sh | 59 mariadb-11.8.6/storage/columnstore/columnstore/cmake-format.py | 2 mariadb-11.8.6/storage/columnstore/columnstore/cmake/ColumnstoreLibrary.cmake | 68 mariadb-11.8.6/storage/columnstore/columnstore/cmake/boost.cmake | 44 mariadb-11.8.6/storage/columnstore/columnstore/cmake/compiler_flags.cmake | 12 mariadb-11.8.6/storage/columnstore/columnstore/cmake/cpack_manage.cmake | 53 mariadb-11.8.6/storage/columnstore/columnstore/cmake/cpack_overrides.cmake | 31 mariadb-11.8.6/storage/columnstore/columnstore/cmake/selinux_policy.cmake | 65 mariadb-11.8.6/storage/columnstore/columnstore/cmake/thrift.cmake | 20 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/.gitignore | 15 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/CMakeLists.txt | 56 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/README.md | 4 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/VERSION.template | 1 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmake/cmapi_misc.cmake | 163 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/SingleNode.xml | 1 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/__main__.py | 48 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/cmapi_logger.conf | 50 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/constants.py | 115 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/controllers/api_clients.py | 502 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/controllers/dispatcher.py | 264 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/controllers/endpoints.py | 978 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/controllers/request_models.py | 65 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/exceptions.py | 63 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/failover_agent.py | 2 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/handlers/cluster.py | 230 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/helpers.py | 176 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/invariant_checks.py | 152 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/logging_management.py | 48 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/application.py | 319 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/backup_restore.py | 115 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/network.py | 78 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/process.py | 192 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/transaction.py | 12 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/upgrade/packages.py | 144 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/upgrade/preinstall.py | 54 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/upgrade/repo.py | 287 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/upgrade/upgrade.py | 26 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/managers/upgrade/utils.py | 44 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/node_manipulation.py | 504 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/process_dispatchers/container.py | 17 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/process_dispatchers/locks.py | 154 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/process_dispatchers/systemd.py | 1 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/CS-config-test.xml | 1 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/Columnstore_apply_config.xml | 1 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/config_apply_example.py | 4 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/mock_resolution.py | 180 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/test_cluster.py | 15 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/test_cmapi_config_endpoint.py | 62 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/test_em_endpoints.py | 32 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/test_failover_agent.py | 189 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/test_mcs_process_operations.py | 4 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/test_node_manip.py | 473 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/test_server.py | 109 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/test_shmem_locks_parsing.py | 101 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/cmapi_server/test/unittest_global.py | 45 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/dev_tools/piptools.sh | 70 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/failover/agent_comm.py | 7 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/failover/config.py | 35 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/failover/node_monitor.py | 18 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/failover/shared_storage_monitor.py | 202 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/failover/test/test_agent_comm.py | 79 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/failover/test/test_shared_storage_monitor.py | 90 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/README.md | 82 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/cluster_mgmt.py | 41 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/conftest.py | 184 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/integration_tests.yml | 20 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/ssh.py | 122 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/state.py | 24 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/test_add_node.py | 60 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/test_remove_node.py | 42 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/integration_tests/utils.py | 36 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/README.md | 150 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/README_DEV.md | 2 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/__main__.py | 14 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/backup_commands.py | 56 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/cluster_app.py | 114 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/cmapi_app.py | 49 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/constants.py | 5 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/decorators.py | 6 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/mcs.1 | 196 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/mcs_cli_log.conf | 1 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/restore_commands.py | 2 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_cluster_tool/tools_commands.py | 609 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_node_control/models/node_config.py | 96 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_node_control/test/Columnstore_new.xml | 1 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/mcs_node_control/test/Columnstore_old.xml | 1 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/pyproject.toml | 33 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/requirements-dev.in | 8 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/requirements-dev.txt | 69 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/requirements.in | 23 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/requirements.txt | 239 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/scripts/cs_package_manager.sh | 653 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/scripts/mcs_backup_manager.sh | 319 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/scripts/trace_to_plantuml.py | 773 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/service.template | 2 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/__init__.py | 49 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/backend.py | 37 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/sentry.py | 76 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/sentry_backend.py | 109 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/span.py | 54 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/trace_tool.py | 107 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/traced_aiohttp.py | 69 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/traced_session.py | 66 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/traceparent_backend.py | 48 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/tracer.py | 160 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/tracing/utils.py | 52 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/updater/cmapi_updater.service.template | 9 mariadb-11.8.6/storage/columnstore/columnstore/cmapi/updater/cmapi_updater.sh | 31 mariadb-11.8.6/storage/columnstore/columnstore/core_dumps/check_sanitizer_reports.sh | 44 mariadb-11.8.6/storage/columnstore/columnstore/core_dumps/core_dump_format.sh | 6 mariadb-11.8.6/storage/columnstore/columnstore/core_dumps/docker-awaiter.sh | 45 mariadb-11.8.6/storage/columnstore/columnstore/datatypes/mcs_datatype.cpp | 32 mariadb-11.8.6/storage/columnstore/columnstore/datatypes/mcs_datatype.h | 204 mariadb-11.8.6/storage/columnstore/columnstore/datatypes/mcs_string.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/datatypes/unordered.h | 23 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/CMakeLists.txt | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackage/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackage/ddl.l | 1 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackage/ddl.y | 30 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackage/ddlpkg.h | 6 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackage/serialize.cpp | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackage/sqlparser.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackageproc/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackageproc/altertableprocessor.cpp | 31 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackageproc/createtableprocessor.cpp | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackageproc/ddlindexpopulator.cpp | 5 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackageproc/ddlpackageprocessor.cpp | 19 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/ddlpackageproc/droptableprocessor.cpp | 15 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackage/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackage/deletedmlpackage.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackage/updatedmlpackage.cpp | 12 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackageproc/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackageproc/commandpackageprocessor.cpp | 9 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackageproc/deletepackageprocessor.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackageproc/dmlpackageprocessor.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackageproc/dmlpackageprocessor.h | 6 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackageproc/insertpackageprocessor.cpp | 3 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/dmlpackageproc/updatepackageprocessor.cpp | 8 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/CMakeLists.txt | 10 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/aggregatecolumn.cpp | 91 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/aggregatecolumn.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/arithmeticcolumn.cpp | 24 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/arithmeticcolumn.h | 8 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/arithmeticoperator.h | 6 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/calpontselectexecutionplan.cpp | 360 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/calpontselectexecutionplan.h | 52 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/calpontsystemcatalog.cpp | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/calpontsystemcatalog.h | 34 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/clientrotator.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/constantfilter.cpp | 23 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/constantfilter.h | 5 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/filter.cpp | 11 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/filter.h | 11 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/functioncolumn.cpp | 42 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/functioncolumn.h | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/groupconcatcolumn.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/objectidmanager.cpp | 5 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/outerjoinonfilter.cpp | 11 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/outerjoinonfilter.h | 5 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/parsetree.h | 5 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/predicateoperator.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/pseudocolumn.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/returnedcolumn.cpp | 6 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/returnedcolumn.h | 18 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/selectfilter.cpp | 32 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/selectfilter.h | 8 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/simplecolumn.cpp | 158 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/simplecolumn.h | 18 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/simplefilter.cpp | 101 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/simplefilter.h | 9 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/simplescalarfilter.cpp | 25 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/simplescalarfilter.h | 5 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/execplan/treenode.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/CMakeLists.txt | 10 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/batchprimitiveprocessor-jl.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/diskjoinstep.cpp | 14 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/diskjoinstep.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/distributedenginecomm.cpp | 44 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/distributedenginecomm.h | 11 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/fifo.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/groupconcat.h | 17 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/jlf_common.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/jlf_subquery.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/jlf_tuplejoblist.cpp | 196 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/jlf_tuplejoblist.h | 5 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/joblist.cpp | 10 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/joblist.h | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/joblistfactory.cpp | 160 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/jobstep.cpp | 41 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/jobstep.h | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/largehashjoin.h | 25 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/lbidlist.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/pdictionaryscan.cpp | 15 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/primitivestep.h | 34 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/resourcemanager.cpp | 8 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/resourcemanager.h | 10 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/threadsafequeue.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/tuple-bps.cpp | 104 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/tupleaggregatestep.cpp | 52 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/tuplehashjoin.cpp | 89 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/tuplehashjoin.h | 12 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/tupleunion.cpp | 51 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/tupleunion.h | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/joblist/windowfunctionstep.cpp | 7 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/CMakeLists.txt | 8 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_exists_sub.cpp | 3 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_from_sub.cpp | 214 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_in_sub.cpp | 8 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs.cpp | 16 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs.h | 10 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_client_udfs.cpp | 86 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_ddl.cpp | 68 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_dml.cpp | 6 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_execplan.cpp | 587 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_execplan_helpers.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_execplan_walks.cpp | 58 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_impl.cpp | 131 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_impl.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_impl_if.h | 309 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_partition.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_pushdown.cpp | 17 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_sysvars.cpp | 165 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_sysvars.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_mcs_udf.cpp | 3 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_pseudocolumn.cpp | 4 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_scalar_sub.cpp | 8 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_select_sub.cpp | 6 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_view.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/ha_window_function.cpp | 26 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/idb_mysql.h | 17 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/install_mcs_mysql.sh.in | 13 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/is_columnstore_columns.cpp | 21 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/is_columnstore_files.cpp | 5 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/rbo_apply_parallel_ces.cpp | 260 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/rbo_apply_parallel_ces.h | 30 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/rulebased_optimizer.cpp | 117 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/mysql/rulebased_optimizer.h | 73 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/CMakeLists.txt | 10 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/rbo_apply_parallel_ces.cpp | 718 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/rbo_apply_parallel_ces.h | 98 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/rbo_apply_rewrite_distinct.cpp | 180 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/rbo_apply_rewrite_distinct.h | 31 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/rbo_predicate_pushdown.cpp | 245 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/rbo_predicate_pushdown.h | 30 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/rulebased_optimizer.cpp | 170 mariadb-11.8.6/storage/columnstore/columnstore/dbcon/rbo/rulebased_optimizer.h | 148 mariadb-11.8.6/storage/columnstore/columnstore/ddlproc/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/debian/mariadb-plugin-columnstore.install | 2 mariadb-11.8.6/storage/columnstore/columnstore/dmlproc/CMakeLists.txt | 1 mariadb-11.8.6/storage/columnstore/columnstore/dmlproc/batchinsertprocessor.cpp | 13 mariadb-11.8.6/storage/columnstore/columnstore/dmlproc/batchinsertprocessor.h | 1 mariadb-11.8.6/storage/columnstore/columnstore/dmlproc/dmlproc.cpp | 3 mariadb-11.8.6/storage/columnstore/columnstore/dmlproc/dmlprocessor.cpp | 268 mariadb-11.8.6/storage/columnstore/columnstore/dmlproc/dmlprocessor.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/docs/QueryAccelerator.md | 36 mariadb-11.8.6/storage/columnstore/columnstore/install-deps.sh | 59 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs4010_autopilot_cross_engine_join.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs4506_datatypecasting_BIGINT_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs4947_datatypecasting_DATE_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5002_datatypecasting_DECIMAL10_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5042_datatypecasting_DECIMAL18_2_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5083_datatypecasting_DECIMAL18_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5125_datatypecasting_DECIMAL1_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5151_datatypecasting_DECIMAL4_2_DECIMAL10.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5167_datatypecasting_DECIMAL4_2_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5209_datatypecasting_DECIMAL4_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5251_datatypecasting_DECIMAL5_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5293_datatypecasting_DECIMAL9_2_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5335_datatypecasting_DECIMAL9_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5454_datatypecasting_INTEGER_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5495_datatypecasting_LONGTEXT_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5535_datatypecasting_MEDIUMINT_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5577_datatypecasting_MEDIUMTEXT_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5619_datatypecasting_SMALLINT_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5661_datatypecasting_TEXT_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5699_datatypecasting_TIMESTAMP_BIGINT.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5700_datatypecasting_TIMESTAMP_CHAR1.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5701_datatypecasting_TIMESTAMP_CHAR255.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5702_datatypecasting_TIMESTAMP_CHAR2.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5703_datatypecasting_TIMESTAMP_CHAR3.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5704_datatypecasting_TIMESTAMP_CHAR4.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5705_datatypecasting_TIMESTAMP_CHAR5.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5706_datatypecasting_TIMESTAMP_CHAR6.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5707_datatypecasting_TIMESTAMP_CHAR7.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5708_datatypecasting_TIMESTAMP_CHAR8.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5709_datatypecasting_TIMESTAMP_CHAR9.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5710_datatypecasting_TIMESTAMP_DATE.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5711_datatypecasting_TIMESTAMP_DECIMAL10.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5712_datatypecasting_TIMESTAMP_DECIMAL18_2.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5713_datatypecasting_TIMESTAMP_DECIMAL18.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5714_datatypecasting_TIMESTAMP_DECIMAL1.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5715_datatypecasting_TIMESTAMP_DECIMAL4_2.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5716_datatypecasting_TIMESTAMP_DECIMAL4.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5717_datatypecasting_TIMESTAMP_DECIMAL5.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5718_datatypecasting_TIMESTAMP_DECIMAL9_2.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5719_datatypecasting_TIMESTAMP_DECIMAL9.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5720_datatypecasting_TIMESTAMP_INTEGER.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5721_datatypecasting_TIMESTAMP_LONGTEXT.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5722_datatypecasting_TIMESTAMP_MEDIUMINT.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5723_datatypecasting_TIMESTAMP_MEDIUMTEXT.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5724_datatypecasting_TIMESTAMP_SMALLINT.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5725_datatypecasting_TIMESTAMP_TEXT.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5726_datatypecasting_TIMESTAMP_TIME.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5727_datatypecasting_TIMESTAMP_TINYINT.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5728_datatypecasting_TIMESTAMP_TINYTEXT.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5729_datatypecasting_TIMESTAMP_VCHAR1.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5730_datatypecasting_TIMESTAMP_VCHAR255.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5731_datatypecasting_TIMESTAMP_VCHAR2.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5732_datatypecasting_TIMESTAMP_VCHAR3.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5733_datatypecasting_TIMESTAMP_VCHAR4.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5734_datatypecasting_TIMESTAMP_VCHAR5.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5735_datatypecasting_TIMESTAMP_VCHAR6.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5736_datatypecasting_TIMESTAMP_VCHAR7.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5737_datatypecasting_TIMESTAMP_VCHAR8.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5739_datatypecasting_TIME_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5781_datatypecasting_TINYINT_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs5823_datatypecasting_TINYTEXT_TIMESTAMP.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/autopilot/t/mcs6523_datatypeupdate_TIMESTAMP_DATETIME.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/disabled.def | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/JSON-type.result | 38 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/MCOL-5250_disk_based_distinct.result | 230 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_char1_latin1_swedish_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_char4_latin1_swedish_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_char5_latin1_swedish_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_latin1_bin.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_latin1_nopad_bin.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_latin1_swedish_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_latin1_swedish_nopad_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_utf8_bin.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_utf8_general_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_utf8_general_nopad_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_utf8_nopad_bin.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_utf8_unicode_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar32_utf8_unicode_nopad_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_latin1_bin.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_latin1_nopad_bin.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_latin1_swedish_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_latin1_swedish_nopad_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_utf8_bin.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_utf8_general_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_utf8_general_nopad_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_utf8_nopad_bin.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_utf8_unicode_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/ctype_cmp_varchar4_utf8_unicode_nopad_ci.result | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_array_append.result | 54 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_array_insert.result | 54 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_contains.result | 55 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_contains_path.result | 41 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_exists.result | 16 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_extract.result | 57 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_insert.result | 37 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_merge_patch.result | 51 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_remove.result | 24 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_valid.result | 98 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_json_value.result | 36 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/func_jsonarrayagg.result | 104 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcol-5963.result | 130 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcol-6218.result | 17 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcol6107-invalid-arguments.result | 35 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcol641-aggregate.result | 36 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcol_2000.result | 50 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcol_4617.result | 14 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs11_show_db_table_11.4.result | 77 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs12_alter_table_11.4.result | 152 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs1_create_table_data_types_11.4.result | 127 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs28_load_data_local_infile.result | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs31_update_table_negative.result | 6 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs34_select_order_by.result | 626 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs37_select_distinct.result | 6 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs59_nonscalar_datatypes.result | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs63_crossengine_views.result | 6 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs65_crossengine_order_by.result | 70 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs85_derived_table.result | 28 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs97_group_concat.result | 22 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mcs9_create_table_negative.result | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/r/mdev-25080.result | 153 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/JSON-type.test | 39 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/MCOL-5056-text-is-not-blob.test | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/MCOL-5250_disk_based_distinct.test | 106 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/MCOL-5886-use-of-partitioned-tables-in-crossengine-steps.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/cal_named_udfs.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/ctype_cmp_create.inc | 7 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_array_append.test | 59 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_array_insert.test | 59 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_contains.test | 60 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_contains_path.test | 46 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_exists.test | 28 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_extract.test | 82 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_insert.test | 41 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_merge_patch.test | 66 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_remove.test | 24 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_valid.test | 105 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_json_value.test | 40 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/func_jsonarrayagg.test | 101 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcol-424.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcol-5005.test | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcol-5963.test | 110 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcol-6218.test | 26 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcol6107-invalid-arguments.test | 63 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcol641-aggregate.test | 24 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcol_2000.test | 18 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcol_4617.test | 16 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs117_create_utf8.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs117_create_utf8_maxscale.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs11_show_db_table.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs11_show_db_table_11.4.test | 80 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs12_alter_table.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs12_alter_table_11.4.test | 108 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs19_grant_revoke.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs1_create_table_data_types.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs1_create_table_data_types_11.4.test | 96 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs247_from_unixtime_funtion.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs247_from_unixtime_funtion2.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs28_load_data_local_infile.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs2_create_table_valid_names.test | 16 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs31_update_table_negative.test | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs34_select_order_by.test | 155 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs37_select_distinct.test | 6 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs44_select_crossengine_join.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs45_write_crossengine_join.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs59_nonscalar_datatypes.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs63_crossengine_views.test | 8 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs64_crossengine_group_by.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs65_crossengine_order_by.test | 52 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs71_crossengine_where_groupby_orderby_limit.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs79_exists.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs80_set_operations.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs85_derived_table.test | 24 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs90_aggregate_functions.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs97_group_concat.test | 8 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mcs9_create_table_negative.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/basic/t/mdev-25080.test | 106 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/MCOL-5987-recycle-oids.result | 10 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/MCOL-5987-recycle-oids.test | 14 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/MCOL-6198-segfault-crossengine-join.result | 17 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/MCOL-6198-segfault-crossengine-join.test | 1234 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/MCOL_5175.test | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/disabled.def | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol-4874.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol-5480.result | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol-5480.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol-5778.result | 16 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol-5778.test | 21 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol-5812.result | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol-5812.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol_4623.result | 34 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcol_4623.test | 45 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcs_calshowpartitions_empty_date.result | 42 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/bugfixes/mcs_calshowpartitions_empty_date.test | 38 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/devregression/suite.opt | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/devregression/suite.pm | 29 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/devregression/t/mcs7134_regression_bug3997.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/devregression/t/mcs7135_regression_bug3998.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/devregression/t/mcs7136_regression_bug4027.test | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/devregression/t/mcs7238_regression_MCOL-830.test | 7 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/query_accelerator.result | 6349 + mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/query_accelerator.test | 528 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/query_accelerator_unsupported_types.test | 95 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces.opt | 3 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces.result | 51 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces.test | 73 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces_tpch_q1.result | 125 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces_tpch_q1.test | 66 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces_tpch_q14.result | 219 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces_tpch_q14.test | 63 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces_tpch_q20.result | 645 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces_tpch_q20.test | 85 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces_using_pk.result | 106 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/rbo_parallel_ces_using_pk.test | 49 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/suite.opt | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/future/suite.pm | 29 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/create_tpch_lineitem.inc | 68 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/create_tpch_nation.inc | 35 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/create_tpch_part.inc | 100 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/create_tpch_partsupp.inc | 281 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/create_tpch_supplier.inc | 76 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/cross_engine.inc | 27 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/disable_11.8.inc | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/disable_before_10.9.inc | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/disable_for_11.4_and_later.inc | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/disable_rbo_parallel_ces.inc | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/drop_cross_engine.inc | 5 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/drop_functions.inc | 1 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/enable_rbo_parallel_ces.inc | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/functions.inc | 2 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/newer_10.10.inc | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/newer_11.2.inc | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/newer_11.4.6.inc | 7 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/older_10.10.inc | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/older_11.2.inc | 4 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/queryaccelerator/createTables.inc | 93 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/queryaccelerator/indices.inc | 13 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/include/queryaccelerator/ldiTables.inc | 12 mariadb-11.8.6/storage/columnstore/columnstore/mysql-test/columnstore/setup/regression_env_setup.test | 2 mariadb-11.8.6/storage/columnstore/columnstore/oam/etc/Columnstore.xml | 9 mariadb-11.8.6/storage/columnstore/columnstore/oam/install_scripts/CMakeLists.txt | 42 mariadb-11.8.6/storage/columnstore/columnstore/oam/install_scripts/mcs-loadbrm.py.in | 81 mariadb-11.8.6/storage/columnstore/columnstore/oam/install_scripts/mcs-loadbrm.service.in | 3 mariadb-11.8.6/storage/columnstore/columnstore/oam/install_scripts/mcs-savebrm.py.in | 182 mariadb-11.8.6/storage/columnstore/columnstore/oam/oamcpp/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/oam/oamcpp/liboamcpp.cpp | 13 mariadb-11.8.6/storage/columnstore/columnstore/oam/oamcpp/liboamcpp.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/oam/oamcpp/oamcache.cpp | 135 mariadb-11.8.6/storage/columnstore/columnstore/oam/oamcpp/oamcache.h | 22 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/CMakeLists.txt | 16 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/alarmReport.sh | 39 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/approximateRowCount.sh | 60 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/bulklogReport.sh | 30 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/columnstoreSupport.cpp | 897 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/configReport.sh | 76 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/dbmsReport.sh | 64 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/getMinMax.sh | 130 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/hardwareReport.sh | 79 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/logReport.sh | 52 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/mcsSupportUtil.cpp | 621 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/mcsSupportUtil.h | 34 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/resourceReport.sh | 66 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/columnstoreSupport/softwareReport.sh | 30 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/replayTransactionLog/CMakeLists.txt | 34 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/replayTransactionLog/replaytransactionlog.cpp | 156 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/replayTransactionLog/tdriver.cpp | 66 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/sessionWalker/CMakeLists.txt | 34 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/sessionWalker/sessionwalker.cpp | 135 mariadb-11.8.6/storage/columnstore/columnstore/oamapps/sessionWalker/tdriver.cpp | 189 mariadb-11.8.6/storage/columnstore/columnstore/primitives/blockcache/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/primitives/blockcache/filebuffermgr.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/primitives/blockcache/iomanager.cpp | 7 mariadb-11.8.6/storage/columnstore/columnstore/primitives/linux-port/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/primitives/linux-port/column.cpp | 1 mariadb-11.8.6/storage/columnstore/columnstore/primitives/linux-port/primitiveprocessor.cpp | 5 mariadb-11.8.6/storage/columnstore/columnstore/primitives/linux-port/primitiveprocessor.h | 18 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/CMakeLists.txt | 13 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/batchprimitiveprocessor.cpp | 38 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/bppseeder.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/bppsendthread.cpp | 62 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/bppsendthread.h | 13 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/columncommand.cpp | 6 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/primitiveserver.cpp | 34 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/primitiveserver.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/primproc.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/samenodepseudosocket.cpp | 127 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/samenodepseudosocket.h | 99 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/serviceexemgr.cpp | 4 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/serviceexemgr.h | 6 mariadb-11.8.6/storage/columnstore/columnstore/primitives/primproc/sqlfrontsessionthread.h | 137 mariadb-11.8.6/storage/columnstore/columnstore/storage-manager/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/storage-manager/src/Ownership.cpp | 18 mariadb-11.8.6/storage/columnstore/columnstore/storage-manager/src/Ownership.h | 5 mariadb-11.8.6/storage/columnstore/columnstore/storage-manager/src/SessionManager.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/tests/CMakeLists.txt | 45 mariadb-11.8.6/storage/columnstore/columnstore/tests/compression-tests.cpp | 4 mariadb-11.8.6/storage/columnstore/columnstore/tests/counting_allocator.cpp | 49 mariadb-11.8.6/storage/columnstore/columnstore/tests/mcs_decimal-tests.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/tests/poolallocator.cpp | 4 mariadb-11.8.6/storage/columnstore/columnstore/tests/rbo_hybrid.cpp | 533 mariadb-11.8.6/storage/columnstore/columnstore/tests/rebuild-em-tests.cpp | 5 mariadb-11.8.6/storage/columnstore/columnstore/tests/rowgroup-tests.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/tests/scripts/fullmtr.sh | 83 mariadb-11.8.6/storage/columnstore/columnstore/tests/scripts/run_mtr.sh | 140 mariadb-11.8.6/storage/columnstore/columnstore/tools/cleartablelock/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/tools/cleartablelock/cleartablelock.cpp | 13 mariadb-11.8.6/storage/columnstore/columnstore/tools/configMgt/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/tools/dbbuilder/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/tools/ddlcleanup/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/tools/editem/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/tools/rgprint/CMakeLists.txt | 9 mariadb-11.8.6/storage/columnstore/columnstore/tools/setConfig/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/CMakeLists.txt | 38 mariadb-11.8.6/storage/columnstore/columnstore/utils/basic/conststring.h | 121 mariadb-11.8.6/storage/columnstore/columnstore/utils/batchloader/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/batchloader/batchloader.cpp | 58 mariadb-11.8.6/storage/columnstore/columnstore/utils/batchloader/batchloader.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/cacheutils/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/cacheutils/cacheutils.cpp | 11 mariadb-11.8.6/storage/columnstore/columnstore/utils/cloudio/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/CMakeLists.txt | 13 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/bit_cast.h | 39 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/branchpred.h | 6 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/collation.h | 283 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/columnwidth.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/conststring.h | 121 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/countingallocator.h | 22 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/genericparser.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/hashfamily.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/nullstring.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/simd_arm.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/statistics.cpp | 605 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/statistics.h | 161 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/stlpoolallocator.h | 10 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/string_prefixes.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/syncstream.h | 157 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/utils_utf8.cpp | 38 mariadb-11.8.6/storage/columnstore/columnstore/utils/common/utils_utf8.h | 8 mariadb-11.8.6/storage/columnstore/columnstore/utils/configcpp/configcpp.cpp | 22 mariadb-11.8.6/storage/columnstore/columnstore/utils/configcpp/configcpp.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/configcpp/writeonce.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/dataconvert/dataconvert.cpp | 33 mariadb-11.8.6/storage/columnstore/columnstore/utils/dataconvert/dataconvert.h | 8 mariadb-11.8.6/storage/columnstore/columnstore/utils/ddlcleanup/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/CMakeLists.txt | 5 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_if.cpp | 54 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_array.cpp | 6 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_array_append.cpp | 10 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_array_insert.cpp | 35 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_contains.cpp | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_contains_path.cpp | 19 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_depth.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_equals.cpp | 9 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_exists.cpp | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_extract.cpp | 26 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_format.cpp | 6 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_insert.cpp | 39 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_keys.cpp | 10 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_length.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_merge.cpp | 19 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_merge_patch.cpp | 22 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_normalize.cpp | 10 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_object.cpp | 6 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_overlaps.cpp | 11 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_query.cpp | 10 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_quote.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_remove.cpp | 34 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_search.cpp | 36 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_type.cpp | 5 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_unquote.cpp | 5 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_valid.cpp | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_json_value.cpp | 25 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/func_sec_to_time.cpp | 44 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/funcexp.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/funchelpers.h | 18 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/functor_json.h | 395 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/jsonhelpers.cpp | 14 mariadb-11.8.6/storage/columnstore/columnstore/utils/funcexp/jsonhelpers.h | 33 mariadb-11.8.6/storage/columnstore/columnstore/utils/idbdatafile/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/btree.h | 2844 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/btree_container.h | 445 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/btree_map.h | 121 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/btree_set.h | 115 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/joiner.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/joinpartition.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/tuplejoiner.cpp | 21 mariadb-11.8.6/storage/columnstore/columnstore/utils/joiner/tuplejoiner.h | 17 mariadb-11.8.6/storage/columnstore/columnstore/utils/mariadb_charset/CMakeLists.txt | 7 mariadb-11.8.6/storage/columnstore/columnstore/utils/mariadb_charset/charset.cpp | 39 mariadb-11.8.6/storage/columnstore/columnstore/utils/mariadb_charset/collation.h | 278 mariadb-11.8.6/storage/columnstore/columnstore/utils/messageqcpp/CMakeLists.txt | 1 mariadb-11.8.6/storage/columnstore/columnstore/utils/messageqcpp/messagequeuepool.cpp | 86 mariadb-11.8.6/storage/columnstore/columnstore/utils/messageqcpp/messagequeuepool.h | 10 mariadb-11.8.6/storage/columnstore/columnstore/utils/messageqcpp/samenodepseudosocket.cpp | 127 mariadb-11.8.6/storage/columnstore/columnstore/utils/messageqcpp/samenodepseudosocket.h | 99 mariadb-11.8.6/storage/columnstore/columnstore/utils/querystats/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/querytele/CMakeLists.txt | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/querytele/queryteleprotoimpl.cpp | 9 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/CMakeLists.txt | 5 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/corr.cpp | 9 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/corr.h | 6 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/covar_pop.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/covar_samp.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/moda.cpp | 26 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/moda.h | 14 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_avgx.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_avgy.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_count.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_intercept.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_r2.cpp | 10 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_r2.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_slope.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_sxx.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_sxy.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regr_syy.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/regr/regrmysql.cpp | 13 mariadb-11.8.6/storage/columnstore/columnstore/utils/rowgroup/CMakeLists.txt | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/rowgroup/rowaggregation.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/rowgroup/rowaggregation.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/rowgroup/rowgroup.cpp | 16 mariadb-11.8.6/storage/columnstore/columnstore/utils/rowgroup/rowgroup.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/rowgroup/rowstorage.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/utils/rwlock/rwlock.cpp | 18 mariadb-11.8.6/storage/columnstore/columnstore/utils/statistics_manager/CMakeLists.txt | 6 mariadb-11.8.6/storage/columnstore/columnstore/utils/statistics_manager/statistics.cpp | 604 mariadb-11.8.6/storage/columnstore/columnstore/utils/statistics_manager/statistics.h | 161 mariadb-11.8.6/storage/columnstore/columnstore/utils/threadpool/CMakeLists.txt | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/udfsdk/CMakeLists.txt | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/udfsdk/allnull.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/udfsdk/avg_mode.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/udfsdk/avgx.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/udfsdk/mcsv1_udaf.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/udfsdk/median.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/udfsdk/ssq.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/utils/udfsdk/udfmysql.cpp | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_count.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_lead_lag.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_min_max.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_nth_value.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_ntile.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_percentile.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_ranking.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_row_number.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_stats.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_sum_avg.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/utils/windowfunction/wf_udaf.h | 5 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/CMakeLists.txt | 33 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/brmtypes.h | 5 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/dbrm.cpp | 3 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/dbrm.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/extentmap.cpp | 18 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/extentmap.h | 7 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/lbidresourcegraph.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/masterdbrmnode.cpp | 20 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/masterdbrmnode.h | 9 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/oid-client.cpp | 13 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/oidserver.cpp | 133 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/oidserver.h | 7 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/reset_locks.cpp | 163 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/sessionmanagerserver.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/sessionmanagerserver.h | 13 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/shmem_locks.cpp | 36 mariadb-11.8.6/storage/columnstore/columnstore/versioning/BRM/vbbm.cpp | 9 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/CMakeLists.txt | 6 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_bulkload.cpp | 25 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_bulkstatus.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_bulkstatus.h | 10 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_colbufcompressed.cpp | 1 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_colextinf.h | 11 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_columninfo.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_columninfo.h | 6 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_extentstripealloc.cpp | 1 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_extentstripealloc.h | 25 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/bulk/we_tableinfo.h | 11 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/client/CMakeLists.txt | 5 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/client/we_clients.cpp | 45 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/client/we_clients.h | 22 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/client/we_ddlcommandclient.cpp | 3 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/client/we_ddlcommandclient.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/redistribute/CMakeLists.txt | 5 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/redistribute/we_redistributecontrolthread.cpp | 7 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/redistribute/we_redistributecontrolthread.h | 4 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/redistribute/we_redistributeworkerthread.cpp | 9 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/redistribute/we_redistributeworkerthread.h | 6 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/server/CMakeLists.txt | 7 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/server/we_dataloader.cpp | 7 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/server/we_ddlcommandproc.cpp | 5 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/server/we_ddlcommon.h | 3 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/server/we_dmlcommandproc.cpp | 3 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/server/we_getfilesizes.h | 9 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/shared/we_brm.cpp | 19 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/shared/we_brm.h | 2 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/shared/we_type.h | 13 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/splitter/CMakeLists.txt | 4 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/splitter/we_cmdargs.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/wrapper/CMakeLists.txt | 5 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/wrapper/writeengine.cpp | 2 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/wrapper/writeengine.h | 12 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/xml/CMakeLists.txt | 5 mariadb-11.8.6/storage/columnstore/columnstore/writeengine/xml/we_xmljob.cpp | 6 mariadb-11.8.6/storage/connect/CMakeLists.txt | 2 mariadb-11.8.6/storage/connect/bsonudf.cpp | 3 mariadb-11.8.6/storage/connect/encas.h | 1 mariadb-11.8.6/storage/connect/engmsg.h | 1 mariadb-11.8.6/storage/connect/filter.cpp | 5 mariadb-11.8.6/storage/connect/filter.h | 2 mariadb-11.8.6/storage/connect/jsonudf.cpp | 6 mariadb-11.8.6/storage/connect/msgid.h | 1 mariadb-11.8.6/storage/connect/mysql-test/connect/r/bson_udf.result | 2 mariadb-11.8.6/storage/connect/mysql-test/connect/r/json_udf.result | 2 mariadb-11.8.6/storage/connect/tabxml.cpp | 2 mariadb-11.8.6/storage/csv/ha_tina.h | 2 mariadb-11.8.6/storage/federatedx/federatedx_pushdown.cc | 11 mariadb-11.8.6/storage/innobase/btr/btr0btr.cc | 62 mariadb-11.8.6/storage/innobase/btr/btr0bulk.cc | 16 mariadb-11.8.6/storage/innobase/btr/btr0cur.cc | 108 mariadb-11.8.6/storage/innobase/btr/btr0pcur.cc | 1 mariadb-11.8.6/storage/innobase/btr/btr0sea.cc | 823 mariadb-11.8.6/storage/innobase/buf/buf0buf.cc | 451 mariadb-11.8.6/storage/innobase/buf/buf0dblwr.cc | 111 mariadb-11.8.6/storage/innobase/buf/buf0dump.cc | 9 mariadb-11.8.6/storage/innobase/buf/buf0flu.cc | 106 mariadb-11.8.6/storage/innobase/buf/buf0lru.cc | 19 mariadb-11.8.6/storage/innobase/buf/buf0rea.cc | 463 mariadb-11.8.6/storage/innobase/dict/dict0boot.cc | 7 mariadb-11.8.6/storage/innobase/dict/dict0crea.cc | 33 mariadb-11.8.6/storage/innobase/dict/dict0dict.cc | 29 mariadb-11.8.6/storage/innobase/dict/dict0load.cc | 130 mariadb-11.8.6/storage/innobase/dict/dict0mem.cc | 52 mariadb-11.8.6/storage/innobase/dict/dict0stats.cc | 93 mariadb-11.8.6/storage/innobase/dict/dict0stats_bg.cc | 15 mariadb-11.8.6/storage/innobase/eval/eval0eval.cc | 1 mariadb-11.8.6/storage/innobase/fil/fil0crypt.cc | 19 mariadb-11.8.6/storage/innobase/fil/fil0fil.cc | 289 mariadb-11.8.6/storage/innobase/fsp/fsp0fsp.cc | 70 mariadb-11.8.6/storage/innobase/fsp/fsp0space.cc | 8 mariadb-11.8.6/storage/innobase/fsp/fsp0sysspace.cc | 8 mariadb-11.8.6/storage/innobase/fts/fts0fts.cc | 34 mariadb-11.8.6/storage/innobase/fts/fts0opt.cc | 2 mariadb-11.8.6/storage/innobase/fut/fut0lst.cc | 36 mariadb-11.8.6/storage/innobase/gis/gis0geo.cc | 14 mariadb-11.8.6/storage/innobase/gis/gis0rtree.cc | 23 mariadb-11.8.6/storage/innobase/handler/ha_innodb.cc | 831 mariadb-11.8.6/storage/innobase/handler/ha_innodb.h | 40 mariadb-11.8.6/storage/innobase/handler/handler0alter.cc | 103 mariadb-11.8.6/storage/innobase/handler/i_s.cc | 98 mariadb-11.8.6/storage/innobase/ibuf/ibuf0ibuf.cc | 15 mariadb-11.8.6/storage/innobase/include/btr0btr.h | 22 mariadb-11.8.6/storage/innobase/include/btr0bulk.h | 17 mariadb-11.8.6/storage/innobase/include/btr0cur.h | 12 mariadb-11.8.6/storage/innobase/include/btr0sea.h | 186 mariadb-11.8.6/storage/innobase/include/buf0buf.h | 101 mariadb-11.8.6/storage/innobase/include/buf0rea.h | 35 mariadb-11.8.6/storage/innobase/include/buf0types.h | 4 mariadb-11.8.6/storage/innobase/include/data0type.h | 10 mariadb-11.8.6/storage/innobase/include/data0type.inl | 25 mariadb-11.8.6/storage/innobase/include/dict0boot.h | 1 mariadb-11.8.6/storage/innobase/include/dict0crea.h | 11 mariadb-11.8.6/storage/innobase/include/dict0dict.h | 5 mariadb-11.8.6/storage/innobase/include/dict0load.h | 24 mariadb-11.8.6/storage/innobase/include/dict0mem.h | 13 mariadb-11.8.6/storage/innobase/include/dict0stats.h | 29 mariadb-11.8.6/storage/innobase/include/dict0types.h | 13 mariadb-11.8.6/storage/innobase/include/dyn0buf.h | 110 mariadb-11.8.6/storage/innobase/include/eval0eval.inl | 1 mariadb-11.8.6/storage/innobase/include/fil0fil.h | 40 mariadb-11.8.6/storage/innobase/include/fsp0fsp.h | 4 mariadb-11.8.6/storage/innobase/include/fsp0types.h | 2 mariadb-11.8.6/storage/innobase/include/gis0geo.h | 3 mariadb-11.8.6/storage/innobase/include/gis0rtree.h | 2 mariadb-11.8.6/storage/innobase/include/ha_prototypes.h | 77 mariadb-11.8.6/storage/innobase/include/lock0priv.inl | 4 mariadb-11.8.6/storage/innobase/include/log0crypt.h | 9 mariadb-11.8.6/storage/innobase/include/log0log.h | 12 mariadb-11.8.6/storage/innobase/include/log0recv.h | 114 mariadb-11.8.6/storage/innobase/include/mach0data.h | 26 mariadb-11.8.6/storage/innobase/include/mach0data.inl | 24 mariadb-11.8.6/storage/innobase/include/mariadb_stats.h | 135 mariadb-11.8.6/storage/innobase/include/mtr0log.h | 78 mariadb-11.8.6/storage/innobase/include/mtr0mtr.h | 83 mariadb-11.8.6/storage/innobase/include/os0file.h | 2 mariadb-11.8.6/storage/innobase/include/row0ftsort.h | 4 mariadb-11.8.6/storage/innobase/include/row0log.h | 13 mariadb-11.8.6/storage/innobase/include/row0merge.h | 1 mariadb-11.8.6/storage/innobase/include/row0purge.h | 2 mariadb-11.8.6/storage/innobase/include/row0vers.h | 1 mariadb-11.8.6/storage/innobase/include/srv0mon.h | 10 mariadb-11.8.6/storage/innobase/include/srv0mon.inl | 19 mariadb-11.8.6/storage/innobase/include/srv0srv.h | 2 mariadb-11.8.6/storage/innobase/include/srw_lock.h | 58 mariadb-11.8.6/storage/innobase/include/sux_lock.h | 9 mariadb-11.8.6/storage/innobase/include/trx0i_s.h | 2 mariadb-11.8.6/storage/innobase/include/trx0purge.h | 27 mariadb-11.8.6/storage/innobase/include/trx0sys.h | 10 mariadb-11.8.6/storage/innobase/include/trx0trx.h | 33 mariadb-11.8.6/storage/innobase/include/trx0undo.h | 29 mariadb-11.8.6/storage/innobase/lock/lock0lock.cc | 72 mariadb-11.8.6/storage/innobase/log/log0crypt.cc | 316 mariadb-11.8.6/storage/innobase/log/log0log.cc | 10 mariadb-11.8.6/storage/innobase/log/log0recv.cc | 1476 mariadb-11.8.6/storage/innobase/log/log0sync.cc | 7 mariadb-11.8.6/storage/innobase/mtr/mtr0mtr.cc | 201 mariadb-11.8.6/storage/innobase/page/page0page.cc | 4 mariadb-11.8.6/storage/innobase/page/page0zip.cc | 8 mariadb-11.8.6/storage/innobase/rem/rem0rec.cc | 14 mariadb-11.8.6/storage/innobase/row/row0ftsort.cc | 27 mariadb-11.8.6/storage/innobase/row/row0import.cc | 32 mariadb-11.8.6/storage/innobase/row/row0ins.cc | 95 mariadb-11.8.6/storage/innobase/row/row0log.cc | 72 mariadb-11.8.6/storage/innobase/row/row0merge.cc | 62 mariadb-11.8.6/storage/innobase/row/row0mysql.cc | 55 mariadb-11.8.6/storage/innobase/row/row0purge.cc | 145 mariadb-11.8.6/storage/innobase/row/row0row.cc | 27 mariadb-11.8.6/storage/innobase/row/row0sel.cc | 70 mariadb-11.8.6/storage/innobase/row/row0uins.cc | 17 mariadb-11.8.6/storage/innobase/row/row0umod.cc | 11 mariadb-11.8.6/storage/innobase/row/row0undo.cc | 8 mariadb-11.8.6/storage/innobase/row/row0upd.cc | 25 mariadb-11.8.6/storage/innobase/row/row0vers.cc | 24 mariadb-11.8.6/storage/innobase/srv/srv0mon.cc | 13 mariadb-11.8.6/storage/innobase/srv/srv0srv.cc | 55 mariadb-11.8.6/storage/innobase/srv/srv0start.cc | 79 mariadb-11.8.6/storage/innobase/sync/cache.cc | 5 mariadb-11.8.6/storage/innobase/sync/srw_lock.cc | 35 mariadb-11.8.6/storage/innobase/trx/trx0i_s.cc | 7 mariadb-11.8.6/storage/innobase/trx/trx0purge.cc | 116 mariadb-11.8.6/storage/innobase/trx/trx0rec.cc | 96 mariadb-11.8.6/storage/innobase/trx/trx0roll.cc | 10 mariadb-11.8.6/storage/innobase/trx/trx0rseg.cc | 6 mariadb-11.8.6/storage/innobase/trx/trx0sys.cc | 7 mariadb-11.8.6/storage/innobase/trx/trx0trx.cc | 149 mariadb-11.8.6/storage/innobase/trx/trx0undo.cc | 156 mariadb-11.8.6/storage/innobase/unittest/innodb_ahi-t.cc | 18 mariadb-11.8.6/storage/innobase/unittest/innodb_rbt-t.cc | 2 mariadb-11.8.6/storage/maria/aria_chk.c | 59 mariadb-11.8.6/storage/maria/aria_pack.c | 4 mariadb-11.8.6/storage/maria/aria_read_log.c | 1 mariadb-11.8.6/storage/maria/aria_s3_copy.1 | 2 mariadb-11.8.6/storage/maria/ha_maria.cc | 32 mariadb-11.8.6/storage/maria/ma_backup.c | 205 mariadb-11.8.6/storage/maria/ma_blockrec.c | 12 mariadb-11.8.6/storage/maria/ma_check.c | 18 mariadb-11.8.6/storage/maria/ma_checkpoint.c | 4 mariadb-11.8.6/storage/maria/ma_crypt.c | 26 mariadb-11.8.6/storage/maria/ma_crypt.h | 9 mariadb-11.8.6/storage/maria/ma_delete.c | 2 mariadb-11.8.6/storage/maria/ma_dynrec.c | 2 mariadb-11.8.6/storage/maria/ma_loghandler.c | 7 mariadb-11.8.6/storage/maria/ma_open.c | 105 mariadb-11.8.6/storage/maria/ma_pagecache.c | 4 mariadb-11.8.6/storage/maria/ma_pagecrc.c | 2 mariadb-11.8.6/storage/maria/ma_recovery.c | 4 mariadb-11.8.6/storage/maria/ma_search.c | 2 mariadb-11.8.6/storage/maria/ma_statrec.c | 2 mariadb-11.8.6/storage/maria/ma_trnman.h | 12 mariadb-11.8.6/storage/maria/ma_update.c | 20 mariadb-11.8.6/storage/maria/ma_write.c | 4 mariadb-11.8.6/storage/maria/maria_def.h | 4 mariadb-11.8.6/storage/maria/s3.cnf | 6 mariadb-11.8.6/storage/maria/s3_func.c | 4 mariadb-11.8.6/storage/maria/test_ma_backup.c | 2 mariadb-11.8.6/storage/mroonga/ha_mroonga.cpp | 2 mariadb-11.8.6/storage/mroonga/mrn_mysql.h | 2 mariadb-11.8.6/storage/mroonga/vendor/groonga/CMakeLists.txt | 2 mariadb-11.8.6/storage/mroonga/vendor/groonga/lib/db.c | 3 mariadb-11.8.6/storage/mroonga/vendor/groonga/lib/expr.c | 5 mariadb-11.8.6/storage/mroonga/vendor/groonga/lib/ii.c | 53 mariadb-11.8.6/storage/mroonga/vendor/groonga/lib/proc/proc_schema.c | 4 mariadb-11.8.6/storage/mroonga/vendor/groonga/lib/proc/proc_select.c | 3 mariadb-11.8.6/storage/mroonga/vendor/groonga/plugins/tokenizers/mecab.c | 4 mariadb-11.8.6/storage/myisam/ftdefs.h | 2 mariadb-11.8.6/storage/myisam/ha_myisam.h | 2 mariadb-11.8.6/storage/myisam/mi_check.c | 18 mariadb-11.8.6/storage/myisam/mi_close.c | 2 mariadb-11.8.6/storage/myisam/mi_dynrec.c | 2 mariadb-11.8.6/storage/myisam/mi_open.c | 70 mariadb-11.8.6/storage/myisam/mi_test1.c | 5 mariadb-11.8.6/storage/myisam/myisamchk.c | 84 mariadb-11.8.6/storage/myisam/myisamdef.h | 6 mariadb-11.8.6/storage/myisam/myisampack.c | 3 mariadb-11.8.6/storage/perfschema/pfs.cc | 2 mariadb-11.8.6/storage/rocksdb/CMakeLists.txt | 7 mariadb-11.8.6/storage/rocksdb/build_rocksdb.cmake | 4 mariadb-11.8.6/storage/rocksdb/ha_rocksdb.cc | 12 mariadb-11.8.6/storage/rocksdb/myrocks_hotbackup.py | 6 mariadb-11.8.6/storage/rocksdb/mysql-test/rocksdb/include/bulk_load_unsorted.inc | 2 mariadb-11.8.6/storage/rocksdb/mysql-test/rocksdb/r/pause_background_work.result | 10 mariadb-11.8.6/storage/rocksdb/mysql-test/rocksdb/r/type_blob_indexes.result | 6 mariadb-11.8.6/storage/rocksdb/mysql-test/rocksdb/r/type_text_indexes.result | 4 mariadb-11.8.6/storage/rocksdb/mysql-test/rocksdb/t/pause_background_work.test | 13 mariadb-11.8.6/storage/rocksdb/mysql-test/rocksdb/t/unique_check.test | 1 mariadb-11.8.6/storage/rocksdb/rdb_datadic.cc | 24 mariadb-11.8.6/storage/spider/CODING_STADNARDS.org | 81 mariadb-11.8.6/storage/spider/ha_spider.cc | 2 mariadb-11.8.6/storage/spider/ha_spider.h | 55 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/combinations | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/ha_init_child2_1.inc | 8 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/ha_init_child2_2.inc | 4 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/ha_init_child2_3.inc | 4 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/ha_init_child3_1.inc | 127 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/ha_init_child3_2.inc | 127 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/ha_init_child3_3.inc | 127 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/ha_init_master_1.inc | 95 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/hs_init_child2_1.inc | 24 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/hs_init_child2_2.inc | 12 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/hs_init_master_1.inc | 12 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/init_child2_1.inc | 175 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/init_child2_2.inc | 80 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/init_child2_3.inc | 11 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/init_master_1.inc | 183 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/include/init_slave1_1.inc | 10 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/my.cnf | 29 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/r/direct_aggregate,usual_handler.rdiff | 39 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/basic_sql.test | 1499 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/basic_sql_part.test | 355 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/direct_aggregate.test | 92 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/direct_aggregate_part.test | 127 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/direct_update.test | 96 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/direct_update_part.test | 126 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/function.test | 119 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/ha.test | 735 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/ha_part.test | 931 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/ha_test_deinit.inc | 8 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/ha_test_init.inc | 6 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/hs_test_deinit.inc | 17 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/hs_test_init.inc | 17 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/slave_test_deinit.inc | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/slave_test_init.inc | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/spider3_fixes.test | 135 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/spider3_fixes_part.test | 218 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/spider_fixes.test | 821 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/spider_fixes_part.test | 444 mariadb-11.8.6/storage/spider/mysql-test/spider/bg/t/vp_fixes.test | 192 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/combinations | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/disabled.def | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/my_1_1.cnf | 9 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/my_2_1.cnf | 20 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/my_2_2.cnf | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/index.result | 21 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/insert_select,usual_handler.rdiff | 29 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_20100,usual_handler.rdiff | 23 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_20502,usual_handler.rdiff | 21 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_26540.result | 46 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_27172,usual_handler.rdiff | 12 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_29008,usual_handler.rdiff | 15 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_29008.result | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_29502,usual_handler.rdiff | 36 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_34659.result | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_37484.result | 118 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_37829.result | 77 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/mdev_37972.result | 18 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/perfschema.result | 4 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/select_with_backquote,usual_handler.rdiff | 13 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/wrapper_mariadb,usual_handler.rdiff | 11 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/r/xa_cmd.result | 73 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/checksum_table_with_quick_mode_3.test | 13 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/cp932_column.test | 15 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/group_by_order_by_limit.test | 30 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/index.test | 4 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/insert_select.test | 26 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_19866.test | 28 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_20100.test | 34 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_20502.test | 14 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_21884.test | 32 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_22246.test | 24 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_22979.test | 3 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_24020.test | 24 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_24517.test | 24 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_24523.test | 24 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_26540.test | 37 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_29008.test | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_29502.test | 2 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_34659.test | 2 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_37484.test | 110 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_37829.test | 99 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_37972.cnf | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/mdev_37972.test | 24 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/perfschema.test | 6 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/quick_mode_0.test | 46 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/quick_mode_1.test | 46 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/quick_mode_2.test | 46 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/quick_mode_3.test | 46 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/return_found_rows_insert.test | 23 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/return_found_rows_update.test | 15 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/select_by_null.test | 13 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/select_with_backquote.test | 14 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/slave_trx_isolation.test | 17 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/strict_group_by.test | 30 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/wrapper_mariadb.test | 13 mariadb-11.8.6/storage/spider/mysql-test/spider/bugfix/t/xa_cmd.test | 65 mariadb-11.8.6/storage/spider/mysql-test/spider/combinations | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/disabled.def | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/feature/combinations | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/feature/my_1_1.cnf | 9 mariadb-11.8.6/storage/spider/mysql-test/spider/feature/my_2_1.cnf | 20 mariadb-11.8.6/storage/spider/mysql-test/spider/feature/my_2_2.cnf | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/feature/r/engine_defined_attributes,usual_handler.rdiff | 11 mariadb-11.8.6/storage/spider/mysql-test/spider/feature/r/pushdown_case,usual_handler.rdiff | 38 mariadb-11.8.6/storage/spider/mysql-test/spider/feature/r/pushdown_timestamp_diff,usual_handler.rdiff | 83 mariadb-11.8.6/storage/spider/mysql-test/spider/feature/t/engine_defined_attributes.test | 2 mariadb-11.8.6/storage/spider/mysql-test/spider/include/ha_init_child2_1.inc | 8 mariadb-11.8.6/storage/spider/mysql-test/spider/include/ha_init_child2_2.inc | 4 mariadb-11.8.6/storage/spider/mysql-test/spider/include/ha_init_child2_3.inc | 4 mariadb-11.8.6/storage/spider/mysql-test/spider/include/ha_init_child3_1.inc | 127 mariadb-11.8.6/storage/spider/mysql-test/spider/include/ha_init_child3_2.inc | 127 mariadb-11.8.6/storage/spider/mysql-test/spider/include/ha_init_child3_3.inc | 127 mariadb-11.8.6/storage/spider/mysql-test/spider/include/ha_init_master_1.inc | 95 mariadb-11.8.6/storage/spider/mysql-test/spider/include/have_group_by_handler.inc | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/include/have_group_by_handler.opt | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/include/hs_init_child2_1.inc | 24 mariadb-11.8.6/storage/spider/mysql-test/spider/include/hs_init_child2_2.inc | 12 mariadb-11.8.6/storage/spider/mysql-test/spider/include/hs_init_master_1.inc | 12 mariadb-11.8.6/storage/spider/mysql-test/spider/include/init_child2_1.inc | 189 mariadb-11.8.6/storage/spider/mysql-test/spider/include/init_child2_2.inc | 80 mariadb-11.8.6/storage/spider/mysql-test/spider/include/init_child2_3.inc | 11 mariadb-11.8.6/storage/spider/mysql-test/spider/include/init_master_1.inc | 192 mariadb-11.8.6/storage/spider/mysql-test/spider/include/init_slave1_1.inc | 10 mariadb-11.8.6/storage/spider/mysql-test/spider/my_1_1.cnf | 9 mariadb-11.8.6/storage/spider/mysql-test/spider/my_2_1.cnf | 20 mariadb-11.8.6/storage/spider/mysql-test/spider/my_2_2.cnf | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/r/auto_increment,usual_handler.rdiff | 11 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_aggregate,usual_handler.rdiff | 48 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_join,usual_handler.rdiff | 30 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_join_using,usual_handler.rdiff | 21 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_left_join,usual_handler.rdiff | 17 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_left_join_nullable,usual_handler.rdiff | 20 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_left_right_join_nullable,usual_handler.rdiff | 41 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_left_right_join_nullable,usual_handler.result | 137 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_left_right_left_join_nullable,usual_handler.rdiff | 19 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_right_join,usual_handler.rdiff | 21 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_right_join_nullable,usual_handler.rdiff | 23 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_right_left_join_nullable,usual_handler.rdiff | 19 mariadb-11.8.6/storage/spider/mysql-test/spider/r/direct_right_left_right_join_nullable,usual_handler.rdiff | 23 mariadb-11.8.6/storage/spider/mysql-test/spider/r/loop_check_long_var.result | 30 mariadb-11.8.6/storage/spider/mysql-test/spider/r/pushdown_not_like,usual_handler.rdiff | 11 mariadb-11.8.6/storage/spider/mysql-test/spider/r/timestamp,usual_handler.rdiff | 97 mariadb-11.8.6/storage/spider/mysql-test/spider/r/udf_pushdown,usual_handler.rdiff | 13 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e1121/combinations | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e1121/my_1_1.cnf | 9 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e1121/my_2_1.cnf | 20 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e1121/r/direct_join_by_pkey_key,usual_handler.rdiff | 11 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e1121/t/direct_join_by_pkey_key.test | 27 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e1121/t/direct_join_by_pkey_pkey.test | 27 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e112122/combinations | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e112122/my_1_1.cnf | 9 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e112122/my_2_1.cnf | 20 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e112122/my_2_2.cnf | 5 mariadb-11.8.6/storage/spider/mysql-test/spider/regression/e112122/t/group_by_order_by_limit_ok.test | 30 mariadb-11.8.6/storage/spider/mysql-test/spider/t/auto_increment.test | 100 mariadb-11.8.6/storage/spider/mysql-test/spider/t/auto_increment_deinit.inc | 6 mariadb-11.8.6/storage/spider/mysql-test/spider/t/auto_increment_init.inc | 31 mariadb-11.8.6/storage/spider/mysql-test/spider/t/basic_sql.test | 1496 mariadb-11.8.6/storage/spider/mysql-test/spider/t/basic_sql_part.test | 355 mariadb-11.8.6/storage/spider/mysql-test/spider/t/checksum_table_with_quick_mode_3.test | 79 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_aggregate.test | 94 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_aggregate_part.test | 127 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_join.test | 229 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_join_using.test | 138 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_left_join.test | 134 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_left_join_nullable.test | 146 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_left_right_join_nullable.test | 146 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_left_right_left_join_nullable.test | 146 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_right_join.test | 134 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_right_join_nullable.test | 146 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_right_left_join_nullable.test | 146 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_right_left_right_join_nullable.test | 146 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_update.test | 96 mariadb-11.8.6/storage/spider/mysql-test/spider/t/direct_update_part.test | 126 mariadb-11.8.6/storage/spider/mysql-test/spider/t/error_row_number.test | 4 mariadb-11.8.6/storage/spider/mysql-test/spider/t/function.test | 119 mariadb-11.8.6/storage/spider/mysql-test/spider/t/ha.test | 735 mariadb-11.8.6/storage/spider/mysql-test/spider/t/ha_part.test | 932 mariadb-11.8.6/storage/spider/mysql-test/spider/t/ha_test_deinit.inc | 7 mariadb-11.8.6/storage/spider/mysql-test/spider/t/ha_test_init.inc | 6 mariadb-11.8.6/storage/spider/mysql-test/spider/t/hs_test_deinit.inc | 17 mariadb-11.8.6/storage/spider/mysql-test/spider/t/hs_test_init.inc | 17 mariadb-11.8.6/storage/spider/mysql-test/spider/t/loop_check_long_var.test | 36 mariadb-11.8.6/storage/spider/mysql-test/spider/t/partition_cond_push.test | 146 mariadb-11.8.6/storage/spider/mysql-test/spider/t/partition_fulltext.test | 155 mariadb-11.8.6/storage/spider/mysql-test/spider/t/partition_join_pushdown_for_single_partition.test | 163 mariadb-11.8.6/storage/spider/mysql-test/spider/t/partition_mrr.test | 182 mariadb-11.8.6/storage/spider/mysql-test/spider/t/pushdown_not_like.test | 64 mariadb-11.8.6/storage/spider/mysql-test/spider/t/quick_mode_0.test | 209 mariadb-11.8.6/storage/spider/mysql-test/spider/t/quick_mode_1.test | 209 mariadb-11.8.6/storage/spider/mysql-test/spider/t/quick_mode_2.test | 209 mariadb-11.8.6/storage/spider/mysql-test/spider/t/quick_mode_3.test | 209 mariadb-11.8.6/storage/spider/mysql-test/spider/t/slave_test_deinit.inc | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/t/slave_test_init.inc | 1 mariadb-11.8.6/storage/spider/mysql-test/spider/t/slave_trx_isolation.test | 85 mariadb-11.8.6/storage/spider/mysql-test/spider/t/spider3_fixes.test | 135 mariadb-11.8.6/storage/spider/mysql-test/spider/t/spider3_fixes_part.test | 218 mariadb-11.8.6/storage/spider/mysql-test/spider/t/spider_fixes.test | 822 mariadb-11.8.6/storage/spider/mysql-test/spider/t/spider_fixes_part.test | 625 mariadb-11.8.6/storage/spider/mysql-test/spider/t/timestamp.test | 356 mariadb-11.8.6/storage/spider/mysql-test/spider/t/timestamp_deinit.inc | 6 mariadb-11.8.6/storage/spider/mysql-test/spider/t/timestamp_init.inc | 55 mariadb-11.8.6/storage/spider/mysql-test/spider/t/udf_pushdown.test | 24 mariadb-11.8.6/storage/spider/mysql-test/spider/t/vp_fixes.test | 192 mariadb-11.8.6/storage/spider/spd_conn.cc | 226 mariadb-11.8.6/storage/spider/spd_conn.h | 4 mariadb-11.8.6/storage/spider/spd_db_conn.cc | 2 mariadb-11.8.6/storage/spider/spd_db_include.cc | 7 mariadb-11.8.6/storage/spider/spd_db_include.h | 4 mariadb-11.8.6/storage/spider/spd_db_mysql.cc | 12 mariadb-11.8.6/storage/spider/spd_group_by_handler.cc | 23 mariadb-11.8.6/storage/spider/spd_include.h | 8 mariadb-11.8.6/storage/spider/spd_ping_table.cc | 30 mariadb-11.8.6/storage/spider/spd_ping_table.h | 4 mariadb-11.8.6/storage/spider/spd_table.cc | 12 mariadb-11.8.6/storage/spider/spd_trx.cc | 319 mariadb-11.8.6/strings/conf_to_src.c | 2 mariadb-11.8.6/strings/ctype-uca-scanner_next.inl | 2 mariadb-11.8.6/strings/ctype-uca.c | 203 mariadb-11.8.6/strings/ctype-uca.inl | 45 mariadb-11.8.6/strings/ctype.c | 33 mariadb-11.8.6/support-files/CMakeLists.txt | 10 mariadb-11.8.6/support-files/mariadb-extra.socket.in | 4 mariadb-11.8.6/support-files/mariadb-extra@.socket.in | 4 mariadb-11.8.6/support-files/mariadb.service.in | 20 mariadb-11.8.6/support-files/mariadb.socket.in | 3 mariadb-11.8.6/support-files/mariadb@.service.in | 4 mariadb-11.8.6/support-files/mariadb@.socket.in | 3 mariadb-11.8.6/support-files/rpm/server-postin.sh | 1 mariadb-11.8.6/support-files/rpm/server-posttrans.sh | 2 mariadb-11.8.6/support-files/tmpfiles.conf.in | 9 mariadb-11.8.6/tests/mysql_client_test.c | 38 mariadb-11.8.6/tpool/CMakeLists.txt | 39 mariadb-11.8.6/tpool/aio_libaio.cc | 8 mariadb-11.8.6/tpool/aio_liburing.cc | 22 mariadb-11.8.6/tpool/aio_simulated.cc | 46 mariadb-11.8.6/tpool/tpool.h | 16 mariadb-11.8.6/tpool/tpool_generic.cc | 41 mariadb-11.8.6/unittest/mysys/crc32-t.c | 3 mariadb-11.8.6/unittest/mysys/my_tzinfo-t.c | 14 mariadb-11.8.6/unittest/sql/mf_iocache-t.cc | 64 mariadb-11.8.6/unittest/strings/strings-t.c | 158 mariadb-11.8.6/win/packaging/CMakeLists.txt | 1 mariadb-11.8.6/win/packaging/heidisql.cmake | 2 mariadb-11.8.6/win/packaging/heidisql.wxi.in | 36 mariadb-11.8.6/wsrep-lib/include/wsrep/server_state.hpp | 6 mariadb-11.8.6/wsrep-lib/src/server_state.cpp | 3 3981 files changed, 453185 insertions(+), 206589 deletions(-) dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpwgqedi90/mariadb_11.8.3-0+deb13u1.dsc: no acceptable signature found dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpwgqedi90/mariadb_11.8.6-0+deb13u1.dsc: no acceptable signature found diff -Nru mariadb-11.8.3/.github/workflows/windows-arm64.yml mariadb-11.8.6/.github/workflows/windows-arm64.yml --- mariadb-11.8.3/.github/workflows/windows-arm64.yml 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/.github/workflows/windows-arm64.yml 2026-01-31 13:27:46.000000000 +0000 @@ -48,4 +48,10 @@ $env:PATH = "C:\Strawberry\perl\bin;$env:PATH;C:\Program Files (x86)\Windows Kits\10\Debuggers\arm64" #Calculate parallel as 4 * number of processors $parallel = 4 * [int]$env:NUMBER_OF_PROCESSORS - perl bld\mysql-test\mysql-test-run.pl --force --parallel=$parallel --suite=main --mysqld=--loose-innodb-flush-log-at-trx-commit=2 + # create case-sensitive directory to run tests in + $tmp = (Get-Item $env:TEMP).FullName + $tmp = $tmp -replace '\\','/' + $cidir = "$tmp/ci" + mkdir $cidir + fsutil file setCaseSensitiveInfo $cidir enable + perl bld\mysql-test\mysql-test-run.pl --force --parallel=$parallel --suite=main,innodb --vardir=$cidir/var --mysqld=--lower-case-table-names=0 --mysqld=--loose-innodb-flush-log-at-trx-commit=2 --mysqld=--debug-no-sync diff -Nru mariadb-11.8.3/.gitignore mariadb-11.8.6/.gitignore --- mariadb-11.8.3/.gitignore 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/.gitignore 2026-01-31 13:27:46.000000000 +0000 @@ -30,6 +30,7 @@ Docs/INFO_SRC Makefile TAGS +mariadb-plugin-columnstore.install.generated Testing/ tmp/ VERSION.dep diff -Nru mariadb-11.8.3/BUILD/compile-pentium64-asan-max mariadb-11.8.6/BUILD/compile-pentium64-asan-max --- mariadb-11.8.3/BUILD/compile-pentium64-asan-max 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/BUILD/compile-pentium64-asan-max 2026-01-31 13:27:46.000000000 +0000 @@ -23,7 +23,7 @@ # extra_flags="$pentium64_cflags $debug_cflags -lasan -O -g -fsanitize=address -USAFEMALLOC -UFORCE_INIT_OF_VARS -Wno-uninitialized -Wno-maybe-uninitialized -DMYSQL_SERVER_SUFFIX=-asan-max" -extra_configs="$pentium_configs $debug_configs $valgrind_configs $max_configs $disable_asan_plugins" +extra_configs="$pentium_configs $debug_configs $valgrind_configs $max_configs $disable_asan_plugins --with-asan=ON" export LDFLAGS="-ldl" . "$path/FINISH.sh" diff -Nru mariadb-11.8.3/BUILD/compile-pentium64-ubsan mariadb-11.8.6/BUILD/compile-pentium64-ubsan --- mariadb-11.8.3/BUILD/compile-pentium64-ubsan 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/BUILD/compile-pentium64-ubsan 2026-01-31 13:27:46.000000000 +0000 @@ -31,7 +31,7 @@ # the destination # -extra_flags="$pentium64_cflags $debug_cflags -fsanitize=undefined -DWITH_UBSAN -Wno-conversion -Wno-uninitialized" +extra_flags="$pentium64_cflags $debug_cflags -fsanitize=undefined -DWITH_UBSAN -Wno-conversion -Wno-uninitialized -Wno-unused-parameter" extra_configs="$pentium_configs $debug_configs -DWITH_UBSAN=ON -DMYSQL_MAINTAINER_MODE=NO --without-spider" . "$path/FINISH.sh" diff -Nru mariadb-11.8.3/CMakeLists.txt mariadb-11.8.6/CMakeLists.txt --- mariadb-11.8.3/CMakeLists.txt 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/CMakeLists.txt 2026-01-31 13:27:46.000000000 +0000 @@ -296,9 +296,13 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_GLIBCXX_ASSERTIONS") ENDIF() -OPTION(ENABLE_GCOV "Enable gcov (debug, Linux builds only)" OFF) +OPTION(ENABLE_GCOV "Enable gcov (debug, macOS and Linux builds only)" OFF) IF (ENABLE_GCOV) - MY_CHECK_AND_SET_COMPILER_FLAG("-DHAVE_gcov -fprofile-arcs -ftest-coverage -lgcov" DEBUG) + IF (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") + MY_CHECK_AND_SET_COMPILER_FLAG("--coverage" DEBUG) + ELSE() + MY_CHECK_AND_SET_COMPILER_FLAG("-DHAVE_gcov -fprofile-arcs -ftest-coverage -lgcov" DEBUG) + ENDIF() ENDIF() OPTION(WITHOUT_PACKED_SORT_KEYS "disable packed sort keys" OFF) diff -Nru mariadb-11.8.3/CONTRIBUTING.md mariadb-11.8.6/CONTRIBUTING.md --- mariadb-11.8.3/CONTRIBUTING.md 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/CONTRIBUTING.md 2026-01-31 13:27:46.000000000 +0000 @@ -5,15 +5,15 @@ ### Engage online with other community members --- - [MariaDB on Zulip](https://mariadb.zulipchat.com/) -- [maria-developers mailing list](http://launchpad.net/~maria-developers) -- [maria-discuss mailing list](http://launchpad.net/~maria-discuss) -- [maria-docs mailing list](http://launchpad.net/~maria-docs) -- The MariaDB Foundation and MariaDB Corporation have a presence on Reddit, Twitter and Facebook. See the [social media page](https://mariadb.com/kb/en/mariadb/social-media/). +- [maria-developers mailing list](https://lists.mariadb.org/postorius/lists/developers.lists.mariadb.org/) +- [maria-discuss mailing list](https://lists.mariadb.org/postorius/lists/discuss.lists.mariadb.org/) +- [maria-docs mailing list](https://lists.mariadb.org/postorius/lists/docs.lists.mariadb.org/) +- The MariaDB Foundation and MariaDB Corporation have a presence on Reddit, Twitter and Facebook. See the [social media page](https://mariadb.com/docs/general-resources/community/joining-the-community). ### Help document MariaDB ---- -- Contribute towards [documenting MariaDB Server](https://mariadb.com/kb/en/meta/writing-editing-library-articles/) and its ecosystem by adding new content or improving existing content. -- [Translate](https://mariadb.com/kb/en/meta/translating-library-articles/) existing documentation. +- Contribute towards [documenting MariaDB Server](https://mariadb.com/docs/general-resources/about/readme/contributing-documentation) and its ecosystem by adding new content or improving existing content. +- [Translate](https://mariadb.com/docs/general-resources/about/readme/contributing-documentation) existing documentation. ### Help debug and develop MariaDB ----- @@ -44,4 +44,4 @@ ### Additional resources ---- - [MariaDB Foundation ](https://mariadb.org/) - - [Knowledge Base](https://mariadb.com/kb/en/) + - [MariaDB Documentation](https://mariadb.com/docs/) diff -Nru mariadb-11.8.3/CREDITS mariadb-11.8.6/CREDITS --- mariadb-11.8.3/CREDITS 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/CREDITS 2026-01-31 13:27:46.000000000 +0000 @@ -66,7 +66,7 @@ - Bug fixing in MariaDB (for bugs that affects a large part of the community) - Building the official MariaDB binaries - Maintaining https://mariadb.org -- Documenting MariaDB in the MariaDB Knowledge Base https://mariadb.com/kb +- Documenting MariaDB in the MariaDB Documentation https://mariadb.com/kb To be able to do the above we need help from corporations and individuals! diff -Nru mariadb-11.8.3/Docs/INFO_SRC mariadb-11.8.6/Docs/INFO_SRC --- mariadb-11.8.3/Docs/INFO_SRC 2025-07-28 19:35:11.000000000 +0000 +++ mariadb-11.8.6/Docs/INFO_SRC 2026-01-31 13:27:52.000000000 +0000 @@ -1,8 +1,8 @@ -commit: b565b3e7e041c480fd8013e3beec6b99544d6bf8 -date: 2025-07-28 21:29:29 +0200 -build-date: 2025-07-28 19:35:11 +0000 -short: b565b3e7e04 -branch: HEAD +commit: 9bfea48ce1214cc4470f6f6f8a4e30352cef84e7 +date: 2026-01-31 14:08:54 +0100 +build-date: 2026-01-31 13:27:52 +0000 +short: 9bfea48c +branch: bb-11.8-release -MariaDB source 11.8.3 +MariaDB source 11.8.6 diff -Nru mariadb-11.8.3/Docs/mysql.info mariadb-11.8.6/Docs/mysql.info --- mariadb-11.8.3/Docs/mysql.info 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/Docs/mysql.info 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -MariaDB is in most aspects identical to MySQL. - -Differences between MySQL and MariaDB can be found at: -https://mariadb.com/kb/en/mariadb-vs-mysql-features/ -https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/ - -The MariaDB manual can be found at: -https://mariadb.com/kb/ - -The MySQL Reference Manual is available in various formats on -http://dev.mysql.com/doc. diff -Nru mariadb-11.8.3/VERSION mariadb-11.8.6/VERSION --- mariadb-11.8.3/VERSION 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/VERSION 2026-01-31 13:27:46.000000000 +0000 @@ -1,4 +1,4 @@ MYSQL_VERSION_MAJOR=11 MYSQL_VERSION_MINOR=8 -MYSQL_VERSION_PATCH=3 +MYSQL_VERSION_PATCH=6 SERVER_MATURITY=stable diff -Nru mariadb-11.8.3/client/CMakeLists.txt mariadb-11.8.6/client/CMakeLists.txt --- mariadb-11.8.3/client/CMakeLists.txt 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/client/CMakeLists.txt 2026-01-31 13:27:46.000000000 +0000 @@ -64,8 +64,7 @@ TARGET_INCLUDE_DIRECTORIES(import_util PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) MYSQL_ADD_EXECUTABLE(mariadb-import mysqlimport.cc) -TARGET_INCLUDE_DIRECTORIES(mariadb-import PRIVATE ${CMAKE_SOURCE_DIR}/tpool) -TARGET_LINK_LIBRARIES(mariadb-import PRIVATE tpool ${CLIENT_LIB} import_util) +TARGET_LINK_LIBRARIES(mariadb-import PRIVATE tpool_min ${CLIENT_LIB} import_util) MYSQL_ADD_EXECUTABLE(mariadb-upgrade mysql_upgrade.c COMPONENT Server) diff -Nru mariadb-11.8.3/client/my_readline.h mariadb-11.8.6/client/my_readline.h --- mariadb-11.8.3/client/my_readline.h 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/client/my_readline.h 2026-01-31 13:27:46.000000000 +0000 @@ -34,9 +34,10 @@ bool truncated; } LINE_BUFFER; -extern LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file); extern LINE_BUFFER *batch_readline_command(LINE_BUFFER *buffer, char * str); extern char *batch_readline(LINE_BUFFER *buffer, bool binary_mode); extern void batch_readline_end(LINE_BUFFER *buffer); +extern bool init_line_buffer(LINE_BUFFER *buffer, File file, ulong size, + ulong max_size); #endif /* CLIENT_MY_READLINE_INCLUDED */ diff -Nru mariadb-11.8.3/client/mysql.cc mariadb-11.8.6/client/mysql.cc --- mariadb-11.8.3/client/mysql.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/client/mysql.cc 2026-01-31 13:27:46.000000000 +0000 @@ -1211,6 +1211,81 @@ return -1; } +static LINE_BUFFER *batch_readline_init(ulong max_size, const char *path) +{ + LINE_BUFFER *line_buff; + File file; + MY_STAT input_file_stat; + char buff[FN_REFLEN + 512]; + + if (path) + { + if ((file= my_open(path, O_RDONLY | O_BINARY, MYF(0))) < 0) + { +#ifdef _WIN32 + if (my_errno == EACCES && my_stat(path, &input_file_stat, MYF(0)) && + MY_S_ISDIR(input_file_stat.st_mode)) + my_snprintf(buff, sizeof(buff), "Can't read from a directory '%.*s'", + FN_REFLEN, path); + else +#endif + my_snprintf(buff, sizeof(buff), "Failed to open file '%.*s', error: %d", + FN_REFLEN, path, my_errno); + put_info(buff, INFO_ERROR, 0); + return 0; + } + } + else + { + file= my_fileno(stdin); + } + + if (my_fstat(file, &input_file_stat, MYF(0))) + { + my_snprintf(buff, sizeof(buff), "Failed to stat file '%.*s', error: %d", + FN_REFLEN, path ? path : "stdin", my_errno); + goto err1; + } + + if (MY_S_ISDIR(input_file_stat.st_mode)) + { + my_snprintf(buff, sizeof(buff), "Can't read from a directory '%.*s'", + FN_REFLEN, path ? path : "stdin"); + goto err1; + } + +#ifndef _WIN32 + if (MY_S_ISBLK(input_file_stat.st_mode)) + { + my_snprintf(buff, sizeof(buff), "Can't read from a block device '%.*s'", + FN_REFLEN, path ? path : "stdin"); + goto err1; + } +#endif + + if (!(line_buff= (LINE_BUFFER*) my_malloc(PSI_NOT_INSTRUMENTED, + sizeof(*line_buff), + MYF(MY_WME | MY_ZEROFILL)))) + { + goto err; + } + + if (init_line_buffer(line_buff, file, IO_SIZE, max_size)) + { + my_free(line_buff); + goto err; + } + + return line_buff; + +err1: + put_info(buff, INFO_ERROR, 0); +err: + if (path) + my_close(file, MYF(0)); + return 0; +} + static int delimiter_index= -1; static int charset_index= -1; static int sandbox_index= -1; @@ -1285,10 +1360,8 @@ } if (status.batch && !status.line_buff && - !(status.line_buff= batch_readline_init(MAX_BATCH_BUFFER_SIZE, stdin))) + !(status.line_buff= batch_readline_init(MAX_BATCH_BUFFER_SIZE, NULL))) { - put_info("Can't initialize batch_readline - may be the input source is " - "a directory or a block device.", INFO_ERROR, 0); free_defaults(defaults_argv); my_end(0); exit(1); @@ -1404,9 +1477,7 @@ if (opt_outfile) end_tee(); mysql_end(0); -#ifndef _lint - DBUG_RETURN(0); // Keep compiler happy -#endif + DBUG_RETURN(0); } sig_handler mysql_end(int sig) @@ -2890,7 +2961,9 @@ ptr++; } if (total_lines > 1) - add_history(fixed_buffer.ptr()); + { + add_history(fixed_buffer.c_ptr()); + } } /* @@ -3213,6 +3286,12 @@ } #ifndef EMBEDDED_LIBRARY +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wvarargs" +/* CONC-789 */ +#endif + static void status_info_cb(void *data, enum enum_mariadb_status_info type, ...) { va_list ap; @@ -3228,6 +3307,10 @@ } va_end(ap); } + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif #else #define mysql_optionsv(A,B,C,D) do { } while(0) #endif @@ -3511,8 +3594,6 @@ old_buffer.copy(); } - /* Remove garbage for nicer messages */ - LINT_INIT_STRUCT(buff[0]); remove_cntrl(*buffer); if (buffer->is_empty()) @@ -4715,7 +4796,6 @@ LINE_BUFFER *line_buff; int error; STATUS old_status; - FILE *sql_file; my_bool save_ignore_errors; if (status.sandbox) @@ -4735,18 +4815,10 @@ end--; end[0]=0; unpack_filename(source_name,source_name); - /* open file name */ - if (!(sql_file = my_fopen(source_name, O_RDONLY | O_BINARY,MYF(0)))) - { - char buff[FN_REFLEN+60]; - sprintf(buff,"Failed to open file '%s', error: %d", source_name,errno); - return put_info(buff, INFO_ERROR, 0); - } - if (!(line_buff= batch_readline_init(MAX_BATCH_BUFFER_SIZE, sql_file))) + if (!(line_buff= batch_readline_init(MAX_BATCH_BUFFER_SIZE, source_name))) { - my_fclose(sql_file,MYF(0)); - return put_info("Can't initialize batch_readline", INFO_ERROR, 0); + return ignore_errors ? -1 : 1; } /* Save old status */ @@ -4765,7 +4837,7 @@ ignore_errors= save_ignore_errors; status=old_status; // Continue as before in_com_source= aborted= 0; - my_fclose(sql_file,MYF(0)); + my_close(line_buff->file, MYF(0)); batch_readline_end(line_buff); /* If we got an error during source operation, don't abort the client diff -Nru mariadb-11.8.3/client/mysqldump.cc mariadb-11.8.6/client/mysqldump.cc --- mariadb-11.8.3/client/mysqldump.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/client/mysqldump.cc 2026-01-31 13:27:46.000000000 +0000 @@ -142,7 +142,7 @@ #define OPT_SYSTEM_STATS 32 #define OPT_SYSTEM_TIMEZONES 64 static const char *opt_system_type_values[]= - {"all", "users", "plugins", "udfs", "servers", "stats", "timezones"}; + {"all", "users", "plugins", "udfs", "servers", "stats", "timezones", NullS}; static TYPELIB opt_system_types=CREATE_TYPELIB_FOR(opt_system_type_values); static ulonglong opt_system= 0ULL; static my_bool insert_pat_inited= 0, debug_info_flag= 0, debug_check_flag= 0, @@ -492,7 +492,7 @@ {"max_allowed_packet", 0, "The maximum packet length to send to or receive from server.", &opt_max_allowed_packet, &opt_max_allowed_packet, 0, - GET_ULONG, REQUIRED_ARG, 24*1024*1024, 4096, + GET_ULONG, REQUIRED_ARG, 1024LL*1024*1024, 4096, (longlong) 2L*1024L*1024L*1024L, 0, 1024, 0}, {"max-statement-time", 0, "Max statement execution time. If unset, overrides server default with 0.", @@ -1942,6 +1942,40 @@ return query_str; } + +static char *format_fs_safe_filename(const char *from, char *to, size_t to_size) +{ + if (check_if_legal_tablename(from)) + strxnmov(to, to_size - 1, from , "@@@", NULL); + else + { + uint errors, len; + len= my_convert(to, (uint32)(to_size - 1), &my_charset_filename, + from, (uint32) strlen(from), charset_info, &errors); + to[len]= 0; + } + return to; +} + +static void format_fs_safe_output_dir(const char *db, char *out_dir, size_t out_size) +{ + DBUG_ASSERT(opt_dir); + char fs_safe_db[FN_REFLEN]; + format_fs_safe_filename(db, fs_safe_db, sizeof(fs_safe_db)); + my_snprintf(out_dir, out_size, "%s/%s", opt_dir, fs_safe_db); +} + +static const char* build_path_for_table(char *to, const char *dir, + const char *table, const char *ext) +{ + char filename[FN_REFLEN], tmp_path[FN_REFLEN]; + convert_dirname(tmp_path, dir, NULL); + my_load_path(tmp_path, tmp_path, NULL); + format_fs_safe_filename(table, filename, sizeof(filename)); + return fn_format(to, filename, tmp_path, ext, MYF(MY_UNPACK_FILENAME)); +} + + /* Open a new .sql file to dump the table or view into @@ -1957,18 +1991,17 @@ static FILE* open_sql_file_for_table(const char *db, const char* table, int flags) { FILE* res; - char filename[FN_REFLEN], tmp_path[FN_REFLEN]; + char filename[FN_REFLEN]; char out_dir_buf[FN_REFLEN]; char *out_dir= path; if (opt_dir) { out_dir= out_dir_buf; - my_snprintf(out_dir_buf, sizeof(out_dir_buf), "%s/%s", opt_dir, db); + format_fs_safe_output_dir(db, out_dir_buf, sizeof(out_dir_buf)); } - convert_dirname(tmp_path, out_dir, NullS); - res= my_fopen(fn_format(filename, table, tmp_path, ".sql", 4), + res= my_fopen(build_path_for_table(filename, out_dir, table, ".sql"), flags, MYF(MY_WME)); return res; } @@ -4290,12 +4323,12 @@ if (multi_file_output) { - char filename[FN_REFLEN], tmp_path[FN_REFLEN]; + char filename[FN_REFLEN]; char out_dir_buf[FN_REFLEN]; char *out_dir= path; if (!out_dir) { - my_snprintf(out_dir_buf, sizeof(out_dir_buf), "%s/%s", opt_dir, db); + format_fs_safe_output_dir(db, out_dir_buf, sizeof(out_dir_buf)); out_dir= out_dir_buf; } @@ -4303,9 +4336,7 @@ Convert the path to native os format and resolve to the full filepath. */ - convert_dirname(tmp_path,out_dir,NullS); - my_load_path(tmp_path, tmp_path, NULL); - fn_format(filename, table, tmp_path, ".txt", MYF(MY_UNPACK_FILENAME)); + build_path_for_table(filename, out_dir, table, ".txt"); /* Must delete the file that 'INTO OUTFILE' will write to */ my_delete(filename, MYF(0)); @@ -4314,7 +4345,6 @@ to_unix_path(filename); /* now build the query string */ - dynstr_append_checked(&query_string, "SELECT /*!40001 SQL_NO_CACHE */ "); dynstr_append_checked(&query_string, select_field_names.str); dynstr_append_checked(&query_string, " INTO OUTFILE '"); @@ -4459,6 +4489,11 @@ fprintf(md_result_file,"/*M!101100 SET @old_system_versioning_insert_history=@@session.system_versioning_insert_history, @@session.system_versioning_insert_history=1 */;\n"); check_io(md_result_file); } + if (no_autocommit) + { + fprintf(md_result_file, "SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0;\n"); + check_io(md_result_file); + } if (opt_lock) { fprintf(md_result_file,"LOCK TABLES %s WRITE;\n", opt_quoted_table); @@ -4479,11 +4514,6 @@ if (opt_xml) print_xml_tag(md_result_file, "\t", "\n", "table_data", "name=", table, NullS); - if (no_autocommit) - { - fprintf(md_result_file, "set autocommit=0;\n"); - check_io(md_result_file); - } while ((row= mysql_fetch_row(res))) { @@ -4755,7 +4785,7 @@ } if (no_autocommit) { - fprintf(md_result_file, "commit;\n"); + fprintf(md_result_file, "COMMIT;\nSET AUTOCOMMIT=@OLD_AUTOCOMMIT;\n"); check_io(md_result_file); } if (versioned && !opt_xml && opt_dump_history) @@ -7288,6 +7318,85 @@ } /* + Fix permissions and ownership of given directory to be the same + as the root output directory. + + The function is used for newly created database directories, + together with --dir option + + This function is not thread-safe, nor does it need to be, because + it is called from the main thread only. + + chmod/chown errors are ignored after the first one, with a warning printed, + so it is really the best effort attempt. We might see an error later + if the server can't write into the directory, and this will be the + real error. + + On Windows, this function does nothing, because the permissions are + inherited from the parent directory anyway. + + @param dirpath Directory path +*/ +static void fix_permissions_and_owner(const char *dirpath) +{ +#ifndef _WIN32 + // Permissions and ownership of output directory (--dir) + static struct stat st_out_dir; + + static bool fix_perms= true; // Try fixing permission bits + static bool fix_ownership_uid= true; // Try fixing user+group ownership + static bool fix_ownership_gid= false; // Try fixing group ownership only + + static bool first_time= true; + if (first_time) + { + /* Find out permissions and ownership of output directory */ + first_time= false; + if (stat(opt_dir, &st_out_dir) != 0) + { + die(EX_CONSCHECK, "Error: cannot stat output directory %s, errno %d", + opt_dir, errno); + } + } + + /* Change permissions to be the same as for the output directory*/ + if (fix_perms && + chmod(dirpath, st_out_dir.st_mode & (S_IRWXU|S_IRWXG|S_IRWXO))) + { + fprintf(stderr, + "Warning: cannot set permissions on directory %s, errno %d\n", + dirpath, errno); + fix_perms= false; + } + + /* + Change ownership to be the same as backup root dir. + If user can't be changed, try changing owner group only. + */ + if (fix_ownership_uid && + chown(dirpath, st_out_dir.st_uid, st_out_dir.st_gid)) + { + // No warning, error is expected, unless current user is root. + fix_ownership_uid= false; + fix_ownership_gid= true; + } + + if (fix_ownership_gid && chown(dirpath, -1, st_out_dir.st_gid)) + { + if (!(st_out_dir.st_mode & S_IWOTH)) + { + /* Only warn if directory is not world-writable (group ownership + matters more in this case), to avoid spamming stderr.*/ + fprintf(stderr, + "Warning: cannot set group ownership on directory %s, errno %d\n", + dirpath, errno); + } + fix_ownership_gid= false; + } +#endif +} + +/* If --dir option is in use, ensure that output directory for given db exists. */ @@ -7295,7 +7404,7 @@ { DBUG_ASSERT(opt_dir); char outdir[FN_REFLEN]; - my_snprintf(outdir, sizeof(outdir), "%s/%s", opt_dir, db); + format_fs_safe_output_dir(db, outdir, sizeof(outdir)); struct stat st; if (stat(outdir, &st) == 0) { @@ -7306,6 +7415,7 @@ } if (my_mkdir(outdir, 0777, MYF(MY_WME))) die(EX_MYSQLERR, "Error creating directory %s", outdir); + fix_permissions_and_owner(outdir); } diff -Nru mariadb-11.8.3/client/mysqlimport.cc mariadb-11.8.6/client/mysqlimport.cc --- mariadb-11.8.3/client/mysqlimport.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/client/mysqlimport.cc 2026-01-31 13:27:46.000000000 +0000 @@ -50,7 +50,7 @@ std::atomic aborting{false}; static void kill_tp_connections(MYSQL *mysql); -static void db_error_with_table(MYSQL *mysql, char *table); +static void db_error_with_table(MYSQL *mysql, const char *table); static void db_error(MYSQL *mysql); static char *field_escape(char *to,const char *from,uint length); static char *add_load_option(char *ptr,const char *object, @@ -82,12 +82,36 @@ static void safe_exit(int error, MYSQL *mysql); static void set_exitcode(int code); +/* + Try to convert from filesystem-safe name escaping to string + in default character set. + + @param name Name to unescape + @param buf Buffer to store result + @param sz Size of buffer + @return length of result string, or 0 on error or decodin + not needed +*/ +static uint decode_fs_safe_name(const char *name, char *buf, size_t sz) +{ + if (!strchr(name, '@')) + return 0; + uint errors, len; + len= my_convert(buf, (uint32)(sz - 1), default_charset_info, name, (uint32) strlen(name), + &my_charset_filename, &errors); + if (errors || !len) + return 0; + buf[len]= 0; + return len; +} + struct table_load_params { std::string data_file; /* name of the file to load with LOAD DATA INFILE */ std::string sql_file; /* name of the file that contains CREATE TABLE or CREATE VIEW */ std::string dbname; /* name of the database */ + std::string tablename; /* name of the table */ bool tz_utc= false; /* true if the script sets the timezone to UTC */ bool is_view= false; /* true if the script is for a VIEW */ std::vector triggers; /* CREATE TRIGGER statements */ @@ -98,12 +122,21 @@ table_load_params(const char* dfile, const char* sqlfile, const char* db, ulonglong data_size) : data_file(dfile), sql_file(sqlfile), - dbname(db), triggers(), + triggers(), size(data_size), sql_text(parse_sql_script(sqlfile, &tz_utc, &triggers)), ddl_info(sql_text) { is_view= ddl_info.table_name.empty(); + /* Convert dbname from FS safe encoding if needed. */ + char decoded_name[FN_REFLEN]; + uint len= decode_fs_safe_name(db, decoded_name, sizeof(decoded_name)); + dbname= len ? std::string(decoded_name, len) : std::string(db); + + char raw_tblname[FN_REFLEN]; + fn_format(raw_tblname, dfile, "", "", MY_REPLACE_DIR | MY_REPLACE_EXT); + len= decode_fs_safe_name(raw_tblname, decoded_name, sizeof(decoded_name)); + tablename= len ? std::string(decoded_name, len) : std::string(raw_tblname); } int create_table_or_view(MYSQL *); int load_data(MYSQL *); @@ -646,7 +679,7 @@ int table_load_params::load_data(MYSQL *mysql) { - char tablename[FN_REFLEN], hard_path[FN_REFLEN], + char hard_path[FN_REFLEN], escaped_name[FN_REFLEN * 2 + 1], sql_statement[FN_REFLEN*16+256], *end; DBUG_ENTER("table_load_params::load"); @@ -666,13 +699,10 @@ } const char *filename= data_file.c_str(); - - fn_format(tablename, filename, "", "", 1 | 2); /* removes path & ext. */ - const char *db= current_db ? current_db : dbname.c_str(); std::string full_tablename= quote_identifier(db); full_tablename+= "."; - full_tablename+= quote_identifier(tablename); + full_tablename+= quote_identifier(tablename.c_str()); if (tz_utc && exec_sql(mysql, "SET TIME_ZONE='+00:00';")) DBUG_RETURN(1); @@ -688,7 +718,7 @@ if (opt_delete) { if (verbose) - fprintf(stdout, "Deleting the old data from table %s\n", tablename); + fprintf(stdout, "Deleting the old data from table %s\n", tablename.c_str()); snprintf(sql_statement, FN_REFLEN * 16 + 256, "DELETE FROM %s", full_tablename.c_str()); if (exec_sql(mysql, sql_statement)) @@ -713,7 +743,7 @@ if (verbose) { fprintf(stdout, "Loading data from %s file: %s into %s\n", - (opt_local_file) ? "LOCAL" : "SERVER", hard_path, tablename); + (opt_local_file) ? "LOCAL" : "SERVER", hard_path, tablename.c_str()); } mysql_real_escape_string(mysql, escaped_name, hard_path, (unsigned long) strlen(hard_path)); @@ -747,14 +777,14 @@ if (mysql_query(mysql, sql_statement)) { - db_error_with_table(mysql, tablename); + db_error_with_table(mysql, tablename.c_str()); DBUG_RETURN(1); } if (!silent) { const char *info= mysql_info(mysql); if (info) /* If NULL-pointer, print nothing */ - fprintf(stdout, "%s.%s: %s\n", db, tablename, info); + fprintf(stdout, "%s.%s: %s\n", db, tablename.c_str(), info); } @@ -869,10 +899,7 @@ if (opt_default_auth && *opt_default_auth) mysql_options(mysql, MYSQL_DEFAULT_AUTH, opt_default_auth); - if (!strcmp(default_charset,MYSQL_AUTODETECT_CHARSET_NAME)) - default_charset= (char *)my_default_csname(); - my_set_console_cp(default_charset); - mysql_options(mysql, MYSQL_SET_CHARSET_NAME, my_default_csname()); + mysql_options(mysql, MYSQL_SET_CHARSET_NAME, default_charset); mysql_options(mysql, MYSQL_OPT_CONNECT_ATTR_RESET, 0); mysql_options4(mysql, MYSQL_OPT_CONNECT_ATTR_ADD, "program_name", "mysqlimport"); @@ -961,7 +988,7 @@ -static void db_error_with_table(MYSQL *mysql, char *table) +static void db_error_with_table(MYSQL *mysql, const char *table) { if (aborting) return; @@ -1263,6 +1290,12 @@ free_defaults(argv_to_free); return(1); } + + if (!strcmp(default_charset, MYSQL_AUTODETECT_CHARSET_NAME)) + default_charset= (char *) my_default_csname(); + my_set_console_cp(default_charset); + default_charset_info= get_charset_by_csname(default_charset, MY_CS_PRIMARY, 0); + if (opt_use_threads > MAX_THREADS) { fatal_error("Too many connections, max value for --parallel is %d\n", diff -Nru mariadb-11.8.3/client/mysqltest.cc mariadb-11.8.6/client/mysqltest.cc --- mariadb-11.8.3/client/mysqltest.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/client/mysqltest.cc 2026-01-31 13:27:46.000000000 +0000 @@ -55,6 +55,7 @@ #endif #include #include +#include #include // ORACLE_WELCOME_COPYRIGHT_NOTICE @@ -78,7 +79,7 @@ #define MAX_DELIMITER_LENGTH 16 #define DEFAULT_MAX_CONN 64 -#define DIE_BUFF_SIZE 15*1024 +#define DIE_BUFF_SIZE 64*1024 #define RESULT_STRING_INIT_MEM 2048 #define RESULT_STRING_INCREMENT_MEM 2048 @@ -697,6 +698,320 @@ static void append_session_track_info(DYNAMIC_STRING *ds, MYSQL *mysql); + +/* + ======================================================================== + EXPRESSION PARSER AND EVALUATOR FOR MYSQLTEST + ======================================================================== + + DESCRIPTION + This module implements a complete recursive descent parser for mathematical + and logical expressions used in mysqltest scripts. The parser supports: + + OPERATOR PRECEDENCE (from highest to lowest): + - Primary expressions (parentheses, literals, functions) + - Unary operators (!, -, ~) + - Bitwise XOR (^) + - Multiplication/Division (*, /, %) + - Arithmetic (+, -) + - Bitwise Shift (<<, >>) + - Bitwise AND (&) + - Bitwise OR (|) + - Comparison (<, <=, >, >=) + - Equality (==, !=) + - Logical AND (&&) + - Logical OR (||) + + SUPPORTED DATA TYPES: + - Integers (decimal, hexadecimal (0x), binary (0b)) + - Booleans + - Strings + - NULL values + + BUILT-IN FUNCTIONS: + String functions: substr/substring, locate, length, hex, oct, bin, + ltrim, rtrim, trim, upper/ucase, lower/lcase, + reverse, replace, concat, concat_ws, repeat, + insert, instr, lpad, rpad, substring_index + Regex functions: regexp_instr, regexp_replace, regexp_substr + Numeric functions: abs, conv + Comparison functions: greatest, least + Conditional: ifnull, nullif, coalesce + + SYNTAX: + Expressions are enclosed in $() and can contain: + - Variables: $var_name + - Literals: numbers, strings, booleans, null + - Operators: all standard mathematical and logical operators + - Functions: built-in function calls with arguments + - Parentheses for grouping + + EXAMPLES: + $(1 + 2 * 3) # Arithmetic + $($var1 > $var2) # Comparison + $(substr("hello", 1, 3)) # Function call + $($flag && ($count > 0)) # Logical operations + $(1 << 2 | 3) # Bitwise operations + + let $x = $(10 + 2); + echo $(1 + 2); + if ($($x > 10)) + { + echo "x is greater than 10"; + } + while ($($x < 20)) + { + echo $($x); + let $x = $($x + 1); + } + + ENTRY POINT: + Main parsing starts with expr() function which is called from do_eval(). + + ERROR HANDLING: + Parser dies with descriptive error messages on syntax errors or + type mismatches. All errors are fatal to ensure test reliability. +*/ + +typedef String My_string; + +enum Expression_value_type +{ + EXPR_INT, + EXPR_STRING, + EXPR_NULL +}; + + +/* + Expression value container for mysqltest expression parser + This structure holds the result of parsed expressions and provides + type conversion methods. It supports multiple data types with + the ability to convert between them. +*/ + +struct Expression_value +{ + Expression_value_type type; + unsigned long long int_val; + bool is_numeric; + bool is_unsigned; + My_string str_val; + + + Expression_value() + { + type= EXPR_NULL; + is_numeric= false; + is_unsigned= false; + } + + + void set_int(long long value) + { + type= EXPR_INT; + is_numeric= true; + is_unsigned= false; + int_val= value; + } + + + void set_uint(unsigned long long value) + { + type= EXPR_INT; + is_numeric= true; + is_unsigned= true; + int_val= value; + } + + + void set_string(const char *value, size_t len) + { + type= EXPR_STRING; + is_numeric= false; + str_val.copy(value, len, charset_info); + } + + + void set_bool(bool value) + { + type= EXPR_INT; + is_numeric= true; + is_unsigned= false; + int_val= value ? 1 : 0; + } + + + long long to_int() const + { + if (is_numeric) + return (long long)int_val; + errno= 0; + long long val= strtoll(str_val.ptr(), NULL, 10); + if (errno == ERANGE) + die("Range error: %.*s value out of range for Integer type", + (int)str_val.length(), str_val.ptr()); + return val; + } + + + unsigned long long to_uint() const + { + if (is_numeric) + return int_val; + errno= 0; + unsigned long long val= strtoull(str_val.ptr(), NULL, 10); + if (errno == ERANGE) + die("Range error: %.*s value out of range for Integer type", + (int)str_val.length(), str_val.ptr()); + return val; + } + + + bool to_bool() const + { + return (bool)to_int(); + } + + + My_string to_string() const + { + My_string buffer; + + if (type == EXPR_NULL) + { + buffer.set("", 0, charset_info); + return buffer; + } + + if (is_numeric) + { + buffer.set_int(int_val, is_unsigned, charset_info); + return buffer; + } + + if (type == EXPR_STRING) + { + buffer.copy(str_val); + return buffer; + } + + buffer.set("", 0, charset_info); + return buffer; + } + + + Expression_value& operator=(const Expression_value& other) + { + if (this != &other) + { + type= other.type; + int_val= other.int_val; + is_numeric= other.is_numeric; + is_unsigned= other.is_unsigned; + if (other.type == EXPR_STRING) + { + str_val.copy(other.str_val); + } + } + return *this; + } + + + void reset() + { + // My_string memory is kept allocated for reuse + type= EXPR_NULL; + is_numeric= false; + is_unsigned= false; + } + + +/** + Parses a token string and initializes the Expression_value with the + appropriate type and value. + + Type selection logic: + - Hex/binary numbers, or values > LLONG_MAX → unsigned integer + - Decimal numbers ≤ LLONG_MAX → signed integer + - Boolean literals → boolean type + - "null" → null type + - Everything else → string type +*/ + + void init(const char* token_start, size_t token_len) + { + char *endptr; + unsigned long long parsed_int; + int base= 10; + + // Check for boolean literals (case insensitive) + if (token_len == 4 && strncasecmp(token_start, "true", 4) == 0) + { + set_bool(true); + return; + } + + if (token_len == 5 && strncasecmp(token_start, "false", 5) == 0) + { + set_bool(false); + return; + } + + if(token_len == 4 && strncasecmp(token_start, "null", 4) == 0) + { + reset(); + return; + } + + // Check for special prefixes (0x, 0b) + if (token_len >= 3 && token_start[0] == '0') + { + if (token_start[1] == 'x') + { + base= 16; + } + else if (token_start[1] == 'b') + { + base= 2; + token_start+= 2; // Skip "0b" prefix for strtol + token_len-= 2; + } + } + + errno= 0; + parsed_int= strtoull(token_start, &endptr, base); + if (errno == ERANGE) + die("Range error: %.*s value out of range for Integer type", + (int)token_len, token_start); + + // If the entire token was parsed as an integer, set the type to integer + if (endptr == token_start + token_len) + { + if (base == 16 || base == 2 || parsed_int > LLONG_MAX) + set_uint(parsed_int); + else + set_int((long long)parsed_int); + return; + } + + set_string(token_start, token_len); + } +}; + + +/* Core expression parsing functions */ +static void expr(Expression_value *result, const char **s); +static void logical_or(Expression_value *result, const char **s); +static void logical_and(Expression_value *result, const char **s); +static void equality(Expression_value *result, const char **s); +static void comparison(Expression_value *result, const char **s); +static void term(Expression_value *result, const char **s); +static void factor(Expression_value *result, const char **s); +static void unary(Expression_value *result, const char **s); +static void primary(Expression_value *result, const char **s); + + class LogFile { FILE* m_file; char m_file_name[FN_REFLEN]; @@ -1172,6 +1487,60 @@ escaped= 0; dynstr_append_mem(query_eval, p, 1); } + else if (p < query_end && *(p + 1) == '(') + { + const char* expr_start= p + 2; + int paren_level= 1; + const char* expr_end= expr_start; + char in_quote= 0; + bool escaped= false; + + // Find the matching closing parenthesis + while (*expr_end && paren_level > 0) + { + if (!in_quote) + { + // Not inside quotes - handle parentheses normally + if (*expr_end == '(') paren_level++; + else if (*expr_end == ')') paren_level--; + else if (*expr_end == '\'' || *expr_end == '"') + in_quote= *expr_end; // Start of quoted string + } + else + { + // Inside quotes - only look for closing quote + if (!escaped && *expr_end == in_quote) + in_quote= 0; // End of quoted string + } + escaped= (!escaped && *expr_end == '\\'); + expr_end++; + } + + if (paren_level != 0) + die("Unmatched parenthesis in expression starting at '%.*s'", 10, p); + expr_end--; // Go back to the ')' + + // Recursively evaluate the content of the expression + DYNAMIC_STRING sub_expr_eval; + init_dynamic_string(&sub_expr_eval, "", 256, 1024); + do_eval(&sub_expr_eval, expr_start, expr_end, FALSE); + + const char* eval_ptr= sub_expr_eval.str; + Expression_value result_val; + expr(&result_val, &eval_ptr); + + while(*eval_ptr && my_isspace(charset_info, *eval_ptr)) + eval_ptr++; + + if (*eval_ptr != '\0') + die("Syntax error in sub-expression '%.*s'", (int)sub_expr_eval.length, sub_expr_eval.str); + + My_string result_buf= result_val.to_string(); + dynstr_append_mem(query_eval, result_buf.c_ptr(), result_buf.length()); + + dynstr_free(&sub_expr_eval); + p= expr_end; + } else { if (!(v= var_get(p, &p, 0, 0))) @@ -1631,6 +2000,8 @@ s+= my_snprintf(s, end -s, "\n"); } +PRAGMA_DISABLE_CHECK_STACK_FRAME + static void die(const char *fmt, ...) { char buff[DIE_BUFF_SIZE]; @@ -1642,6 +2013,8 @@ really_die(buff); } +PRAGMA_REENABLE_CHECK_STACK_FRAME + static void really_die(const char *msg) { static int dying= 0; @@ -1670,6 +2043,8 @@ cleanup_and_exit(1, 1); } +PRAGMA_DISABLE_CHECK_STACK_FRAME + void report_or_die(const char *fmt, ...) { va_list args; @@ -1724,6 +2099,7 @@ cleanup_and_exit(62, 0); } +PRAGMA_REENABLE_CHECK_STACK_FRAME void abort_not_in_this_version() { @@ -5012,6 +5388,2385 @@ } +/* Built-in functions available in expressions */ +enum func_type +{ + // Numeric functions + FUNC_ABS, + FUNC_BIN, + FUNC_CONV, + FUNC_HEX, + FUNC_OCT, + // String functions + FUNC_CONCAT, + FUNC_CONCAT_WS, + FUNC_GREATEST, + FUNC_INSERT, + FUNC_INSTR, + FUNC_LPAD, + FUNC_LEAST, + FUNC_LENGTH, + FUNC_LOCATE, + FUNC_LOWER, + FUNC_LTRIM, + FUNC_REPEAT, + FUNC_REPLACE, + FUNC_REVERSE, + FUNC_RPAD, + FUNC_RTRIM, + FUNC_SUBSTR, + FUNC_SUBSTR_IDX, + FUNC_TRIM, + FUNC_UPPER, + // Regexp functions + FUNC_REGEXP_INSTR, + FUNC_REGEXP_REPLACE, + FUNC_REGEXP_SUBSTR, + // Null functions + FUNC_COALESCE, + FUNC_IFNULL, + FUNC_NULLIF, + + FUNC_UNKNOWN +}; + + +enum func_type get_expr_function_type(const char *name, size_t len); +void handle_expr_function_call(enum func_type func_type, + Expression_value *result, const char **s); + + +static int match(const char **s, const char *op) +{ + while (my_isspace(charset_info, **s)) (*s)++; + size_t len= strlen(op); + if (strncmp(*s, op, len) == 0) + { + // check for ambiguous operators (e.g., distinguish | from ||) + if (len == 1 && strchr("&|", **s)) + { + char next_char= *(*s + 1); + if (next_char == op[0]) + return 0; // don't match single & or | when && or || follows + } + *s += len; + return 1; + } + return 0; +} + + +/** + @brief Check if character is an operator + @param[in] c Character to check + + @details + Used to separate tokens during parsing of unquoted string literals. + Operator characters: ! * % / + - < > = & | ^ ~ ( ) , + + @return + TRUE if character is an operator + FALSE otherwise +*/ + +static bool is_operator_char(char c) +{ + return strchr("!*%/+-<>=&|^~(),", c) != NULL; +} + + +/** + @brief Compare two Expression_value operands numerically + @param[in] left Left operand + @param[in] right Right operand + + @details + Compares two numeric Expression_value objects handling signed vs unsigned + comparison correctly. Handles the edge cases where comparing signed negative + values with unsigned values. + + @return + -1 left < right + 0 left == right + 1 left > right + -2 left or right is null +*/ + +static int cmp_numeric(const Expression_value &left, const Expression_value &right) +{ + // Handle null values first + if (left.type == EXPR_NULL || right.type == EXPR_NULL) + return -2; + + if (!left.is_numeric || !right.is_numeric) + die("Evaluation error: cmp_numeric called with non-numeric operands"); + + // Both unsigned + if (left.is_unsigned && right.is_unsigned) + return (left.to_uint() > right.to_uint()) - (left.to_uint() < right.to_uint()); + + // Both signed + if (!left.is_unsigned && !right.is_unsigned) + return (left.to_int() > right.to_int()) - (left.to_int() < right.to_int()); + + // Mixed signed/unsigned + if (left.is_unsigned) + { + // left is unsigned, right is signed + long long right_val= right.to_int(); + if (right_val < 0) + return 1; // unsigned > negative + else + { + unsigned long long left_val= left.to_uint(); + unsigned long long right_unsigned= (unsigned long long)right_val; + return (left_val > right_unsigned) - (left_val < right_unsigned); + } + } + else + { + // left is signed, right is unsigned + long long left_val= left.to_int(); + if (left_val < 0) + return -1; // negative < unsigned + else + { + unsigned long long left_unsigned= (unsigned long long)left_val; + unsigned long long right_val= right.to_uint(); + return (left_unsigned > right_val) - (left_unsigned < right_val); + } + } +} + + +/** + @brief Parse primary expressions (literals, functions) + @param[out] result Expression_value to store result + @param[in] s Pointer to string pointer containing the expression to parse + + @details + Handles the lowest level of expression parsing: + - String literals: 'text' or "text" + - Function calls: func_name(args...) + - Numeric literals: integers in decimal/hex/binary format + - Boolean literals: true/false (case-insensitive) + - Null literal: null (case-insensitive) + - Unquoted string tokens (treated as strings) as long as they are not operators, + literals, or function calls. + + For function calls, validates function name against function_table[] + and delegates to handle_expr_function_call(). + + @note Dies on syntax errors or unknown functions +*/ + +static void primary(Expression_value *result, const char **s) +{ + while (my_isspace(charset_info, **s)) (*s)++; + + if (match(s, "(")) + { + expr(result, s); + if (!match(s, ")")) + die("Syntax error: Expected ')' in expression"); + return; + } + + const char *start= *s; + const char *end= start; + char quote_char= 0; + + // check if this is a quoted string literal + if (*start == '\'' || *start == '"') + { + quote_char= *start; + start++; + end= start; + while (*end) + { + if (*end == '\\' && *(end + 1)) + end++; + else if (*end == quote_char) + break; + end++; + } + + if (*end != quote_char) + die("Syntax error: Unmatched quote in expression"); + + result->set_string(start, end - start); + *s= end + 1; + return; + } + + /* + function name is a sequence of alphanumeric characters or underscores + followed by a '(' + */ + while (*end && (my_isalnum(charset_info, *end) || *end == '_')) + end++; + + if (*end == '(') + { + enum func_type func_type= get_expr_function_type(start, + end - start); + if (func_type == FUNC_UNKNOWN) + die("Syntax error: Unknown function"); + + *s= end + 1; // skip '(' + handle_expr_function_call(func_type, result, s); + } + else + { + // treat unquoted string literals as strings + end= start; + while (*end && !is_operator_char(*end)) + end++; + + while (start < end && my_isspace(charset_info, *(end - 1))) + end--; + + if (end == start) + die("Syntax error: invalid expression"); + + result->init(start, end - start); + *s= end; + } +} + + +static void unary(Expression_value *result, const char **s) +{ + if (match(s, "!")) + { + unary(result, s); + if (!result->is_numeric) + die("Type error: logical NOT requires an integer operand"); + result->set_bool(!result->to_int()); + return; + } + if (match(s, "-")) + { + unary(result, s); + if (!result->is_numeric) + die("Type error: unary minus requires an integer operand"); + result->set_int(-result->to_int()); + return; + } + if (match(s, "~")) + { + unary(result, s); + if (!result->is_numeric) + die("Type error: bitwise NOT requires an integer operand"); + result->set_uint(~result->to_uint()); + return; + } + primary(result, s); +} + + +static void bitwise_xor(Expression_value *result, const char **s) +{ + Expression_value rhs; + + unary(result, s); + while (true) + { + if (match(s, "^")) + { + rhs.reset(); + unary(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '^' requires integer operands"); + result->set_uint(result->to_uint() ^ rhs.to_uint()); + } + else + break; + } +} + + +static void factor(Expression_value *result, const char **s) +{ + Expression_value rhs; + + bitwise_xor(result, s); + while (true) + { + if (match(s, "*")) + { + rhs.reset(); + bitwise_xor(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '*' requires integer operands"); + if (result->is_unsigned || rhs.is_unsigned) + result->set_uint(result->to_uint() * rhs.to_uint()); + else + result->set_int(result->to_int() * rhs.to_int()); + } + else if (match(s, "/")) + { + rhs.reset(); + bitwise_xor(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '/' requires integer operands"); + if (rhs.to_int() == 0) + die("Evaluation error: Division by zero"); + if (result->is_unsigned || rhs.is_unsigned) + result->set_uint(result->to_uint() / rhs.to_uint()); + else + { + long long nominator= result->to_int(); + long long denominator= rhs.to_int(); + // Prevent fatal integer overflow from LLONG_MIN / -1, which causes a crash + if (nominator == LLONG_MIN && denominator == -1) + result->set_int(nominator); + else + result->set_int(nominator / denominator); + } + } + else if (match(s, "%")) + { + rhs.reset(); + bitwise_xor(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '%%' requires integer operands"); + if (rhs.to_int() == 0) + die("Evaluation error: Modulo by zero"); + if (result->is_unsigned || rhs.is_unsigned) + result->set_uint(result->to_uint() % rhs.to_uint()); + else + { + long long nominator= result->to_int(); + long long denominator= rhs.to_int(); + // Prevent fatal integer overflow from LLONG_MIN % -1, which causes a crash + if (nominator == LLONG_MIN && denominator == -1) + result->set_int(0); + else + result->set_int(nominator % denominator); + } + } + else + break; + } +} + + +static void term(Expression_value *result, const char **s) +{ + Expression_value rhs; + + factor(result, s); + while (true) + { + if (match(s, "+")) + { + rhs.reset(); + factor(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '+' requires integer operands"); + if (result->is_unsigned || rhs.is_unsigned) + result->set_uint(result->to_uint() + rhs.to_uint()); + else + result->set_int(result->to_int() + rhs.to_int()); + } + else if (match(s, "-")) + { + rhs.reset(); + factor(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '-' requires integer operands"); + if (result->is_unsigned || rhs.is_unsigned) + result->set_uint(result->to_uint() - rhs.to_uint()); + else + result->set_int(result->to_int() - rhs.to_int()); + } + else + break; + } +} + + +static void bitwise_shift(Expression_value *result, const char **s) +{ + Expression_value rhs; + + term(result, s); + while (true) + { + if (match(s, "<<")) + { + rhs.reset(); + term(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '<<' requires integer operands"); + if (rhs.to_int() < 0 || rhs.to_int() >= 64) + die("Evaluation error: Invalid shift amount"); + result->set_uint(result->to_uint() << rhs.to_int()); + } + else if (match(s, ">>")) + { + rhs.reset(); + term(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '>>' requires integer operands"); + if (rhs.to_int() < 0 || rhs.to_int() >= 64) + die("Evaluation error: Invalid shift amount"); + result->set_uint(result->to_uint() >> rhs.to_int()); + } + else + break; + } +} + + +static void bitwise_and(Expression_value *result, const char **s) +{ + Expression_value rhs; + + bitwise_shift(result, s); + while (true) + { + if (match(s, "&") && !match(s, "&&")) + { + rhs.reset(); + bitwise_shift(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '&' requires integer operands"); + result->set_uint(result->to_uint() & rhs.to_uint()); + } + else + break; + } +} + + +static void bitwise_or(Expression_value *result, const char **s) +{ + Expression_value rhs; + + bitwise_and(result, s); + while (true) + { + if (match(s, "|") && !match(s, "||")) + { + rhs.reset(); + bitwise_and(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '|' requires integer operands"); + result->set_uint(result->to_uint() | rhs.to_uint()); + } + else + break; + } +} + + +static void comparison(Expression_value *result, const char **s) +{ + Expression_value rhs; + + bitwise_or(result, s); + while (true) + { + if (match(s, "<=")) + { + rhs.reset(); + bitwise_or(&rhs, s); + if (result->type == EXPR_NULL || rhs.type == EXPR_NULL) + result->reset(); + else if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '<=' requires integer operands"); + else + result->set_bool(cmp_numeric(*result, rhs) <= 0); + } + else if (match(s, ">=")) + { + rhs.reset(); + bitwise_or(&rhs, s); + if (result->type == EXPR_NULL || rhs.type == EXPR_NULL) + result->reset(); + else if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '>=' requires integer operands"); + else + result->set_bool(cmp_numeric(*result, rhs) >= 0); + } + else if (match(s, "<")) + { + rhs.reset(); + bitwise_or(&rhs, s); + if (result->type == EXPR_NULL || rhs.type == EXPR_NULL) + result->reset(); + else if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '<' requires integer operands"); + else + result->set_bool(cmp_numeric(*result, rhs) < 0); + } + else if (match(s, ">")) + { + rhs.reset(); + bitwise_or(&rhs, s); + if (result->type == EXPR_NULL || rhs.type == EXPR_NULL) + result->reset(); + else if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '>' requires integer operands"); + else + result->set_bool(cmp_numeric(*result, rhs) > 0); + } + else + break; + } +} + + +static void equality(Expression_value *result, const char **s) +{ + Expression_value rhs; + + comparison(result, s); + while (true) + { + if (match(s, "==")) + { + rhs.reset(); + comparison(&rhs, s); + + if (result->type == EXPR_NULL || rhs.type == EXPR_NULL) + { + result->reset(); + } + else if (result->is_numeric && rhs.is_numeric) + { + result->set_bool(cmp_numeric(*result, rhs) == 0); + } + else if (result->type == EXPR_STRING && rhs.type == EXPR_STRING) + { + result->set_bool(!strcmp(result->str_val.c_ptr(), rhs.str_val.c_ptr())); + } + else + { + result->set_bool(false); // different types are not equal + } + } + else if (match(s, "!=")) + { + rhs.reset(); + comparison(&rhs, s); + + if (result->type == EXPR_NULL || rhs.type == EXPR_NULL) + { + result->reset(); + } + else if (result->is_numeric && rhs.is_numeric) + { + result->set_bool(cmp_numeric(*result, rhs) != 0); + } + else if (result->type == EXPR_STRING && rhs.type == EXPR_STRING) + { + result->set_bool(strcmp(result->str_val.c_ptr(), rhs.str_val.c_ptr()) != 0); + } + else + { + result->set_bool(true); // different types are not equal + } + } + else + break; + } +} + + +static void logical_and(Expression_value *result, const char **s) +{ + Expression_value rhs; + + equality(result, s); + while (match(s, "&&")) + { + rhs.reset(); + equality(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '&&' requires integer operands"); + result->set_bool(result->to_int() && rhs.to_int()); + } +} + + +static void logical_or(Expression_value *result, const char **s) +{ + Expression_value rhs; + + logical_and(result, s); + while (match(s, "||")) + { + rhs.reset(); + logical_and(&rhs, s); + if (!result->is_numeric || !rhs.is_numeric) + die("Type error: operator '||' requires integer operands"); + result->set_bool(result->to_int() || rhs.to_int()); + } +} + + +/** + @brief Parse and evaluate a mathematical/logical expression + @param[out] result Pointer to Expression_value structure to store the result + @param[in] s Pointer to string pointer containing the expression to parse + + @details + This is the main entry point for the recursive descent expression parser. + It parses expressions with the following grammar hierarchy (by precedence): + + expr -> logical_or + logical_or -> logical_and (||) + logical_and -> equality (&&) + equality -> comparison (==, !=) + comparison -> bitwise_or (<, >, <=, >=) + bitwise_or -> bitwise_and (|) + bitwise_and -> bitwise_shift (&) + bitwise_shift -> term (<<, >>) + term -> factor (+, -) + factor -> bitwise_xor (*, /, %) + bitwise_xor -> unary (^) + unary -> primary (!, -, ~) + primary -> literals, functions, parentheses + + Supported data types: + - INTEGERS: signed/unsigned integers (decimal, hex 0x, binary 0b) + - BOOLEAN: boolean values (true, false) + - STRINGS: quoted or unquoted string literals + - NULL: null values + + The parser advances the string pointer *s as it consumes tokens. + + @note + The parser does not handle overflow/underflow of large numbers after + the initial parsing. It is the responsibility of the caller to ensure that + the result of the operations is within the range of the data type (2^64-1). + + @note Dies with error message if syntax error or type mismatch detected +*/ + +static void expr(Expression_value *result, const char **s) +{ + logical_or(result, s); +} + + +/* Expression function handling */ +#define MAX_FUNC_ARGS 100 + +static struct { + const char *name; + enum func_type type; +} function_table[]= { + // Numeric functions + {"abs", FUNC_ABS}, + {"bin", FUNC_BIN}, + {"conv", FUNC_CONV}, + {"hex", FUNC_HEX}, + {"oct", FUNC_OCT}, + // String functions + {"concat", FUNC_CONCAT}, + {"concat_ws", FUNC_CONCAT_WS}, + {"greatest", FUNC_GREATEST}, + {"insert", FUNC_INSERT}, + {"instr", FUNC_INSTR}, + {"lcase", FUNC_LOWER}, + {"least", FUNC_LEAST}, + {"length", FUNC_LENGTH}, + {"locate", FUNC_LOCATE}, + {"lower", FUNC_LOWER}, + {"lpad", FUNC_LPAD}, + {"ltrim", FUNC_LTRIM}, + {"repeat", FUNC_REPEAT}, + {"replace", FUNC_REPLACE}, + {"reverse", FUNC_REVERSE}, + {"rpad", FUNC_RPAD}, + {"rtrim", FUNC_RTRIM}, + {"substr", FUNC_SUBSTR}, + {"substring", FUNC_SUBSTR}, + {"substring_index", FUNC_SUBSTR_IDX}, + {"trim", FUNC_TRIM}, + {"ucase", FUNC_UPPER}, + {"upper", FUNC_UPPER}, + // Regexp functions + {"regexp_instr", FUNC_REGEXP_INSTR}, + {"regexp_replace", FUNC_REGEXP_REPLACE}, + {"regexp_substr", FUNC_REGEXP_SUBSTR}, + // Null functions + {"coalesce", FUNC_COALESCE}, + {"ifnull", FUNC_IFNULL}, + {"nullif", FUNC_NULLIF}, + {NULL, FUNC_UNKNOWN} +}; + + +static void convert_base_helper(const My_string &str, int from_base, int to_base, + Expression_value *value) +{ + char temp_buffer[66]; // should be enough for any base + long long result; + char *endptr; + int err; + size_t str_len= str.length(); + + if (from_base < 0) // Negative base = treat input as SIGNED + result= my_strntoll_8bit(charset_info, str.ptr(), str_len, -from_base, + &endptr, &err); + else // Positive base = treat input as UNSIGNED + result= (long long) my_strntoull_8bit(charset_info, str.ptr(), str_len, + from_base, &endptr, &err); + + if (err == ERANGE) + die("Range error: value out of range for Integer type"); + + if (err != 0 || endptr != str.ptr() + str_len) + die("invalid number '%.*s' for base %d", (int)str_len, str.ptr(), from_base); + + endptr= longlong2str(result, temp_buffer, to_base); + if (!endptr) + die("could not convert number '%.*s' for base %d", + (int)str_len, str.ptr(), to_base); + + value->set_string(temp_buffer, endptr - temp_buffer); +} + + +/** + @brief Compare two decimal strings numerically + @param[in] a First decimal string + @param[in] b Second decimal string + + @details + Compares two decimal number strings treating them as numeric values. + Handles leading/trailing whitespace, signs, and leading zeros properly. + + @return + -1 a < b + 0 a == b + 1 a > b +*/ + +static int cmp_decimal(const My_string &a, const My_string &b) +{ + const char *a_ptr= a.ptr(); + const char *b_ptr= b.ptr(); + size_t a_len= a.length(); + size_t b_len= b.length(); + + // Skip leading whitespace + while (a_len > 0 && isspace(*a_ptr)) + a_ptr++, a_len--; + while (b_len > 0 && isspace(*b_ptr)) + b_ptr++, b_len--; + + // Handle empty strings (treat as 0) + if (a_len == 0 && b_len == 0) return 0; + if (a_len == 0) return b_ptr[0] == '-' ? 1 : -1; + if (b_len == 0) return a_ptr[0] == '-' ? -1 : 1; + + // Extract signs + bool a_negative= false, b_negative= false; + if (*a_ptr == '-') a_negative= true, a_ptr++, a_len--; + else if (*a_ptr == '+') a_ptr++, a_len--; + + if (*b_ptr == '-') b_negative= true, b_ptr++, b_len--; + else if (*b_ptr == '+') b_ptr++, b_len--; + + // Skip leading zeros + while (a_len > 0 && *a_ptr == '0') a_ptr++, a_len--; + while (b_len > 0 && *b_ptr == '0') b_ptr++, b_len--; + + // Find actual numeric length (digits only) + size_t a_digits= 0, b_digits= 0; + for (size_t i= 0; i < a_len && isdigit(a_ptr[i]); i++) a_digits++; + for (size_t i= 0; i < b_len && isdigit(b_ptr[i]); i++) b_digits++; + + // Handle zero cases after removing leading zeros + bool a_is_zero= (a_digits == 0); + bool b_is_zero= (b_digits == 0); + + if (a_is_zero && b_is_zero) return 0; + if (a_is_zero) return b_negative ? 1 : -1; + if (b_is_zero) return a_negative ? -1 : 1; + + // Different signs: negative < positive + if (a_negative && !b_negative) return -1; + if (!a_negative && b_negative) return 1; + + // Same sign: compare absolute values + int abs_cmp= 0; + + // First compare by number of digits + if (a_digits != b_digits) + { + abs_cmp= (a_digits > b_digits) ? 1 : -1; + } + else + { + // Same number of digits: compare digit by digit + for (size_t i= 0; i < a_digits; i++) + { + if (a_ptr[i] != b_ptr[i]) + { + abs_cmp= (a_ptr[i] > b_ptr[i]) ? 1 : -1; + break; + } + } + } + + // If both negative, reverse the comparison result + return a_negative ? -abs_cmp : abs_cmp; +} + + +/* Expression Built-in Function Implementations */ + + +/** + @brief Absolute value function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + ABS(X) returns the absolute (positive) value of X. + + @note Dies if argument count != 1 or argument is not numeric +*/ + +void func_abs(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("abs() expects 1 argument, got %d", count); + + if (!args[0].is_numeric) + die("abs() requires numeric argument"); + + result->set_int(abs(args[0].to_int())); +} + + +/** + @brief Base conversion function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + Converts numbers between different bases. + CONV(N, from_base, to_base) converts number N from base from_base to base to_base. + Bases can be from 2 to 62. Negative bases treat input as signed. + + @note Dies if argument count != 3, bases not numeric, or bases out of range +*/ + +void func_conv(Expression_value args[], int count, Expression_value *result) +{ + int from_base; + int to_base; + + if (count != 3) + die("conv() expects 3 arguments (N, from_base, to_base), got %d", count); + + from_base= (int)args[1].to_int(); + to_base= (int)args[2].to_int(); + + if (!args[1].is_numeric || !args[2].is_numeric) + die("conv() bases must be numeric"); + + if (abs(from_base) < 2 || abs(from_base) > 62) + die("conv() from_base must be between 2 and 62, got %d", from_base); + if (abs(to_base) < 2 || abs(to_base) > 62) + die("conv() to_base must be between 2 and 62, got %d", to_base); + + convert_base_helper(args[0].to_string(), from_base, to_base, result); +} + + +/** + @brief Binary conversion function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + Converts a number to binary representation. + BIN(N) returns a string representation of the binary value of N. + This is equivalent to CONV(N, 10, 2). + + @note Dies if argument count != 1 +*/ + +void func_bin(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("bin() expects 1 argument, got %d", count); + + convert_base_helper(args[0].to_string(), 10, 2, result); +} + + +/** + @brief Octal conversion function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + Converts a number to octal representation. + OCT(N) returns a string representation of the octal value of N. + This is equivalent to CONV(N, 10, 8). + + @note Dies if argument count != 1 +*/ + +void func_oct(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("oct() expects 1 argument, got %d", count); + + convert_base_helper(args[0].to_string(), 10, 8, result); +} + + +/** + @brief Hexadecimal conversion function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + Converts a number to hexadecimal representation. + HEX(N) returns a string representation of the hexadecimal value of N. + This is equivalent to CONV(N, 10, 16). + + @note Dies if argument count != 1 +*/ + +void func_hex(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("hex() expects 1 argument, got %d", count); + + convert_base_helper(args[0].to_string(), 10, 16, result); +} + + +/** + @brief String search function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + INSTR(str, substr) returns position of first occurrence of substr in str. + Returns 0 if not found. Positions start at 1. Performs a case-insensitive + search. + + @note Dies if less than 2 arguments +*/ + +void func_instr(Expression_value args[], int count, Expression_value *result) +{ + if (count < 2) + die("instr() expects 2 arguments (str, substr), got %d", count); + + my_match_t match; + My_string str= args[0].to_string(); + My_string substr= args[1].to_string(); + + if (charset_info->coll->instr(charset_info, str.ptr(), str.length(), + substr.ptr(), substr.length(), &match, 1)) + result->set_int(match.mb_len + 1); + else + result->set_int(0); +} + + +/** + @brief Locate substring function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + LOCATE(substr, str [, start]) returns position of substr in str starting from + start (default 1). Returns 0 if substr is not in str. Positions start at 1. + Performs a case-insensitive search. + + @note Dies if wrong argument count or non-numeric start position +*/ + +void func_locate(Expression_value args[], int count, Expression_value *result) +{ + if (count < 2 || count > 3) + die("locate() expects 2 or 3 arguments (substr, str [, start]), got %d", count); + + if (count == 3 && !args[2].is_numeric) + die("locate() start position must be numeric"); + + My_string substr= args[0].to_string(); + My_string str= args[1].to_string(); + + long long start= 0; + long long start0= 0; + my_match_t match; + + if (count == 3) + { + start0= start= args[2].to_int() - 1; + + if (start < 0 || start > (longlong)str.length()) + { + result->set_int(0); + return; + } + + start= str.charpos((int) start); + + // Substring is longer than str at start position. + if (start + substr.length() > str.length()) + { + result->set_int(0); + return; + } + } + + if (!substr.length()) + { + result->set_int(start + 1); + return; + } + + if (charset_info->coll->instr(charset_info, str.ptr() + start, + (uint)(str.length() - start), + substr.ptr(), substr.length(), &match, 1)) + result->set_int((longlong)match.mb_len + start0 + 1); + else + result->set_int(0); +} + + +/** + @brief String replacement function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + REPLACE(str, from_str, to_str) replaces all occurrences of from_str with + to_str. Performs a case-sensitive match when searching for from_str. + + @note Dies if argument count != 3 or arguments are numeric +*/ + +void func_replace(Expression_value args[], int count, Expression_value *result) +{ + if (count != 3) + die("replace() expects 3 arguments (str, from, to), got %d", count); + + if (args[0].is_numeric || args[1].is_numeric || args[2].is_numeric) + die("replace() arguments must be strings"); + + My_string str= args[0].to_string(); + My_string from_str= args[1].to_string(); + My_string to_str= args[2].to_string(); + + if (from_str.length() == 0) + { + result->set_string(str.ptr(), str.length()); + return; + } + + My_string result_str; + result_str.copy(str); + + int pos= 0; + while ((pos= result_str.strstr(from_str, pos)) >= 0) + { + result_str.replace(pos, from_str.length(), to_str.ptr(), to_str.length()); + pos += to_str.length(); + } + + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief Substring extraction function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + SUBSTR(str, pos [, len]) returns substring starting at position pos. + Positions start at 1. Negative positions count from end. + + @note Dies if wrong argument count or non-numeric position/length +*/ + +void func_substr(Expression_value args[], int count, Expression_value *result) +{ + if (count < 2 || count > 3) + die("substr() expects 2 or 3 arguments (str, start [, length]), got %d", count); + + if (args[0].is_numeric) + die("substr() first argument must be a string"); + + if (!args[1].is_numeric) + die("substr() start position must be numeric"); + + if (count == 3 && !args[2].is_numeric) + die("substr() length must be numeric"); + + My_string str= args[0].to_string(); + int start= (int)args[1].to_int(); + int length= count == 3 ? (int)args[2].to_int() : str.length(); + + if (start == 0 || start > (int)str.length() || length <= 0) + { + result->set_string("", 0); + return; + } + + if (start < 0) + start= str.length() + start; + else + start--; + + int end= str.length(); + if (count == 3) + { + end= start + length; + if (end > (int)str.length()) + end= str.length(); + } + + if (start >= end || start >= (int)str.length() || start < 0) + { + result->set_string("", 0); + return; + } + + result->set_string(str.ptr() + start, end - start); +} + + +/** + @brief String concatenation function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + CONCAT(str1, str2, ...) returns the string that results from concatenating + arguments. + + @note Dies if no arguments provided +*/ + +void func_concat(Expression_value args[], int count, Expression_value *result) +{ + if (count == 0) + die("concat() expects at least 1 argument"); + + My_string result_str= args[0].to_string(); + + for (int i= 1; i < count; ++i) + { + result_str.append(args[i].to_string()); + } + + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief String concatenation with separator function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + CONCAT_WS(separator, str1, str2, ...) concatenates strings using separator. + If separator is NULL, returns NULL; all other NULL values are skipped. + + @note Dies if less than 2 arguments provided +*/ + +void func_concat_ws(Expression_value args[], int count, Expression_value *result) +{ + if (count < 2) + die("concat_ws() expects at least 2 arguments"); + + if (args[0].type == EXPR_NULL) + { + result->reset(); + return; + } + + My_string separator= args[0].to_string(); + My_string result_str= args[1].to_string(); + + for (int i= 2; i < count; ++i) + { + if (args[i].type == EXPR_NULL) + continue; + result_str.append(separator); + result_str.append(args[i].to_string()); + } + + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief String case conversion to lowercase + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + LOWER(str) returns string str with all characters converted to lowercase. + LCASE(str) is an alias for LOWER(str). + + @note Dies if argument count != 1 +*/ + +void func_lower(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("lower() expects 1 argument, got %d", count); + + My_string result_str; + result_str.copy_casedn(charset_info, args[0].to_string().to_lex_cstring()); + + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief String case conversion to uppercase + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + UPPER(str) returns string str with all characters converted to uppercase. + UCASE(str) is an alias for UPPER(str). + + @note Dies if argument count != 1 +*/ + +void func_upper(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("upper() expects 1 argument, got %d", count); + + My_string result_str; + result_str.copy_caseup(charset_info, args[0].to_string().to_lex_cstring()); + + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief String reversal function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + REVERSE(str) returns the string str with the order of the characters reversed. + + @note Dies if argument count != 1 +*/ + +void func_reverse(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("reverse() expects 1 argument, got %d", count); + + My_string str= args[0].to_string(); + + size_t len= str.length(); + for (size_t i= 0; i < len / 2; ++i) + { + char temp= str.c_ptr()[i]; + str.c_ptr()[i]= str.c_ptr()[len - 1 - i]; + str.c_ptr()[len - 1 - i]= temp; + } + + result->set_string(str.ptr(), str.length()); +} + + +/** + @brief String trimming function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + TRIM(str) returns string str with leading and trailing space removed. + + @note Dies if argument count != 1 +*/ + +void func_trim(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("trim() expects 1 argument, got %d", count); + + My_string str= args[0].to_string(); + + int start= 0; + while (start < (int)str.length() && my_isspace(charset_info, str.ptr()[start])) + start++; + + int end= (int)str.length(); + while (end > start && my_isspace(charset_info, str.ptr()[end - 1])) + end--; + + result->set_string(str.ptr() + start, end - start); +} + + +/** + @brief Left string trimming function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + LTRIM(str) returns string str with leading space removed. + + @note Dies if argument count != 1 +*/ + +void func_ltrim(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("ltrim() expects 1 argument, got %d", count); + + My_string str= args[0].to_string(); + + int start= 0; + while (start < (int)str.length() && my_isspace(charset_info, str.ptr()[start])) + start++; + + result->set_string(str.ptr() + start, (int)str.length() - start); +} + + +/** + @brief Right string trimming function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + RTRIM(str) returns string str with trailing space removed. + + @note Dies if argument count != 1 +*/ + +void func_rtrim(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("rtrim() expects 1 argument, got %d", count); + + My_string str= args[0].to_string(); + + int end= (int)str.length(); + while (end > 0 && my_isspace(charset_info, str.ptr()[end - 1])) + end--; + + result->set_string(str.ptr(), end); +} + + +/** + @brief Left padding function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + LPAD(str, len [, padstr]) returns the string str, left-padded with the + string padstr to a length of len characters. If str is longer than len, + the return value is shortened to len characters. If padstr is omitted, + the LPAD function pads spaces. + + @note Dies if wrong argument count, non-numeric length, or negative length +*/ + +void func_lpad(Expression_value args[], int count, Expression_value *result) +{ + if (count != 2 && count != 3) + die("lpad() expects 2 or 3 arguments (str, length [, padstr]), got %d", count); + + if (!args[1].is_numeric) + die("lpad() length must be numeric"); + + My_string str= args[0].to_string(); + int length= (int)args[1].to_int(); + My_string padstr= count == 3 ? args[2].to_string() : My_string(); + My_string result_str; + + if (length < 0) + die("lpad() length cannot be negative"); + + if (count == 3 && padstr.is_empty()) + { + result->set_string("", 0); + return; + } + + if (length <= (int) str.length()) + { + result->set_string(str.ptr(), length); + return; + } + + int padding_needed= length - (int)str.length(); + if (count == 2) + { + for (int i= 0; i < padding_needed; ++i) + result_str.append(" ", 1); + } + else + { + for (int i= 0; i < padding_needed; ++i) + result_str.append(&padstr.ptr()[i % padstr.length()], 1); + } + + result_str.append(str.ptr(), str.length()); + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief Right padding function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + RPAD(str, len [, padstr]) returns the string str, right-padded with the + string padstr to a length of len characters. If str is longer than len, + the return value is shortened to len characters. If padstr is omitted, + the RPAD function pads spaces. + + @note Dies if wrong argument count, non-numeric length, or negative length +*/ + +void func_rpad(Expression_value args[], int count, Expression_value *result) +{ + if (count != 2 && count != 3) + die("rpad() expects 2 or 3 arguments (str, length [, padstr]), got %d", count); + + if (!args[1].is_numeric) + die("rpad() length must be numeric"); + + My_string str= args[0].to_string(); + int length= (int)args[1].to_int(); + My_string padstr= count == 3 ? args[2].to_string() : My_string(); + + if (length < 0) + die("rpad() length cannot be negative"); + + if (count == 3 && padstr.is_empty()) + { + result->set_string("", 0); + return; + } + + if (length <= (int)str.length()) + { + result->set_string(str.ptr(), length); + return; + } + + int padding_needed= length - (int)str.length(); + + if (count == 2) + { + for (int i= 0; i < padding_needed; ++i) + str.append(" ", 1); + } + else + { + for (int i= 0; i < padding_needed; ++i) + str.append(&padstr.ptr()[i % padstr.length()], 1); + } + + result->set_string(str.ptr(), str.length()); +} + + +/** + @brief String length function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + LENGTH(str) returns the length of the string str. + + @note Dies if argument count != 1 +*/ + +void func_length(Expression_value args[], int count, Expression_value *result) +{ + if (count != 1) + die("length() expects 1 argument, got %d", count); + + result->set_int((long long) args[0].to_string().length()); +} + + +/** + @brief Substring index function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + SUBSTRING_INDEX(str, delim, count) returns substring before count occurrences + of delim (counting from the left). If count is negative, returns substring + after count occurrences from end (counting from the right). Performs a + case-sensitive match when searching for delim. + + @note Dies if argument count != 3 or count is not numeric +*/ + +void func_substring_index(Expression_value args[], int count, + Expression_value *result) +{ + if (count != 3) + die("substring_index() expects 3 arguments (str, delimiter, count), got %d", count); + + if (!args[2].is_numeric) + die("substring_index() count must be numeric"); + + My_string str= args[0].to_string(); + My_string delimiter= args[1].to_string(); + int count_val= (int)args[2].to_int(); + + if (str.is_empty() || delimiter.is_empty() || !count_val) + { + result->set_string("", 0); + return; + } + + const char *str_ptr= str.ptr(); + const char *str_end= str.end(); + const char *delim_ptr= delimiter.ptr(); + int delim_len= (int)delimiter.length(); + + if (count_val > 0) + { + const char *current_pos= str_ptr; + int found_count= 0; + + while (current_pos < str_end && found_count < count_val) + { + const char *found= strstr(current_pos, delim_ptr); + if (!found) + break; + + found_count++; + if (found_count < count_val) + current_pos= found + delim_len; + else + current_pos= found; + } + + if (found_count < count_val) + result->set_string(str.ptr(), str.length()); + else + result->set_string(str.ptr(), current_pos - str_ptr); + } + else + { + count_val= -count_val; + const char *current_pos= str_end; + int found_count= 0; + + while (current_pos > str_ptr && found_count < count_val) + { + const char *found= NULL; + const char *search_pos= str_ptr; + + while (search_pos < current_pos) + { + const char *temp_found= strstr(search_pos, delim_ptr); + if (!temp_found || temp_found >= current_pos) + break; + found= temp_found; + search_pos= temp_found + delim_len; + } + + if (!found) + break; + + found_count++; + if (found_count < count_val) + current_pos= found; + else + current_pos= found + delim_len; + } + + if (found_count < count_val) + result->set_string(str.ptr(), str.length()); + else + result->set_string(current_pos, str_end - current_pos); + } +} + + +/** + @brief String repetition function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + REPEAT(str, count) returns string consisting of str repeated count times. + If count is less than 1, returns an empty string. + + @note Dies if argument count != 2 or count is not numeric +*/ + +void func_repeat(Expression_value args[], int count, Expression_value *result) +{ + if (count != 2) + die("repeat() expects 2 arguments (str, count), got %d", count); + + if (!args[1].is_numeric) + die("repeat() count must be numeric"); + + My_string result_str; + My_string str= args[0].to_string(); + int repeat_count= (int)args[1].to_int(); + + if (repeat_count <= 0 || str.is_empty()) + { + result->set_string("", 0); + return; + } + + if ((ulonglong) repeat_count > INT_MAX32) + repeat_count= INT_MAX32; + + for (int i= 0; i < repeat_count; ++i) + { + result_str.append(str.ptr(), str.length()); + } + + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief String insertion function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + INSERT(str, pos, len, newstr) replaces len characters starting at pos with + newstr. Returns the original string if pos is not within the length of the string. + Replaces the rest of the string from position pos if len is not + within the length of the rest of the string. + + @note Dies if argument count != 4 or position/length not numeric +*/ + +void func_insert(Expression_value args[], int count, Expression_value *result) +{ + if (count != 4) + die("insert() expects 4 arguments (str, pos, len, newstr), got %d", count); + + if (!args[1].is_numeric) + die("insert() position must be numeric"); + + if (!args[2].is_numeric) + die("insert() length must be numeric"); + + My_string str= args[0].to_string(); + int pos= (int)args[1].to_int(); + int len= (int)args[2].to_int(); + My_string newstr= args[3].to_string(); + My_string result_str; + + + if (pos <= 0 || pos > (int)str.length()) + { + result->set_string(str.ptr(), str.length()); + return; + } + + pos--; + + int end_pos; + if (len < 0) + { + end_pos= str.length(); + } + else + { + end_pos= pos + len; + if (end_pos > (int)str.length()) + end_pos= str.length(); + } + + if (pos > 0) + result_str.append(str.ptr(), pos); + + result_str.append(newstr.ptr(), newstr.length()); + + if (end_pos < (int)str.length()) + result_str.append(str.ptr() + end_pos, str.length() - end_pos); + + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief Regular expression position function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + REGEXP_INSTR(subject, pattern) returns position of first match of pattern in + subject. Uses POSIX extended regular expressions with case-insensitive + matching. + + @note + The collation case sensitivity can be overwritten using the (?i) and (?-i) PCRE flags. + + @note + The $ literal is used as a special character for variable replacement. + + To use it as a regex End of Line/String Anchor, escape it with a backslash. + @code + $(regexp_instr('ABCC','C\$')) -> 4 + @endcode + + To use it as a literal, escape it with three backslashes. + @code + $(regexp_instr('ABC\$DE','\\\$')) -> 4 + @endcode + + @note Dies if argument count != 2 or regex compilation fails +*/ + +void func_regexp_instr(Expression_value args[], int count, Expression_value *result) +{ + if (count != 2) + die("regexp_instr() expects 2 arguments (subject, pattern), got %d", count); + + regex_t regex; + regmatch_t match; + int err_code; + int cflags= REG_EXTENDED | REG_DOTALL | REG_ICASE; + My_string subject= args[0].to_string(); + My_string pattern= args[1].to_string(); + + if (pattern.is_empty()) + { + result->set_int(1); + return; + } + + if (subject.is_empty()) + { + result->set_int(0); + return; + } + + if ((err_code= regcomp(®ex, pattern.ptr(), cflags))) + { + char err_buf[1024]; + regerror(err_code, ®ex, err_buf, sizeof(err_buf)); + die("Regex error: %s\n", err_buf); + } + + err_code= regexec(®ex, subject.ptr(), 1, &match, 0); + regfree(®ex); + + result->set_int(err_code ? 0 : (int)(match.rm_so + 1)); +} + + +/** + @brief Regular expression substring extraction function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + REGEXP_SUBSTR(subject, pattern) returns substring that matches pattern. + Uses POSIX extended regular expressions with case-insensitive matching. + + @note + The collation case sensitivity can be overwritten using the (?i) and (?-i) PCRE flags. + + @note + The $ literal is used as a special character for variable replacement. + + To use it as a regex End of Line/String Anchor, escape it with a backslash. + @code + $(regexp_substr('ABCC','C\$')) -> C + @endcode + + To use it as a literal, escape it with three backslashes. + @code + $(regexp_substr('ABC\$','\\\$')) -> $ + @endcode + + @note Dies if argument count != 2 or regex compilation fails +*/ + +void func_regexp_substr(Expression_value args[], int count, Expression_value *result) +{ + if (count != 2) + die("regexp_substr() expects 2 arguments (subject, pattern), got %d", count); + + regex_t regex; + regmatch_t matches[1]; + int err_code; + int cflags= REG_EXTENDED | REG_DOTALL | REG_ICASE; + My_string subject= args[0].to_string(); + My_string pattern= args[1].to_string(); + + if (subject.is_empty()) + { + result->set_string("", 0); + return; + } + + if ((err_code= regcomp(®ex, pattern.ptr(), cflags))) + { + char err_buf[1024]; + regerror(err_code, ®ex, err_buf, sizeof(err_buf)); + die("Regex error: %s\n", err_buf); + } + + err_code= regexec(®ex, subject.ptr(), 1, matches, 0); + regfree(®ex); + + if (err_code) + { + result->set_string("", 0); + } + else + { + regoff_t start= matches[0].rm_so; + regoff_t end= matches[0].rm_eo; + result->set_string(subject.ptr() + start, end - start); + } +} + + +/** + @brief Regular expression replacement function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + REGEXP_REPLACE(subject, pattern, replace) replaces all matches of pattern + with replace. Supports backreferences \0-\9 in replace string. Uses + POSIX extended regex. + + @note + The collation case sensitivity can be overwritten using the (?i) and (?-i) PCRE flags. + + @note + The $ literal is used as a special character for variable replacement. + + To use it as a regex End of Line/String Anchor, escape it with a backslash. + @code + $(regexp_replace('ABCC','C\$','D')) -> ABCD + @endcode + + To use it as a literal, escape it with three backslashes. + @code + $(regexp_replace('ABC\$','\\\$','D')) -> ABCD + @endcode + + @note Dies if argument count != 3 or regex compilation fails +*/ + +void func_regexp_replace(Expression_value args[], int count, + Expression_value *result) +{ + if (count != 3) + die("regexp_replace() expects 3 arguments (subject, pattern, replace), got %d", count); + + regex_t regex; + regmatch_t matches[10]; // Array to store up to 10 matches (0=full match, 1-9=capture groups) + int err_code; + int cflags= REG_EXTENDED | REG_DOTALL | REG_ICASE; + My_string result_str; + My_string subject= args[0].to_string(); + My_string pattern= args[1].to_string(); + My_string replace= args[2].to_string(); + const char *current_pos= subject.ptr(); + const char *end_pos= subject.end(); + const char *replace_ptr; + const char *replace_end; + + if (pattern.is_empty()) + { + result->set_string(subject.ptr(), subject.length()); + return; + } + + if ((err_code= regcomp(®ex, pattern.ptr(), cflags))) + { + char err_buf[1024]; + regerror(err_code, ®ex, err_buf, sizeof(err_buf)); + die("Regex error: %s\n", err_buf); + } + + while (current_pos < end_pos) + { + err_code= regexec(®ex, current_pos, 10, matches, 0); + if (err_code) + { + result_str.append(current_pos, end_pos - current_pos); + break; + } + + // Append the text before the match + if (matches[0].rm_so > 0) + result_str.append(current_pos, matches[0].rm_so); + + // Process replacement string with backreferences + replace_ptr= replace.ptr(); + replace_end= replace.end(); + + while (replace_ptr < replace_end) + { + if (*replace_ptr == '\\' && replace_ptr + 1 < replace_end) + { + int back_ref_num= (int) (*(replace_ptr + 1) - '0'); + regoff_t start_off, end_off; + if (back_ref_num >= 0 && back_ref_num <= 9 && + (start_off=matches[back_ref_num].rm_so) > -1 && + (end_off=matches[back_ref_num].rm_eo) > -1) + { + result_str.append(current_pos + start_off, end_off - start_off); + } + else + { + result_str.append(replace_ptr, 2); + } + replace_ptr+= 2; + continue; + } + result_str.append(replace_ptr, 1); + replace_ptr++; + } + + current_pos+= matches[0].rm_eo; + + if (matches[0].rm_so == matches[0].rm_eo) + current_pos++; + } + + regfree(®ex); + result->set_string(result_str.ptr(), result_str.length()); +} + + +/** + @brief NULL-aware conditional function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + IFNULL(expr1, expr2) returns expr1 if it is not NULL, otherwise returns expr2. + Returns first non-NULL value. + + @note Dies if argument count != 2 +*/ + +void func_ifnull(Expression_value args[], int count, Expression_value *result) +{ + if (count != 2) + die("ifnull() expects 2 arguments, got %d", count); + + if (args[0].type == EXPR_NULL) + { + *result= args[1]; + return; + } + *result= args[0]; +} + + +/** + @brief NULL-if-equal function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + NULLIF(expr1, expr2) returns NULL if expr1 = expr2, otherwise returns expr1. + This is the same as `CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END`. + + @note Dies if argument count != 2 +*/ + +void func_nullif(Expression_value args[], int count, Expression_value *result) +{ + if (count != 2) + die("nullif() expects 2 arguments, got %d", count); + + /* If first is NULL, result is NULL (returns expr1) */ + if (args[0].type == EXPR_NULL) + { + result->reset(); + return; + } + + bool equal= false; + if (args[0].is_numeric && args[1].is_numeric) + { + if (args[0].is_unsigned || args[1].is_unsigned) + equal= (args[0].to_uint() == args[1].to_uint()); + else + equal= (args[0].to_int() == args[1].to_int()); + } + else + { + equal= !(strcmp(args[0].to_string().c_ptr(), args[1].to_string().c_ptr())); + } + + if (equal) + result->reset(); + else + *result= args[0]; +} + + +/** + @brief First non-NULL value function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + COALESCE(value1, value2, ...) returns first non-NULL value in list. + Returns NULL if all values are NULL. + + @note Dies if no arguments provided +*/ + +void func_coalesce(Expression_value args[], int count, Expression_value *result) +{ + if (count < 1) + die("coalesce() expects at least 1 argument"); + + for (int i= 0; i < count; ++i) + { + if (args[i].type != EXPR_NULL) + { + *result= args[i]; + return; + } + } + result->reset(); +} + + +/** + @brief Least value function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + LEAST(value1, value2, ...) returns the minimum value among arguments. + For numeric values, performs numeric comparison. For strings, performs + string comparison. + + @note + If mixed numeric and string values are provided, the string values are + converted to numbers and the numeric comparison is performed. Be careful + with this, as a string could contain a number that is larger than 2^64-1. + + @note Dies if less than 2 arguments provided. +*/ + +void func_least(Expression_value args[], int count, Expression_value *result) +{ + if (count < 2) + die("least() expects at least 2 arguments"); + + // Numeric mode if any arg is numeric + bool any_numeric= false; + for (int i= 0; i < count; ++i) + if (args[i].is_numeric) { any_numeric= true; break; } + + if (any_numeric) + { + int best_idx= 0; + for (int i= 1; i < count; ++i) + { + if (cmp_decimal(args[i].to_string(), args[best_idx].to_string()) < 0) + best_idx= i; + } + if(args[best_idx].is_unsigned) + result->set_uint(args[best_idx].to_uint()); + else + result->set_int(args[best_idx].to_int()); + return; + } + + // String mode: collation-aware + int best_idx= 0; + for (int i= 1; i < count; ++i) + { + My_string cur= args[i].to_string(); + My_string best= args[best_idx].to_string(); + if (sortcmp(&best, &cur, charset_info) > 0) + best_idx= i; + } + *result= args[best_idx]; +} + + +/** + @brief Greatest value function + @param[in] args Array of function arguments + @param[in] count Number of arguments + @param[out] result Expression_value to store result + + @details + GREATEST(value1, value2, ...) returns the maximum value among arguments. + For numeric values, performs numeric comparison. For strings, performs + string comparison. + + @note + If mixed numeric and string values are provided, the string values are + converted to numbers and the numeric comparison is performed. Be careful + with this, as a string could contain a number that is larger than 2^64-1. + + @note Dies if less than 2 arguments provided. +*/ + +void func_greatest(Expression_value args[], int count, Expression_value *result) +{ + if (count < 2) + die("greatest() expects at least 2 arguments"); + + bool any_numeric= false; + for (int i= 0; i < count; ++i) + if (args[i].is_numeric) { any_numeric= true; break; } + + if (any_numeric) + { + int best_idx= 0; + for (int i= 1; i < count; ++i) + { + if (cmp_decimal(args[i].to_string(), args[best_idx].to_string()) > 0) + best_idx= i; + } + if(args[best_idx].is_unsigned) + result->set_uint(args[best_idx].to_uint()); + else + result->set_int(args[best_idx].to_int()); + return; + } + + // String mode: collation-aware + int best_idx= 0; + for (int i= 1; i < count; ++i) + { + My_string best= args[best_idx].to_string(); + My_string cur= args[i].to_string(); + if (sortcmp(&best, &cur, charset_info) < 0) + best_idx= i; + } + *result= args[best_idx]; +} + + +enum func_type get_expr_function_type(const char *name, size_t len) +{ + for (int i= 0; function_table[i].name; ++i) + { + if (!strncasecmp(function_table[i].name, name, len)) + return function_table[i].type; + } + return FUNC_UNKNOWN; +} + + +/** + @brief Execute built-in function call during expression parsing + @param[in] func_type Type of function to execute (from func_type enum) + @param[out] result Expression_value to store function result + @param[in] s Pointer to string pointer containing expression + + @details + Parses function arguments and executes the specified built-in function. + Each argument is recursively evaluated as a full expression. + Then delegates to the appropriate func_* implementation based on func_type. + + @note Dies on syntax errors or argument count mismatches +*/ + +void handle_expr_function_call(enum func_type func_type, + Expression_value *result, const char **s) +{ + Expression_value args[MAX_FUNC_ARGS]; + int arg_count= 0; + + while (!match(s, ")")) + { + if (arg_count >= MAX_FUNC_ARGS) + die("Too many function arguments (max %d)", MAX_FUNC_ARGS); + + expr(&args[arg_count], s); + arg_count++; + + /* if the next character is a comma, skip it */ + if (match(s, ",")) + continue; + + if (match(s, ")")) + break; + + die("Syntax error: Expected ',' or ')' in function call"); + } + + /* generic NULL propagation, except for IFNULL/NULLIF/COALESCE/CONCAT_WS */ + if (func_type != FUNC_IFNULL && func_type != FUNC_NULLIF && + func_type != FUNC_COALESCE && func_type != FUNC_CONCAT_WS) + { + for (int i= 0; i < arg_count; i++) + { + if (args[i].type == EXPR_NULL) + { + result->reset(); + return; + } + } + } + + switch (func_type) { + case FUNC_ABS: + func_abs(args, arg_count, result); + break; + case FUNC_CONV: + func_conv(args, arg_count, result); + break; + case FUNC_BIN: + func_bin(args, arg_count, result); + break; + case FUNC_OCT: + func_oct(args, arg_count, result); + break; + case FUNC_HEX: + func_hex(args, arg_count, result); + break; + case FUNC_INSTR: + func_instr(args, arg_count, result); + break; + case FUNC_LOCATE: + func_locate(args, arg_count, result); + break; + case FUNC_REPLACE: + func_replace(args, arg_count, result); + break; + case FUNC_SUBSTR: + func_substr(args, arg_count, result); + break; + case FUNC_CONCAT: + func_concat(args, arg_count, result); + break; + case FUNC_CONCAT_WS: + func_concat_ws(args, arg_count, result); + break; + case FUNC_LOWER: + func_lower(args, arg_count, result); + break; + case FUNC_UPPER: + func_upper(args, arg_count, result); + break; + case FUNC_REVERSE: + func_reverse(args, arg_count, result); + break; + case FUNC_TRIM: + func_trim(args, arg_count, result); + break; + case FUNC_LTRIM: + func_ltrim(args, arg_count, result); + break; + case FUNC_RTRIM: + func_rtrim(args, arg_count, result); + break; + case FUNC_LPAD: + func_lpad(args, arg_count, result); + break; + case FUNC_RPAD: + func_rpad(args, arg_count, result); + break; + case FUNC_LENGTH: + func_length(args, arg_count, result); + break; + case FUNC_SUBSTR_IDX: + func_substring_index(args, arg_count, result); + break; + case FUNC_REPEAT: + func_repeat(args, arg_count, result); + break; + case FUNC_INSERT: + func_insert(args, arg_count, result); + break; + case FUNC_LEAST: + func_least(args, arg_count, result); + break; + case FUNC_GREATEST: + func_greatest(args, arg_count, result); + break; + case FUNC_REGEXP_INSTR: + func_regexp_instr(args, arg_count, result); + break; + case FUNC_REGEXP_SUBSTR: + func_regexp_substr(args, arg_count, result); + break; + case FUNC_REGEXP_REPLACE: + func_regexp_replace(args, arg_count, result); + break; + case FUNC_IFNULL: + func_ifnull(args, arg_count, result); + break; + case FUNC_NULLIF: + func_nullif(args, arg_count, result); + break; + case FUNC_COALESCE: + func_coalesce(args, arg_count, result); + break; + case FUNC_UNKNOWN: + default: + die("Unknown function"); + break; + } +} + + /* Assign the variable with @@ -5800,8 +8555,12 @@ DBUG_PRINT("info", ("Closing connection %s", con->name)); #ifndef EMBEDDED_LIBRARY if (command->type == Q_DIRTY_CLOSE) - { mariadb_cancel(con->mysql); + else + { + simple_command(con->mysql,COM_QUIT,0,0,0); + if (con->util_mysql) + simple_command(con->util_mysql,COM_QUIT,0,0,0); } #endif /*!EMBEDDED_LIBRARY*/ if (con->stmt) @@ -6548,6 +9307,84 @@ if (*p && *p != '{') die("Missing '{' after %s. Found \"%s\"", cmd_name, p); + if (*expr_start == '$' && *(expr_start + 1) == '(') + { + const char *scanner= expr_start + 2; + int paren_level= 1; + char in_quote= 0; // Track quote state + bool escaped= false; // Track if the current character is escaped + + while (*scanner && paren_level > 0) + { + if (!in_quote) + { + // Not inside quotes - handle parentheses normally + if (*scanner == '(') paren_level++; + else if (*scanner == ')') paren_level--; + else if (*scanner == '\'' || *scanner == '"') + in_quote= *scanner; // Start of quoted string + } + else + { + // Inside quotes - only look for closing quote + if (!escaped && *scanner == in_quote) + in_quote= 0; // End of quoted string + } + escaped= (!escaped && *scanner == '\\'); + scanner++; + } + + const char *end_ptr= expr_end; + while(end_ptr > expr_start && my_isspace(charset_info, *(end_ptr - 1))) + end_ptr--; + + // if the $(...) is the entire condition, evaluate it + if (scanner == end_ptr) + { + DYNAMIC_STRING evaluated_expr; + init_dynamic_string(&evaluated_expr, "", 64, 256); + + do_eval(&evaluated_expr, expr_start, expr_end, FALSE); + + char* result_str= evaluated_expr.str; + while (*result_str && my_isspace(charset_info, *result_str)) + result_str++; + + /* + Setup the next block on the stack + This logic is borrowed from the end of this function + Any non-empty string which does not begin with 0 is TRUE + */ + cur_block++; + cur_block->cmd= cmd; + cur_block->ok= (*result_str && *result_str != '0'); + + if (not_expr) + cur_block->ok= !cur_block->ok; + + if (cur_block->ok) + { + cur_block->delim[0]= '\0'; + } + else + { + /* Remember "old" delimiter if entering a false if block */ + if (safe_strcpy_truncated(cur_block->delim, sizeof cur_block->delim, + delimiter)) + die("Delimiter too long, truncated"); + } + + DBUG_PRINT("info", ("OK: %d", cur_block->ok)); + + dynstr_free(&evaluated_expr); + DBUG_VOID_RETURN; + } + else + { + die("Expression evaluator $(...) must be the entire condition"); + } + } + var_init(&v,0,0,0,0); /* If expression starts with a variable, it may be a compare condition */ diff -Nru mariadb-11.8.3/client/readline.cc mariadb-11.8.6/client/readline.cc --- mariadb-11.8.3/client/readline.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/client/readline.cc 2026-01-31 13:27:46.000000000 +0000 @@ -23,38 +23,11 @@ #include #include "my_readline.h" -static bool init_line_buffer(LINE_BUFFER *buffer,File file,ulong size, - ulong max_size); static bool init_line_buffer_from_string(LINE_BUFFER *buffer,char * str); static size_t fill_buffer(LINE_BUFFER *buffer); static char *intern_read_line(LINE_BUFFER *buffer, ulong *out_length); -LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file) -{ - LINE_BUFFER *line_buff; - -#ifndef _WIN32 - MY_STAT input_file_stat; - if (my_fstat(fileno(file), &input_file_stat, MYF(MY_WME)) || - MY_S_ISDIR(input_file_stat.st_mode) || - MY_S_ISBLK(input_file_stat.st_mode)) - return 0; -#endif - - if (!(line_buff=(LINE_BUFFER*) - my_malloc(PSI_NOT_INSTRUMENTED, sizeof(*line_buff), - MYF(MY_WME | MY_ZEROFILL)))) - return 0; - if (init_line_buffer(line_buff,my_fileno(file),IO_SIZE,max_size)) - { - my_free(line_buff); - return 0; - } - return line_buff; -} - - char *batch_readline(LINE_BUFFER *line_buff, bool binary_mode) { char *pos; @@ -105,8 +78,7 @@ Functions to handle buffered readings of lines from a stream ******************************************************************************/ -static bool -init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,ulong max_buffer) +bool init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,ulong max_buffer) { buffer->file=file; buffer->bufread=size; diff -Nru mariadb-11.8.3/cmake/build_configurations/mysql_release.cmake mariadb-11.8.6/cmake/build_configurations/mysql_release.cmake --- mariadb-11.8.3/cmake/build_configurations/mysql_release.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/build_configurations/mysql_release.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -120,8 +120,8 @@ SET(WITH_ZLIB system CACHE STRING "") SET(WITH_LIBWRAP ON) SET(HAVE_EMBEDDED_PRIVILEGE_CONTROL ON) - # No hurd implementation - IF(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "i686-AT386") + # On Hurd systems (GNU) there is no auth socket implementation + IF(NOT CMAKE_SYSTEM_NAME STREQUAL "GNU") SET(PLUGIN_AUTH_SOCKET YES CACHE STRING "") ENDIF() SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "") diff -Nru mariadb-11.8.3/cmake/build_depends.cmake mariadb-11.8.6/cmake/build_depends.cmake --- mariadb-11.8.3/cmake/build_depends.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/build_depends.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -32,7 +32,7 @@ GET_PROPERTY(T CACHE ${V} PROPERTY TYPE) IF ((T STREQUAL FILEPATH OR V MATCHES "^CMAKE_COMMAND$") AND ${V} MATCHES "^/") IF (RPM) - FIND_DEP(${V} rpm -q --qf "%{NAME}" -f ${${V}}) + FIND_DEP(${V} rpm -q --qf "%{NAME} " -f ${${V}}) ELSE() # must be DEB MESSAGE(FATAL_ERROR "Not implemented") ENDIF () diff -Nru mariadb-11.8.3/cmake/cpack_rpm.cmake mariadb-11.8.6/cmake/cpack_rpm.cmake --- mariadb-11.8.3/cmake/cpack_rpm.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/cpack_rpm.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -229,6 +229,10 @@ SETA(CPACK_RPM_common_PACKAGE_CONFLICTS "MariaDB-server < 10.6.1") +SETA(CPACK_RPM_common_PACKAGE_OBSOLETES + "mysql-common") +SETA(CPACK_RPM_common_PACKAGE_PROVIDES + "mysql-common") SETA(CPACK_RPM_devel_PACKAGE_OBSOLETES "MySQL-devel") @@ -341,6 +345,9 @@ ALTERNATIVE_NAME("shared" "mariadb-connector-c" ${MARIADB_CONNECTOR_C_VERSION}-1) ENDIF() +IF(RPM MATCHES "fedora|rhel|centos" AND NOT RPM MATCHES "rhel[78]") + SETA(CPACK_RPM_server_PACKAGE_REQUIRES "(mysql-selinux >= 1.0.14 if selinux-policy-targeted)") +ENDIF() SET(PYTHON_SHEBANG "/usr/bin/python3" CACHE STRING "python shebang") ################ diff -Nru mariadb-11.8.3/cmake/install_layout.cmake mariadb-11.8.6/cmake/install_layout.cmake --- mariadb-11.8.3/cmake/install_layout.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/install_layout.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -163,6 +163,7 @@ SET(INSTALL_SYSTEMD_UNITDIR_RPM "/usr/lib/systemd/system") SET(INSTALL_SYSTEMD_SYSUSERSDIR_RPM "/usr/lib/sysusers.d") SET(INSTALL_SYSTEMD_TMPFILESDIR_RPM "/usr/lib/tmpfiles.d") +SET(INSTALL_RUNDATADIR_RPM "/run/mariadb") SET(INSTALL_PAMDIR_RPM "/${INSTALL_LIBDIR_RPM}/security") SET(INSTALL_PAMDATADIR_RPM "/etc/security") @@ -193,7 +194,8 @@ # SET(INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql") -SET(INSTALL_UNIX_ADDRDIR_DEB "/run/mysqld/mysqld.sock") +SET(INSTALL_RUNDATADIR_DEB "/run/mysqld") +SET(INSTALL_UNIX_ADDRDIR_DEB "${INSTALL_RUNDATADIR_DEB}/mysqld.sock") SET(INSTALL_SYSTEMD_UNITDIR_DEB "/lib/systemd/system") SET(INSTALL_SYSTEMD_SYSUSERSDIR_DEB "/usr/lib/sysusers.d") SET(INSTALL_SYSTEMD_TMPFILESDIR_DEB "/usr/lib/tmpfiles.d") @@ -257,3 +259,7 @@ SET(MYSQL_UNIX_ADDR ${INSTALL_UNIX_ADDRDIR}) ENDIF() +IF(NOT INSTALL_RUNDATADIR) + get_filename_component(MYSQL_UNIX_DIR ${MYSQL_UNIX_ADDR} DIRECTORY) + SET(INSTALL_RUNDATADIR "${MYSQL_UNIX_DIR}" CACHE FILEPATH "Rundata installation directory" ${FORCE}) +ENDIF() diff -Nru mariadb-11.8.3/cmake/install_macros.cmake mariadb-11.8.6/cmake/install_macros.cmake --- mariadb-11.8.3/cmake/install_macros.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/install_macros.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -286,6 +286,7 @@ POST_EXCLUDE_REGEXES ".*system32/.*\\.dll" # Windows stuff POST_INCLUDE_REGEXES + "libssl" "libcrypto" # Account for OpenSSL libraries in system32 DIRECTORIES $<$:${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin $<$,$>:${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/bin> diff -Nru mariadb-11.8.3/cmake/libfmt.cmake mariadb-11.8.6/cmake/libfmt.cmake --- mariadb-11.8.3/cmake/libfmt.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/libfmt.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -15,8 +15,8 @@ ExternalProject_Add( libfmt PREFIX "${dir}" - URL "https://github.com/fmtlib/fmt/releases/download/11.1.4/fmt-11.1.4.zip" - URL_MD5 ad6a56b15cddf4aad2a234e7cfc9e8c9 + URL "https://github.com/fmtlib/fmt/releases/download/12.1.0/fmt-12.1.0.zip" + URL_MD5 028c6979cad96a4260154f091885171a INSTALL_COMMAND "" CONFIGURE_COMMAND "" BUILD_COMMAND "" diff -Nru mariadb-11.8.3/cmake/maintainer.cmake mariadb-11.8.6/cmake/maintainer.cmake --- mariadb-11.8.3/cmake/maintainer.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/maintainer.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -67,6 +67,14 @@ SET(MY_ERROR_FLAGS ${MY_ERROR_FLAGS} -Wno-error=non-virtual-dtor) # gcc bug 7302 ENDIF() +FOREACH(LANG C CXX) + IF(CMAKE_${LANG}_COMPILER_ID MATCHES "Clang") + MY_CHECK_AND_SET_COMPILER_FLAG(-Werror=uninitialized-explicit-init) + MY_CHECK_AND_SET_COMPILER_FLAG(-Werror=uninitialized-const-reference) + SET(CMAKE_${LANG}_FLAGS "${CMAKE_${LANG}_FLAGS} -Werror=uninitialized") + ENDIF() +ENDFOREACH() + IF(MYSQL_MAINTAINER_MODE MATCHES "OFF|WARN") RETURN() ELSEIF(MYSQL_MAINTAINER_MODE MATCHES "AUTO") diff -Nru mariadb-11.8.3/cmake/mariadb_connector_c.cmake mariadb-11.8.6/cmake/mariadb_connector_c.cmake --- mariadb-11.8.3/cmake/mariadb_connector_c.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/mariadb_connector_c.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -7,12 +7,7 @@ SET(CONC_WITH_SIGNCODE ${SIGNCODE}) SET(SIGN_OPTIONS ${SIGNTOOL_PARAMETERS}) SET(CONC_WITH_EXTERNAL_ZLIB ON) -SET(CLIENT_PLUGIN_PARSEC OFF) -CHECK_INCLUDE_FILES (threads.h HAVE_THREADS_H) -IF(HAVE_THREADS_H) -SET(CLIENT_PLUGIN_PARSEC DYNAMIC) -ENDIF() IF(NOT CONC_WITH_SSL) IF(SSL_DEFINES MATCHES "WOLFSSL") diff -Nru mariadb-11.8.3/cmake/pcre.cmake mariadb-11.8.6/cmake/pcre.cmake --- mariadb-11.8.3/cmake/pcre.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/pcre.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -8,7 +8,6 @@ "Which pcre to use (possible values are 'bundled', 'system', or 'auto')") SET(dir "${CMAKE_BINARY_DIR}/extra/pcre2") - SET(PCRE_INCLUDE_DIRS ${dir}/src/pcre2-build ${dir}/src/pcre2/src) MESSAGE(STATUS "Will download and bundle pcre2") SET(byproducts) FOREACH(lib pcre2-posix pcre2-8) @@ -43,6 +42,8 @@ ENDIF() SET(byproducts ${byproducts} BUILD_BYPRODUCTS ${file} ${file_d}) SET_TARGET_PROPERTIES(${lib} PROPERTIES IMPORTED_LOCATION ${file}) + MAKE_DIRECTORY(${dir}/src/pcre2-build/interface) + TARGET_INCLUDE_DIRECTORIES(${lib} INTERFACE ${dir}/src/pcre2-build/interface) ENDFOREACH() FOREACH(v "" "_DEBUG" "_RELWITHDEBINFO" "_RELEASE" "_MINSIZEREL") @@ -64,8 +65,8 @@ ExternalProject_Add( pcre2 PREFIX "${dir}" - URL "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.45/pcre2-10.45.zip" - URL_MD5 873da56c6469ec207ca5c5ae9688b83a + URL "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.47/pcre2-10.47.zip" + URL_MD5 7906aec38f872b74f1b925122dde9069 INSTALL_COMMAND "" CMAKE_ARGS "-DCMAKE_WARN_DEPRECATED=FALSE" diff -Nru mariadb-11.8.3/cmake/submodule_info.cmake mariadb-11.8.6/cmake/submodule_info.cmake --- mariadb-11.8.3/cmake/submodule_info.cmake 2025-07-28 19:35:11.000000000 +0000 +++ mariadb-11.8.6/cmake/submodule_info.cmake 2026-01-31 13:27:52.000000000 +0000 @@ -1,31 +1,31 @@ -SET(extra/wolfssl/wolfssl_TAG no-tag) -SET(extra/wolfssl/wolfssl_REVISION b077c81eb) -SET(extra/wolfssl/wolfssl_URL https://github.com/wolfSSL/wolfssl) +SET(extra/wolfssl/wolfssl_TAG v5.8.4-stable) +SET(extra/wolfssl/wolfssl_REVISION 59f4fa568) +SET(extra/wolfssl/wolfssl_URL https://github.com/wolfSSL/wolfssl.git) SET(libmariadb_TAG no-tag) -SET(libmariadb_REVISION b790c6c1) -SET(libmariadb_URL https://github.com/MariaDB/mariadb-connector-c) +SET(libmariadb_REVISION 7bb4e6cd) +SET(libmariadb_URL https://github.com/MariaDB/mariadb-connector-c.git) SET(libmariadb/docs_TAG no-tag) SET(libmariadb/docs_REVISION 7e12bce) SET(libmariadb/docs_URL https://github.com/mariadb-corporation/mariadb-connector-c.wiki.git) SET(storage/columnstore/columnstore_TAG no-tag) -SET(storage/columnstore/columnstore_REVISION f33e9ce86) +SET(storage/columnstore/columnstore_REVISION df0dc3630) SET(storage/columnstore/columnstore_URL https://github.com/mariadb-corporation/mariadb-columnstore-engine.git) SET(storage/columnstore/columnstore/utils/libmarias3/libmarias3_TAG no-tag) SET(storage/columnstore/columnstore/utils/libmarias3/libmarias3_REVISION d9cb536) SET(storage/columnstore/columnstore/utils/libmarias3/libmarias3_URL https://github.com/mariadb-corporation/libmarias3.git) SET(storage/maria/libmarias3_TAG no-tag) SET(storage/maria/libmarias3_REVISION 0d5babb) -SET(storage/maria/libmarias3_URL https://github.com/mariadb-corporation/libmarias3) +SET(storage/maria/libmarias3_URL https://github.com/mariadb-corporation/libmarias3.git) SET(storage/rocksdb/rocksdb_TAG no-tag) SET(storage/rocksdb/rocksdb_REVISION 79f08d7ff) SET(storage/rocksdb/rocksdb_URL https://github.com/facebook/rocksdb.git) SET(wsrep-lib_TAG no-tag) -SET(wsrep-lib_REVISION e55f01c) +SET(wsrep-lib_REVISION 7010f0a) SET(wsrep-lib_URL https://github.com/codership/wsrep-lib.git) SET(wsrep-lib/wsrep-API/v26_TAG no-tag) SET(wsrep-lib/wsrep-API/v26_REVISION 65608d3) SET(wsrep-lib/wsrep-API/v26_URL https://github.com/codership/wsrep-API.git) SET(ALL_SUBMODULES "extra/wolfssl/wolfssl;libmariadb;libmariadb/docs;storage/columnstore/columnstore;storage/columnstore/columnstore/utils/libmarias3/libmarias3;storage/maria/libmarias3;storage/rocksdb/rocksdb;wsrep-lib;wsrep-lib/wsrep-API/v26") -SET(GIT_REMOTE_ORIGIN_URL "https://github.com/mariadb/server.git") -SET(GIT_REV_SHORT "b565b3e7e04") +SET(GIT_REMOTE_ORIGIN_URL "https://github.com/MariaDB/server") +SET(GIT_REV_SHORT "9bfea48c") diff -Nru mariadb-11.8.3/cmake/systemd.cmake mariadb-11.8.6/cmake/systemd.cmake --- mariadb-11.8.3/cmake/systemd.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/systemd.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -50,8 +50,7 @@ SET(SYSTEMD_SCRIPTS ${SYSTEMD_SCRIPTS} galera_recovery) ENDIF() IF(DEB) - SET(SYSTEMD_EXECSTARTPRE "ExecStartPre=+/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld") - SET(SYSTEMD_EXECSTARTPOST "ExecStartPost=+/etc/mysql/debian-start") + SET(SYSTEMD_EXECSTARTPOST "ExecStartPost=!/etc/mysql/debian-start") ENDIF() IF(URING_FOUND) SET(SYSTEMD_LIMIT "# For liburing and io_uring_setup() diff -Nru mariadb-11.8.3/cmake/zlib.cmake mariadb-11.8.6/cmake/zlib.cmake --- mariadb-11.8.3/cmake/zlib.cmake 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/cmake/zlib.cmake 2026-01-31 13:27:46.000000000 +0000 @@ -21,6 +21,11 @@ SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES}) SET(ZLIB_INCLUDE_DIR ${ZLIB_INCLUDE_DIRS}) SET(ZLIB_FOUND TRUE) + IF(VCPKG_INSTALLED_DIR) + # Avoid errors in vcpkg's FIND_PACKAGE + # for packages dependend on zlib + SET(CMAKE_DISABLE_FIND_PACKAGE_ZLIB 1) + ENDIF() SET(WITH_ZLIB "bundled" CACHE STRING "Use bundled zlib") ADD_SUBDIRECTORY(zlib) ENDMACRO() diff -Nru mariadb-11.8.3/debian/changelog mariadb-11.8.6/debian/changelog --- mariadb-11.8.3/debian/changelog 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/changelog 2026-03-06 13:13:13.000000000 +0000 @@ -1,3 +1,44 @@ +mariadb (1:11.8.6-0+deb13u1) trixie; urgency=medium + + [ Otto Kekäläinen ] + * New upstream maintenance release 11.8.6. For details about fixes please see + https://mariadb.com/docs/release-notes/community-server/11.8/11.8.6 + * For details about fixes in 11.8.5 please see + https://mariadb.com/docs/release-notes/community-server/11.8/11.8.5 + and the security notices: + - CVE-2025-13699 + - CVE-2026-21968 + * For details about fixes in 11.8.4 please see + https://mariadb.com/docs/release-notes/community-server/11.8/11.8.4 + * The version 11.8.4 was skipped in Debian (and Ubuntu) as it has a severe + regression causing partial data deletion when using the DELETE statement on + MyISAM or Aria tables under specific conditions (MDEV-38068) + * Already existing plugins marked ready for general availability by upstream + in this release: uuid_v4, uuid_v7 and inet4 + * Upstream 11.8.5 included fix to MDEV-36556 about upgrades failing from 10.4 + when encryption enabled (Closes: #1122811) + * Add debian/source/local-options to suppress WolfSSL line ending errors + * Patch new upstream test main.alter_merge to allow 'from Debian' + * Fix path to mariadb-server.README in mariadb-secure-install + (Closes: #1127863) + * Add preliminary upstream patch to fix MDEV-38811 that affected Akonadi and + any other use case that relies on 'skip-grant-tables' (Closes: #1127431) + * Update patch statuses and Forwarded fields to aid patch maintenance in + future new upstream version updates + * Update server trace to include new 'new-mode' value 'FIX_INDEX_LOOKUP_COST' + * Salsa CI: Apply several fixes already in use on debian/latest branch and + which are needed on this branch as well due to external changes since + August 2026, most notably Salsa CI switching to be sbuild based + + [ Daniel Black ] + * MDEV-37411: Re-enable AIO in Debian to fix earlier incomplete fix that was + done after new upstream 11.8.3 release introduced innodb_linux_aio + * MDEV-15502: With recent changes in upstream systemd, the tmpfiles are now + required, otherwise starting MariaDB would fail on error: + "cannot create /run/mysqld/wsrep-start-position: Directory nonexistent" + + -- Otto Kekäläinen Fri, 06 Mar 2026 13:13:13 +0000 + mariadb (1:11.8.3-0+deb13u1) trixie; urgency=medium * New upstream maintenance release 11.8.3. For details about fixes please see diff -Nru mariadb-11.8.3/debian/control mariadb-11.8.6/debian/control --- mariadb-11.8.3/debian/control 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/control 2026-03-06 13:13:13.000000000 +0000 @@ -14,6 +14,7 @@ cracklib-runtime , default-jdk, gdb , + libaio-dev [linux-any], libboost-dev, libbz2-dev, libcrack2-dev (>= 2.9.0), diff -Nru mariadb-11.8.3/debian/mariadb-server.install mariadb-11.8.6/debian/mariadb-server.install --- mariadb-11.8.3/debian/mariadb-server.install 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/mariadb-server.install 2026-03-06 13:13:13.000000000 +0000 @@ -18,6 +18,7 @@ [linux-any] usr/lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf [linux-any] usr/lib/systemd/system/mysql.service [linux-any] usr/lib/systemd/system/mysqld.service +usr/lib/tmpfiles.d/mariadb.conf usr/bin/aria_chk usr/bin/aria_dump_log usr/bin/aria_ftdump diff -Nru mariadb-11.8.3/debian/not-installed mariadb-11.8.6/debian/not-installed --- mariadb-11.8.3/debian/not-installed 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/not-installed 2026-03-06 13:13:13.000000000 +0000 @@ -14,7 +14,6 @@ usr/lib/*/libprocessor.a # ColumnStore header file usr/lib/*/libwe_xml.a # ColumnStore header file usr/lib/sysusers.d/mariadb.conf # Not used (yet) in Debian systemd -usr/lib/tmpfiles.d/mariadb.conf # Not used (yet) in Debian systemd usr/sbin/rcmysql usr/share/doc/mariadb-server/COPYING (related file: "debian/tmp/usr/share/mariadb/mroonga/COPYING") usr/share/doc/mariadb-server/CREDITS diff -Nru mariadb-11.8.3/debian/patches/Fix-misc-spelling-in-MariaDB-Server-repository.patch mariadb-11.8.6/debian/patches/Fix-misc-spelling-in-MariaDB-Server-repository.patch --- mariadb-11.8.3/debian/patches/Fix-misc-spelling-in-MariaDB-Server-repository.patch 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/Fix-misc-spelling-in-MariaDB-Server-repository.patch 2026-03-06 13:13:13.000000000 +0000 @@ -19,7 +19,10 @@ * Fix typo: Enrypt->Encrypt -Forwarded: no +Merged in https://github.com/MariaDB/server/commit/5879c85f505d3a11d4b8f479f2437416d8a1d724 +and thus included in MariaDB 12.3 onward. + +Forwarded: https://github.com/MariaDB/server/pull/4458 --- extra/mariabackup/innobackupex.cc | 4 ++-- extra/mariabackup/xtrabackup.cc | 6 +++--- @@ -58,10 +61,10 @@ "terminates with an error. Default is 0, in which case mariadb-backup waits " "indefinitely for BACKUP STAGE START to finish", diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc -index d04695b..353d478 100644 +index effbac0..377082a 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc -@@ -217,7 +217,7 @@ uint xtrabackup_compress = FALSE; +@@ -220,7 +220,7 @@ uint xtrabackup_compress = FALSE; uint xtrabackup_compress_threads; ulonglong xtrabackup_compress_chunk_size = 0; @@ -70,7 +73,7 @@ in milliseconds (default is 1 second) */ ulint xtrabackup_log_copy_interval = 1000; static ulong max_buf_pool_modified_pct; -@@ -1798,7 +1798,7 @@ struct my_option xb_client_options[]= { +@@ -1808,7 +1808,7 @@ struct my_option xb_client_options[]= { {"startup-wait-timeout", OPT_LOCK_WAIT_TIMEOUT, "This option specifies time in seconds that mariadb-backup should wait for " "BACKUP STAGE START to complete. BACKUP STAGE START has to wait until all " @@ -79,7 +82,7 @@ "If there are still such queries when the timeout expires, mariadb-backup " "terminates with an error. Default is 0, in which case mariadb-backup waits " "indefinitely for BACKUP STAGE START to finish", -@@ -5875,7 +5875,7 @@ void CorruptedPages::backup_fix_ddl(ds_ctxt *ds_data, ds_ctxt *ds_meta) +@@ -5852,7 +5852,7 @@ void CorruptedPages::backup_fix_ddl(ds_ctxt *ds_data, ds_ctxt *ds_meta) } /* Mariabackup doesn't detect any FILE_OP for the deferred @@ -89,10 +92,10 @@ for (auto space_name: defer_space_names) { if (!check_if_skip_table(space_name.c_str())) { diff --git a/mysql-test/main/mysqld--help.result b/mysql-test/main/mysqld--help.result -index 963d4be..83ba26d 100644 +index 44a92c2..4422900 100644 --- a/mysql-test/main/mysqld--help.result +++ b/mysql-test/main/mysqld--help.result -@@ -819,13 +819,14 @@ The following specify which files/extra groups are read (specified before remain +@@ -826,13 +826,14 @@ The following specify which files/extra groups are read (specified before remain storage as part of an index scan --optimizer-join-limit-pref-ratio=# For queries with JOIN and ORDER BY LIMIT : make the @@ -115,10 +118,10 @@ Cost of checking a key against the end key condition --optimizer-key-copy-cost=# diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result -index 2ff8573..c19700a 100644 +index b9f1e8b..bf590a5 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result +++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result -@@ -553,7 +553,7 @@ SESSION_VALUE NULL +@@ -565,7 +565,7 @@ SESSION_VALUE NULL DEFAULT_VALUE OFF VARIABLE_SCOPE GLOBAL VARIABLE_TYPE BOOLEAN @@ -128,10 +131,10 @@ NUMERIC_MAX_VALUE NULL NUMERIC_BLOCK_SIZE NULL diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result -index d82fb00..b4a3b16 100644 +index f127a28..df7647d 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result +++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result -@@ -2495,7 +2495,7 @@ COMMAND_LINE_ARGUMENT REQUIRED +@@ -2505,7 +2505,7 @@ COMMAND_LINE_ARGUMENT REQUIRED VARIABLE_NAME OPTIMIZER_JOIN_LIMIT_PREF_RATIO VARIABLE_SCOPE SESSION VARIABLE_TYPE BIGINT UNSIGNED @@ -141,10 +144,10 @@ NUMERIC_MAX_VALUE 4294967295 NUMERIC_BLOCK_SIZE 1 diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result -index fc9b5b2..8ebd68d 100644 +index 9ead8d4..3b79975 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result +++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result -@@ -2705,7 +2705,7 @@ COMMAND_LINE_ARGUMENT REQUIRED +@@ -2715,7 +2715,7 @@ COMMAND_LINE_ARGUMENT REQUIRED VARIABLE_NAME OPTIMIZER_JOIN_LIMIT_PREF_RATIO VARIABLE_SCOPE SESSION VARIABLE_TYPE BIGINT UNSIGNED @@ -154,10 +157,10 @@ NUMERIC_MAX_VALUE 4294967295 NUMERIC_BLOCK_SIZE 1 diff --git a/sql/opt_subselect.cc b/sql/opt_subselect.cc -index 4ad0540..873e56a 100644 +index 0bf1998..4ebb368 100644 --- a/sql/opt_subselect.cc +++ b/sql/opt_subselect.cc -@@ -6880,7 +6880,7 @@ bool JOIN::choose_subquery_plan(table_map join_tables) +@@ -6894,7 +6894,7 @@ bool JOIN::choose_subquery_plan(table_map join_tables) add("rows", inner_record_count_1). add("materialization_cost", materialize_strategy_cost). add("in_exist_cost", in_exists_strategy_cost). @@ -166,7 +169,7 @@ } DBUG_PRINT("info", -@@ -6918,7 +6918,7 @@ bool JOIN::choose_subquery_plan(table_map join_tables) +@@ -6932,7 +6932,7 @@ bool JOIN::choose_subquery_plan(table_map join_tables) { Json_writer_object trace_wrapper(thd); Json_writer_object trace_subquery(thd, "subquery_plan_revert"); @@ -176,10 +179,10 @@ } diff --git a/sql/sql_select.cc b/sql/sql_select.cc -index d92b874..bd83cfb 100644 +index fa73d52..1e697a5 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc -@@ -11767,7 +11767,7 @@ double recompute_join_cost_with_limit(const JOIN *join, bool skip_sorting, +@@ -11831,7 +11831,7 @@ double recompute_join_cost_with_limit(const JOIN *join, bool skip_sorting, /* @brief @@ -188,7 +191,7 @@ execution. @detail -@@ -15237,7 +15237,7 @@ void JOIN::drop_unused_derived_keys() +@@ -15318,7 +15318,7 @@ void JOIN::drop_unused_derived_keys() } /* We dropped all keys except the chosen one and unique keys. @@ -198,10 +201,10 @@ tab->ref.key= 0; } diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc -index 1d6d831..458e491 100644 +index 3c2fee2..545821d 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc -@@ -2971,7 +2971,7 @@ static Sys_var_ulong Sys_optimizer_selectivity_sampling_limit( +@@ -2973,7 +2973,7 @@ static Sys_var_ulong Sys_optimizer_selectivity_sampling_limit( static Sys_var_ulonglong Sys_optimizer_join_limit_pref_ratio( "optimizer_join_limit_pref_ratio", "For queries with JOIN and ORDER BY LIMIT : make the optimizer " @@ -224,10 +227,10 @@ } catch (const char *msg) { htrc(g->Message, msg); diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc -index a58ab75..e0afd4b 100644 +index 21dbe9c..40b974a 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc -@@ -19905,7 +19905,7 @@ static MYSQL_SYSVAR_BOOL(immediate_scrub_data_uncompressed, +@@ -19866,7 +19866,7 @@ static MYSQL_SYSVAR_BOOL(immediate_scrub_data_uncompressed, static MYSQL_SYSVAR_BOOL(encrypt_temporary_tables, innodb_encrypt_temporary_tables, PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_READONLY, diff -Nru mariadb-11.8.3/debian/patches/Improve-output-from-mariadb-secure-installation-to-be-mor.patch mariadb-11.8.6/debian/patches/Improve-output-from-mariadb-secure-installation-to-be-mor.patch --- mariadb-11.8.3/debian/patches/Improve-output-from-mariadb-secure-installation-to-be-mor.patch 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/Improve-output-from-mariadb-secure-installation-to-be-mor.patch 2026-03-06 13:13:13.000000000 +0000 @@ -5,12 +5,18 @@ The script is not useful in Debian, and likely misleading to users. Improve the output to be more clear about what it is doing or is not doing. + +Merged on 'main' in +https://github.com/MariaDB/server/commit/3a08a8e3d2212f3f60937b3fd97207c3ea7b933a +and thus included in MariaDB 12.3 onward. + +Forwarded: https://github.com/MariaDB/server/pull/4457 --- scripts/mysql_secure_installation.sh | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/scripts/mysql_secure_installation.sh b/scripts/mysql_secure_installation.sh -index ad18385..1248103 100644 +index 5883398..f9f020e 100755 --- a/scripts/mysql_secure_installation.sh +++ b/scripts/mysql_secure_installation.sh @@ -338,7 +338,8 @@ set_root_password() { @@ -62,7 +68,7 @@ +echo "NOTE: MariaDB is secure by default in Debian. Running this script is" +echo " useless at best, and misleading at worst. This script will be" +echo " removed in a future MariaDB release in Debian. Please read" -+echo " mariadb-server.README.Debian for details." ++echo " /usr/share/doc/mariadb-server/README.Debian.gz for details." echo -echo "In order to log into MariaDB to secure it, we'll need the current" -echo "password for the root user. If you've just installed MariaDB, and" diff -Nru mariadb-11.8.3/debian/patches/MDEV-37411-suppress-new-warning-about-native-aio.patch mariadb-11.8.6/debian/patches/MDEV-37411-suppress-new-warning-about-native-aio.patch --- mariadb-11.8.3/debian/patches/MDEV-37411-suppress-new-warning-about-native-aio.patch 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/MDEV-37411-suppress-new-warning-about-native-aio.patch 2026-03-06 13:13:13.000000000 +0000 @@ -8,30 +8,45 @@ [Warning] InnoDB: native AIO failed: falling back to innodb_use_native_aio=OFF -Unlike upstream MariaDB, in Debian we removed libaio in for Linux on -MariaDB 10.6+ in 612630c6 and completely in 1d648d6f. Thus the build -will not have libaio at all on any platform in Debian, and the warning -is useless. +The case of this is the ci environment only where there is insufficent +fs.aio-max-nr configured. A such we are adding a suppression to the +mtr only. The warning is valuable for users. Upstream MDEV-37411 has +added a io_setup as a warning, which will fail in the CI environment, +so we're pre-emptively suppressing this warning too. -This might not be the optimal solution, but at least suppressing the warning -will unblock the 11.8.3 release for now. +Unlike upstream MariaDB, in Debian we removed libaio for Linux on +MariaDB 10.6+ in 612630c6 and completely in 1d648d6f. This was re-added +by upstream with a system variable innodb_linux_aio to control, and +automated fallback. As such we're re-adding it back too. -Forwarded: https://jira.mariadb.org/browse/MDEV-37411 +With liburing still seccomp filterer in container environments having +a libaio fallback is more valuable than the threads implementation of +last resort. +Edited & Updated: Daniel Black + +Upstream rejected this with the conclusion, is that it will start working in +Debian/Salsa/Ubuntu/Launchpad once the Linux kernel is new enough to handle the +I/O calls and fallbacks properly, or once the CI system increases the value of +/proc/sys/fs/aio-max-nr to 1 million or so, to allow multiple parallel MariaDB +servers (as started by mariadb-test-run) each have enough quota for native AIO +to work. + +Forwarded: https://jira.mariadb.org/browse/MDEV-37411 (rejected) --- - storage/innobase/os/os0file.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + mysql-test/mariadb-test-run.pl | 2 ++ + 1 file changed, 2 insertions(+) -diff --git a/storage/innobase/os/os0file.cc b/storage/innobase/os/os0file.cc -index f3c0402..d69fe9a 100644 ---- a/storage/innobase/os/os0file.cc -+++ b/storage/innobase/os/os0file.cc -@@ -3091,7 +3091,7 @@ int os_aio_init() noexcept - if (ret) - { - srv_use_native_aio= false; -- sql_print_warning("InnoDB: native AIO failed: falling back to" -+ sql_print_information("InnoDB: native AIO failed: falling back to" - " innodb_use_native_aio=OFF"); - } - else +diff --git a/mysql-test/mariadb-test-run.pl b/mysql-test/mariadb-test-run.pl +index 6739995..8d88e4d 100755 +--- a/mysql-test/mariadb-test-run.pl ++++ b/mysql-test/mariadb-test-run.pl +@@ -4498,6 +4498,8 @@ sub extract_warning_lines ($$) { + qr/error .*connecting to master/, + qr/InnoDB: Dumping buffer pool.*/, + qr/InnoDB: Buffer pool.*/, ++ qr/io_setup(%d) returned.*/, ++ qr/InnoDB: native AIO failed: falling back to innodb_use_native_aio=OFF/, + qr/InnoDB: Could not free any blocks in the buffer pool!/, + qr/InnoDB: innodb_open_files .* should not be greater than/, + qr/InnoDB: Trying to delete tablespace.*but there are.*pending/, diff -Nru mariadb-11.8.3/debian/patches/MDEV-38811-skip-grant-tables-crash.patch mariadb-11.8.6/debian/patches/MDEV-38811-skip-grant-tables-crash.patch --- mariadb-11.8.3/debian/patches/MDEV-38811-skip-grant-tables-crash.patch 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/debian/patches/MDEV-38811-skip-grant-tables-crash.patch 2026-03-06 13:13:13.000000000 +0000 @@ -0,0 +1,32 @@ +From: Sergei Golubchik +Date: Fri, 13 Feb 2026 15:22:57 +0100 +Subject: [PATCH] MDEV-38811 crash in information_schema.table_constraints + when --skip-grant-tables + +acl_get_all3() wasn't expecting --skip-grant-tables + +Multiple users reported Akonadi crashing with MariaDB 11.8.6. Downgrading to +11.8.5 fixed it. Reason most likely due to upstream regression as described +in detail in bug reports. + +Origin: https://github.com/MariaDB/server/commit/87309d3d4bb8f48910d05b0ca5ee989bcdd6b053.patch +Bug: https://jira.mariadb.org/browse/MDEV-38811 +Forwarded: not-needed +--- + sql/sql_acl.cc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc +index a583c0b..b6abd27 100644 +--- a/sql/sql_acl.cc ++++ b/sql/sql_acl.cc +@@ -3927,6 +3927,9 @@ privilege_t acl_get(const char *host, const char *ip, + privilege_t acl_get_all3(Security_context *sctx, const char *db, + bool db_is_patern) + { ++ if (!initialized) ++ return DB_ACLS; ++ + privilege_t access= acl_get(sctx->host, sctx->ip, + sctx->priv_user, db, db_is_patern); + if (sctx->priv_role[0]) diff -Nru mariadb-11.8.3/debian/patches/env-perl-usr-bin-perl.patch mariadb-11.8.6/debian/patches/env-perl-usr-bin-perl.patch --- mariadb-11.8.3/debian/patches/env-perl-usr-bin-perl.patch 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/env-perl-usr-bin-perl.patch 2026-03-06 13:13:13.000000000 +0000 @@ -54,7 +54,7 @@ # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # diff --git a/mysql-test/mariadb-test-run.pl b/mysql-test/mariadb-test-run.pl -index 4f98775..85d0713 100755 +index bc9845b..6739995 100755 --- a/mysql-test/mariadb-test-run.pl +++ b/mysql-test/mariadb-test-run.pl @@ -1,4 +1,4 @@ @@ -124,12 +124,12 @@ # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. # diff --git a/scripts/mytop.sh b/scripts/mytop.sh -index e5d926e..c7748ef 100644 +index bf4e72e..f7d0fbf 100644 --- a/scripts/mytop.sh +++ b/scripts/mytop.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl # - # $Id: mytop,v 1.99-maria6 2019/10/22 14:53:51 jweisbuch Exp $ + # $Id: mytop,v 1.99-maria8 2025/07/16 17:59:26 jweisbuch Exp $ diff -Nru mariadb-11.8.3/debian/patches/hide-mysql-command-deprecation-warnings.patch mariadb-11.8.6/debian/patches/hide-mysql-command-deprecation-warnings.patch --- mariadb-11.8.3/debian/patches/hide-mysql-command-deprecation-warnings.patch 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/hide-mysql-command-deprecation-warnings.patch 2026-03-06 13:13:13.000000000 +0000 @@ -12,7 +12,7 @@ https://ci.debian.net/packages/p/pam-mysql/testing/amd64/48373511/ https://ci.debian.net/packages/r/roundcube/testing/amd64/48373518/ -Forwarded: no +Forwarded: not-needed --- mysys/my_init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -Nru mariadb-11.8.3/debian/patches/include-debian-in-test-merge-alter-result.patch mariadb-11.8.6/debian/patches/include-debian-in-test-merge-alter-result.patch --- mariadb-11.8.3/debian/patches/include-debian-in-test-merge-alter-result.patch 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/debian/patches/include-debian-in-test-merge-alter-result.patch 2026-03-06 13:13:13.000000000 +0000 @@ -0,0 +1,46 @@ +From: =?utf-8?b?T3R0byBLZWvDpGzDpGluZW4=?= +Date: Wed, 26 Nov 2025 16:49:24 -0800 +Subject: Make the new merge_alter test indifferent to extra version info + +Modify the test regex to accept any extra version info, just like it +accepts any server version info. The test is supposed to fail on actual +differences in behaviour and server info strings are intentionally +normalized and not regarded. + +Without this modification, the test introduced in 9e8e215e would fail +in post-build MTR on "from Debian-log" and in autopkgtest on "from Debian": + + main.merge_alter w4 [ fail ] + Test ended at 2025-11-26 22:41:38 + CURRENT_TEST: main.merge_alter + /usr/share/mariadb/mariadb-test/main/merge_alter.result 2025-11-13 11:45:29.000000000 +0300 + /tmp/tmp.3vGjZWHA79/var/4/log/merge_alter.reject 2025-11-27 01:41:38.523996124 +0300 + @@ -10,7 +10,7 @@ + /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; + DELIMITER /*!*/; + # at # + -#010909 4:46:40 server id # end_log_pos # CRC32 XXX Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup + +#010909 4:46:40 server id # end_log_pos # CRC32 XXX Start: binlog v 4, server v #.##.## from Debian created 010909 4:46:40 at startup + ROLLBACK/*!*/; + # at # + #010909 4:46:40 server id # end_log_pos # CRC32 XXX Gtid list [] + Result length mismatch + +Forwarded: not-needed +--- + mysql-test/main/merge_alter.test | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mysql-test/main/merge_alter.test b/mysql-test/main/merge_alter.test +index 8094fd4..fb0bc49 100644 +--- a/mysql-test/main/merge_alter.test ++++ b/mysql-test/main/merge_alter.test +@@ -14,7 +14,7 @@ insert into t values(1,1,1); + + flush logs; + let $MYSQLD_DATADIR= `select @@datadir`; +---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[a-zA-Z0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=/ ++--replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /## [a-zA-Z0-9- ]+ created/## created/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[a-zA-Z0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=/ + --exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001 + + drop table t,t3; diff -Nru mariadb-11.8.3/debian/patches/install-files-into-usr.patch mariadb-11.8.6/debian/patches/install-files-into-usr.patch --- mariadb-11.8.3/debian/patches/install-files-into-usr.patch 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/install-files-into-usr.patch 2026-03-06 13:13:13.000000000 +0000 @@ -12,13 +12,13 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index eb96967..3be0498 100644 +index 55e960a..d52836a 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake -@@ -194,10 +194,10 @@ SET(INSTALL_SUPPORTFILESDIR_DEB "share/mariadb") - SET(INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql") +@@ -196,10 +196,10 @@ SET(INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql") - SET(INSTALL_UNIX_ADDRDIR_DEB "/run/mysqld/mysqld.sock") + SET(INSTALL_RUNDATADIR_DEB "/run/mysqld") + SET(INSTALL_UNIX_ADDRDIR_DEB "${INSTALL_RUNDATADIR_DEB}/mysqld.sock") -SET(INSTALL_SYSTEMD_UNITDIR_DEB "/lib/systemd/system") +SET(INSTALL_SYSTEMD_UNITDIR_DEB "/usr/lib/systemd/system") SET(INSTALL_SYSTEMD_SYSUSERSDIR_DEB "/usr/lib/sysusers.d") diff -Nru mariadb-11.8.3/debian/patches/mroonga-mrn-lib-dirs-path-reproducible-build.patch mariadb-11.8.6/debian/patches/mroonga-mrn-lib-dirs-path-reproducible-build.patch --- mariadb-11.8.3/debian/patches/mroonga-mrn-lib-dirs-path-reproducible-build.patch 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/mroonga-mrn-lib-dirs-path-reproducible-build.patch 2026-03-06 13:13:13.000000000 +0000 @@ -5,6 +5,9 @@ We should use relative path not absolute path. We can use target without breaking reproducibility. +This patch can be removed once MariaDB ships with Mroonga v12.00+ that has +https://github.com/mroonga/mroonga/commit/27caeb9b8ce7fa432b1251eca475b517c6902a6c + Origin: https://github.com/mroonga/mroonga/issues/298#issuecomment-1030815927 Bug: https://github.com/mroonga/mroonga/issues/298 Forwarded: not-needed diff -Nru mariadb-11.8.3/debian/patches/series mariadb-11.8.6/debian/patches/series --- mariadb-11.8.3/debian/patches/series 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/series 2026-03-06 13:13:13.000000000 +0000 @@ -7,3 +7,5 @@ Fix-misc-spelling-in-MariaDB-Server-repository.patch Improve-output-from-mariadb-secure-installation-to-be-mor.patch MDEV-37411-suppress-new-warning-about-native-aio.patch +include-debian-in-test-merge-alter-result.patch +MDEV-38811-skip-grant-tables-crash.patch diff -Nru mariadb-11.8.3/debian/patches/startup-message.patch mariadb-11.8.6/debian/patches/startup-message.patch --- mariadb-11.8.3/debian/patches/startup-message.patch 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/patches/startup-message.patch 2026-03-06 13:13:13.000000000 +0000 @@ -28,16 +28,21 @@ Logs will also show as server output: mysqld: Version: '11.8.1-MariaDB-5 from Debian' socket: '/run/mysqld/mysqld.sock' port: 3306 -- Please help get to 10k stars at https://github.com/MariaDB/Server -Forwarded: no +This patch can be dropped if Debian updates to ship + +Something similar was merged in https://github.com/MariaDB/server/commit/346c7afe9b7071ce9c47892a83d69944b608b3da +and thus included in MariaDB 12.3 onward. + +Forwarded: not-needed --- sql/mysqld.cc | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc -index 31371bf..4d59e94 100644 +index 251c342..c8595a5 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc -@@ -5041,13 +5041,23 @@ static int init_server_components() +@@ -5043,13 +5043,23 @@ static int init_server_components() /* Print source revision hash, as one of the first lines, if not the diff -Nru mariadb-11.8.3/debian/rules mariadb-11.8.6/debian/rules --- mariadb-11.8.3/debian/rules 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/rules 2026-03-06 13:13:13.000000000 +0000 @@ -114,7 +114,7 @@ -DWITH_NUMA=AUTO \ -DIGNORE_AIO_CHECK=ON \ -DWITH_URING=ON \ - -DWITH_LIBAIO=NO \ + -DWITH_LIBAIO=ON \ -DWITH_INNODB_SNAPPY=ON \ -DHAVE_SYSTEM_LIBFMT_EXITCODE=0 \ -DWITH_SBOM=NO \ diff -Nru mariadb-11.8.3/debian/salsa-ci.yml mariadb-11.8.6/debian/salsa-ci.yml --- mariadb-11.8.3/debian/salsa-ci.yml 2025-08-26 16:05:45.000000000 +0000 +++ mariadb-11.8.6/debian/salsa-ci.yml 2026-03-06 13:13:13.000000000 +0000 @@ -1,5 +1,5 @@ --- -# Include Salsa-CI as a base +# Include Salsa CI as a base include: - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml @@ -28,19 +28,18 @@ # pinpoint what aspect of the build is broken if not reproducible. SALSA_CI_DISABLE_REPROTEST: 1 SALSA_CI_ENABLE_ATOMIC_REPROTEST: 0 + # Debrebuild works, but it too takes very long time and timeouts, so better to + # have it disabled by default and only run occasionally when specifically + # debugging reproducibility issues. + SALSA_CI_DISABLE_DEBREBUILD: 1 SALSA_CI_DISABLE_RC_BUGS: 0 + # Testing https://salsa.debian.org/salsa-ci-team/pipeline#git-attributes + SALSA_CI_DISABLE_GBP_SETUP_GITATTRIBUTES: 1 .build-package: # Extend Salsa-CI build jobs to have longer timeout as the default GitLab # timeout (1h) is often not enough timeout: 3h - # Default 5G sporadically fails builds on not having enough disk space - variables: - CCACHE_MAXSIZE: 3G - # Salsa instance runners typically have 30G volumes with 14G free disk space - before_script: - - echo "Total and free disk space:" - - df -h . stages: - provisioning @@ -52,47 +51,6 @@ - test extras - publish # Stage referenced by Salsa CI template aptly stanza, so must exist even though not used -# try to autodetect the target distribution -.get-target-distribution: &get-target-distribution - - dist=$(dpkg-parsechangelog --show-field=distribution || echo UNRELEASED) - # if dist is UNRELEASED, try to use 'dch' to guess a sane default. - # Use questing by default if VENDOR's value is `ubuntu`. - - clbak="/tmp/debian.changelog" - - cp debian/changelog "${clbak}" - - | - if [ "$VENDOR" = ubuntu ] && [ "${dist}" = UNRELEASED ] - then - dist=questing - elif [ "${dist}" = UNRELEASED ] - then - dch --release foo || true; dist=$(dpkg-parsechangelog --show-field=distribution || echo UNRELEASED); cat "${clbak}" >debian/changelog; - fi - - rm -rf "${clbak}" - # strip away UNRELEASED prefix/suffix/... - - dist=${dist#UNRELEASED-} - - dist=${dist%-UNRELEASED} - - dist=${dist%-security} - - dist=${dist#UNRELEASED} - - test -n "${dist}" || dist=$DEFAULT_RELEASE - - - echo "RELEASE_FROM_CHANGELOG=${dist}" | tee ${CI_PROJECT_DIR}/salsa.env - -# The extract-soruce runs using the gbp container image, which is always Debian -# unstable, and thus origtargz in it won't see any Trixie sources unless it is -# injected there like this. -extract-source: - extends: .provisioning-extract-source - before_script: - - | - cat > /etc/apt/sources.list.d/trixie.sources < Packages @@ -433,7 +397,7 @@ .test-full-upgrade: &test-full-upgrade - *test-enable-artifacts-repo - - apt-get full-upgrade -qq --simulate + - apt-get full-upgrade -q --simulate - apt-get full-upgrade -qq --yes # Verify installation of MariaDB built in this commit - mariadb --version @@ -478,7 +442,7 @@ - > dpkg -l | grep mariadb | grep salsaci || { echo "ERROR! MariaDB was not upgraded from artifacts" - find -ls -maxdepth 3 + find -maxdepth 3 -printf '%M %4u %4g %10s %TY-%Tm-%Td %TH:%TM %p\n' | sort -k 7 exit 1 } @@ -560,6 +524,7 @@ stage: test needs: - job: build + artifacts: true image: debian:${RELEASE} artifacts: when: always @@ -580,6 +545,7 @@ stage: test needs: - job: build + artifacts: true image: debian:${RELEASE} artifacts: when: always @@ -589,12 +555,14 @@ before_script: - *test-prepare-container - apt-get install -qq --yes --no-install-recommends ca-certificates + # Test upgrades from the last version upstream released for Debian Sid in + # their archive for each upstream major release series - | cat > /etc/apt/sources.list.d/mariadb.sources < #ifndef PRIuMAX @@ -74,6 +73,8 @@ static ulint xdes_size; ulong srv_page_size; uint32_t srv_page_size_shift; +static uint32_t dblwr_1; +static uint32_t dblwr_2; /* Current page number (0 based). */ uint32_t cur_page_num; /* Current space. */ @@ -97,8 +98,10 @@ /* Enabled for log write option. */ static bool is_log_enabled = false; static bool skip_freed_pages; +static uint32_t tablespace_flags= 0; static byte field_ref_zero_buf[UNIV_PAGE_SIZE_MAX]; const byte *field_ref_zero = field_ref_zero_buf; +constexpr uint32_t USE_FSP_FLAGS{UINT32_MAX}; #ifndef _WIN32 /* advisory lock for non-window system. */ @@ -253,12 +256,9 @@ } /** Init the page size for the tablespace. -@param[in] buf buffer used to read the page */ -static void init_page_size(const byte* buf) +@param[in] flags InnoDB tablespace flags */ +static void init_page_size_from_flags(const uint32_t flags) { - const unsigned flags = mach_read_from_4(buf + FIL_PAGE_DATA - + FSP_SPACE_FLAGS); - if (fil_space_t::full_crc32(flags)) { const uint32_t ssize = FSP_FLAGS_FCRC32_GET_PAGE_SSIZE(flags); srv_page_size_shift = UNIV_ZIP_SIZE_SHIFT_MIN - 1 + ssize; @@ -540,24 +540,15 @@ return(is_corrupted); } -/********************************************//* - Check if page is doublewrite buffer or not. - @param [in] page buffer page - - @retval true if page is doublewrite buffer otherwise false. -*/ -static -bool -is_page_doublewritebuffer( - const byte* page) -{ - if ((cur_page_num >= extent_size) - && (cur_page_num < extent_size * 3)) { - /* page is doublewrite buffer. */ - return (true); - } - - return (false); +/** Check if page is doublewrite buffer or not. +@retval true if page is doublewrite buffer otherwise false. */ +static bool is_page_doublewritebuffer() +{ + if (cur_space != 0) return false; + const uint32_t extent{static_cast( + cur_page_num & ~(extent_size - 1))}; + return cur_page_num > FSP_DICT_HDR_PAGE_NO && + extent && (extent == dblwr_1 || extent == dblwr_2); } /*******************************************************//* @@ -764,7 +755,7 @@ @param [in] file file for diagnosis. @param [in] is_encrypted tablespace is encrypted */ -void +static void parse_page( const byte* page, byte* xdes, @@ -784,6 +775,12 @@ str = skip_page ? "Double_write_buffer" : "-"; page_no = mach_read_from_4(page + FIL_PAGE_OFFSET); if (skip_freed_pages) { + + /** Skip doublewrite pages when -r is enabled */ + if (is_page_doublewritebuffer()) { + return; + } + const byte *des= xdes + XDES_ARR_OFFSET + xdes_size * ((page_no & (physical_page_size - 1)) / extent_size); @@ -978,6 +975,18 @@ fprintf(file, "#::" UINT32PF "\t\t|\t\tTransaction system " "page\t\t|\t%s\n", cur_page_num, str); } + + if (cur_space == 0 && + (mach_read_from_4(page + TRX_SYS_DOUBLEWRITE + + TRX_SYS_DOUBLEWRITE_MAGIC) == + TRX_SYS_DOUBLEWRITE_MAGIC_N)) { + dblwr_1 = mach_read_from_4( + page + TRX_SYS_DOUBLEWRITE + + TRX_SYS_DOUBLEWRITE_BLOCK1); + dblwr_2 = mach_read_from_4( + page + TRX_SYS_DOUBLEWRITE + + TRX_SYS_DOUBLEWRITE_BLOCK2); + } break; case FIL_PAGE_TYPE_FSP_HDR: @@ -1220,6 +1229,9 @@ {"skip-freed-pages", 'r', "skip freed pages for the tablespace", &skip_freed_pages, &skip_freed_pages, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, + {"tablespace-flags", 0, "InnoDB tablespace flags (default: 4294967295 " + "= read from page 0)", &tablespace_flags, &tablespace_flags, 0, + GET_UINT, REQUIRED_ARG, USE_FSP_FLAGS, 0, USE_FSP_FLAGS, 0, 0, 0}, {0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} }; @@ -1280,6 +1292,14 @@ my_end(0); exit(EXIT_SUCCESS); break; + default: + if (tablespace_flags != USE_FSP_FLAGS && + !fil_space_t::is_valid_flags(tablespace_flags, false) && + !fil_space_t::is_valid_flags(tablespace_flags, true)) { + fprintf(stderr, "Error: Provided --tablespace-flags " + "is not valid."); + return true; + } } return(false); @@ -1410,6 +1430,87 @@ && !write_file(filename, fil_in, buf, flags, pos); } +/** Read and validate page 0, then initialize tablespace flags +and page size. +@param fil_in File pointer +@param buf Buffer to read page into +@return whether the page was read successfully */ +static bool read_and_validate_page0(FILE *fil_in, byte *buf) +{ + /* Read the minimum page size first */ + size_t initial_page_size= UNIV_ZIP_SIZE_MIN; + if (tablespace_flags != USE_FSP_FLAGS) + { + init_page_size_from_flags(tablespace_flags); + initial_page_size= physical_page_size; + } + + /* Read just enough to get the tablespace flags */ + size_t bytes= fread(buf, 1, initial_page_size, fil_in); + + if (bytes != initial_page_size) + { + fprintf(stderr, "Error: Was not able to read the " + "minimum page size of %zu bytes. Bytes read " + "was %zu\n", initial_page_size, bytes); + return false; + } + + /* Read space_id and page offset */ + cur_space= mach_read_from_4(buf + FIL_PAGE_SPACE_ID); + cur_page_num= mach_read_from_4(buf + FIL_PAGE_OFFSET); + + /* Get tablespace flags from the FSP header */ + uint32_t flags= mach_read_from_4(buf + FSP_HEADER_OFFSET + + FSP_SPACE_FLAGS); + + if (tablespace_flags != USE_FSP_FLAGS) + { + if (cur_page_num == 0 && flags != tablespace_flags) + fprintf(stderr, "Error: Mismatch between provided tablespace " + "flags (0x%x) and file flags (0x%x)\n", + tablespace_flags, flags); + } + else + { + if (cur_page_num) + { + fprintf(stderr, "Error: First page of the tablespace file " + "should be 0, but encountered page number %" PRIu32 ". " + "If you are checking multi file system " + "tablespace files, please specify the correct " + "tablespace flags using --tablespace-flags option.\n", + cur_page_num); + return false; + } + /* Initialize page size parameters based on flags */ + init_page_size_from_flags(flags); + /* Read the rest of the page if it's larger than the minimum size */ + if (physical_page_size > UNIV_ZIP_SIZE_MIN) + { + /* Read rest of the page 0 to determine crypt_data */ + ulint bytes= read_file(buf, true, physical_page_size, fil_in); + if (bytes != physical_page_size) + { + fprintf(stderr, "Error: Was not able to read the rest of the " + "page of " ULINTPF " bytes. Bytes read was " ULINTPF "\n", + physical_page_size - UNIV_ZIP_SIZE_MIN, bytes); + return false; + } + } + tablespace_flags= flags; + } + + if (physical_page_size < UNIV_ZIP_SIZE_MIN || + physical_page_size > UNIV_PAGE_SIZE_MAX) + { + fprintf(stderr, "Error: Invalid page size " ULINTPF + " encountered\n", physical_page_size); + return false; + } + return true; +} + int main( int argc, char **argv) @@ -1545,51 +1646,13 @@ } } - /* Read the minimum page size. */ - bytes = fread(buf, 1, UNIV_ZIP_SIZE_MIN, fil_in); - partial_page_read = true; - - if (bytes != UNIV_ZIP_SIZE_MIN) { - fprintf(stderr, "Error: Was not able to read the " - "minimum page size "); - fprintf(stderr, "of %d bytes. Bytes read was " ULINTPF "\n", - UNIV_ZIP_SIZE_MIN, bytes); - + /* Read and validate page 0 */ + if (!read_and_validate_page0(fil_in, buf)) { exit_status = 1; goto my_exit; } - /* enable variable is_system_tablespace when space_id of given - file is zero. Use to skip the checksum verification and rewrite - for doublewrite pages. */ - cur_space = mach_read_from_4(buf + FIL_PAGE_SPACE_ID); - cur_page_num = mach_read_from_4(buf + FIL_PAGE_OFFSET); - - /* Determine page size, zip_size and page compression - from fsp_flags and encryption metadata from page 0 */ - init_page_size(buf); - - uint32_t flags = mach_read_from_4(FSP_HEADER_OFFSET + FSP_SPACE_FLAGS + buf); - - if (physical_page_size == UNIV_ZIP_SIZE_MIN) { - partial_page_read = false; - } else { - /* Read rest of the page 0 to determine crypt_data */ - bytes = read_file(buf, partial_page_read, physical_page_size, fil_in); - if (bytes != physical_page_size) { - fprintf(stderr, "Error: Was not able to read the " - "rest of the page "); - fprintf(stderr, "of " ULINTPF " bytes. Bytes read was " ULINTPF "\n", - physical_page_size - UNIV_ZIP_SIZE_MIN, bytes); - - exit_status = 1; - goto my_exit; - } - partial_page_read = false; - } - - - /* Now that we have full page 0 in buffer, check encryption */ + /* Check if tablespace is encrypted */ bool is_encrypted = check_encryption(filename, buf); /* Verify page 0 contents. Note that we can't allow @@ -1600,7 +1663,8 @@ allow_mismatches = 0; exit_status = verify_checksum(buf, is_encrypted, - &mismatch_count, flags); + &mismatch_count, + tablespace_flags); if (exit_status) { fprintf(stderr, "Error: Page 0 checksum mismatch, can't continue. \n"); @@ -1611,7 +1675,8 @@ if ((exit_status = rewrite_checksum( filename, fil_in, buf, - &pos, is_encrypted, flags))) { + &pos, is_encrypted, + tablespace_flags))) { goto my_exit; } @@ -1807,7 +1872,7 @@ first_non_zero: if (is_system_tablespace) { /* enable when page is double write buffer.*/ - skip_page = is_page_doublewritebuffer(buf); + skip_page = is_page_doublewritebuffer(); } else { skip_page = false; } @@ -1828,13 +1893,16 @@ && !is_page_free(xdes, physical_page_size, cur_page_num) && (exit_status = verify_checksum( buf, is_encrypted, - &mismatch_count, flags))) { + &mismatch_count, + tablespace_flags))) { goto my_exit; } - if ((exit_status = rewrite_checksum( - filename, fil_in, buf, - &pos, is_encrypted, flags))) { + if (!is_page_doublewritebuffer() && + (exit_status = rewrite_checksum( + filename, fil_in, buf, + &pos, is_encrypted, + tablespace_flags))) { goto my_exit; } diff -Nru mariadb-11.8.3/extra/mariabackup/aria_backup_client.cc mariadb-11.8.6/extra/mariabackup/aria_backup_client.cc --- mariadb-11.8.3/extra/mariabackup/aria_backup_client.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/extra/mariabackup/aria_backup_client.cc 2026-01-31 13:27:46.000000000 +0000 @@ -161,7 +161,10 @@ File m_data_file = -1; MY_STAT m_data_file_stat; }; - Table() = default; + Table() + { + bzero(&m_cap, sizeof(m_cap)); + } Table (Table &&other) = delete; Table & operator= (Table &&other) = delete; Table(const Table &) = delete; @@ -222,6 +225,7 @@ }; Table::~Table() { + aria_free_capabilities(&m_cap); (void)close(); } @@ -298,7 +302,8 @@ goto exit; } if (!have_capabilities) { - if ((error= aria_get_capabilities(partition.m_index_file, &m_cap))) { + if ((error= aria_get_capabilities(partition.m_index_file, + m_full_name.c_str(), &m_cap))) { msg(thread_num, "aria_get_capabilities failed: %d", error); goto exit; } @@ -343,6 +348,7 @@ } bool Table::close() { + aria_free_capabilities(&m_cap); for (Partition &partition : m_partitions) { if (partition.m_index_file >= 0) { my_close(partition.m_index_file, MYF(MY_WME)); @@ -399,26 +405,27 @@ for (ulonglong block= 0 ; ; block++) { size_t length = m_cap.block_size; - if (is_index) { - if ((error= aria_read_index( - partition.m_index_file, &m_cap, block, copy_buffer) == - HA_ERR_END_OF_FILE)) - break; - } else { - if ((error= aria_read_data( - partition.m_data_file, &m_cap, block, copy_buffer, &length) == - HA_ERR_END_OF_FILE)) - break; - } - if (error) { - msg(thread_num, "error: aria_read %s failed: %d", - is_index ? "index" : "data", error); - goto err; + if (is_index) + error= aria_read_index(partition.m_index_file, &m_cap, + block, copy_buffer); + else + error= aria_read_data(partition.m_data_file, &m_cap, + block, copy_buffer, &length); + if (error) + { + if (error == HA_ERR_END_OF_FILE) + break; + msg(thread_num, "error: aria_read %s from %s failed " + "with error %d", + is_index ? "index" : "data", full_name.c_str(), + error); + goto err; } xtrabackup_io_throttling(); if ((error = ds_write(dst_file, copy_buffer, length))) { - msg(thread_num, "error: aria_write failed: %d", error); - goto err; + msg(thread_num, "error: aria_write to %s failed " + "with error: %d", dst_path, error); + goto err; } } diff -Nru mariadb-11.8.3/extra/mariabackup/backup_mysql.cc mariadb-11.8.6/extra/mariabackup/backup_mysql.cc --- mariadb-11.8.3/extra/mariabackup/backup_mysql.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/extra/mariabackup/backup_mysql.cc 2026-01-31 13:27:46.000000000 +0000 @@ -77,6 +77,7 @@ bool have_galera_enabled = false; bool have_multi_threaded_slave = false; bool have_gtid_slave = false; +bool innobase_data_file_path_allocated= false; /* Kill long selects */ static mysql_mutex_t kill_query_thread_mutex; @@ -500,21 +501,19 @@ } if (innodb_data_file_path_var && *innodb_data_file_path_var) - innobase_data_file_path= my_strdup(PSI_NOT_INSTRUMENTED, - innodb_data_file_path_var, MYF(MY_FAE)); + innobase_data_file_path= my_once_strdup(innodb_data_file_path_var, + MYF(MY_FAE)); if (innodb_data_home_dir_var) - innobase_data_home_dir= my_strdup(PSI_NOT_INSTRUMENTED, - innodb_data_home_dir_var, MYF(MY_FAE)); + innobase_data_home_dir= my_once_strdup(innodb_data_home_dir_var, + MYF(MY_FAE)); if (innodb_log_group_home_dir_var && *innodb_log_group_home_dir_var) - srv_log_group_home_dir= my_strdup(PSI_NOT_INSTRUMENTED, - innodb_log_group_home_dir_var, - MYF(MY_FAE)); + srv_log_group_home_dir= my_once_strdup(innodb_log_group_home_dir_var, + MYF(MY_FAE)); if (innodb_undo_directory_var && *innodb_undo_directory_var) - srv_undo_dir= my_strdup(PSI_NOT_INSTRUMENTED, innodb_undo_directory_var, - MYF(MY_FAE)); + srv_undo_dir= my_once_strdup(innodb_undo_directory_var, MYF(MY_FAE)); if (innodb_log_file_size_var) { @@ -536,10 +535,7 @@ } if (aria_log_dir_path_var) - { - aria_log_dir_path= my_strdup(PSI_NOT_INSTRUMENTED, - aria_log_dir_path_var, MYF(MY_FAE)); - } + aria_log_dir_path= my_once_strdup(aria_log_dir_path_var, MYF(MY_FAE)); if (page_zip_level_var != NULL) { @@ -557,6 +553,7 @@ return (ret); } + static bool select_incremental_lsn_from_history(lsn_t *incremental_lsn) @@ -932,7 +929,7 @@ if (opt_kill_long_queries_timeout) { start_query_killer(); } - xb_mysql_query(connection, "BACKUP STAGE FLUSH", true); + xb_mysql_query(connection, "BACKUP STAGE FLUSH", false); if (opt_kill_long_queries_timeout) { stop_query_killer(); } @@ -944,7 +941,7 @@ if (opt_kill_long_queries_timeout) { start_query_killer(); } - xb_mysql_query(connection, "BACKUP STAGE BLOCK_DDL", true); + xb_mysql_query(connection, "BACKUP STAGE BLOCK_DDL", false); DBUG_MARIABACKUP_EVENT("after_backup_stage_block_ddl", {}); if (opt_kill_long_queries_timeout) { stop_query_killer(); @@ -957,7 +954,7 @@ if (opt_kill_long_queries_timeout) { start_query_killer(); } - xb_mysql_query(connection, "BACKUP STAGE BLOCK_COMMIT", true); + xb_mysql_query(connection, "BACKUP STAGE BLOCK_COMMIT", false); DBUG_MARIABACKUP_EVENT("after_backup_stage_block_commit", {}); if (opt_kill_long_queries_timeout) { stop_query_killer(); @@ -968,12 +965,12 @@ bool backup_lock(MYSQL *con, const char *table_name) { static const std::string backup_lock_prefix("BACKUP LOCK "); std::string backup_lock_query = backup_lock_prefix + table_name; - xb_mysql_query(con, backup_lock_query.c_str(), true); + xb_mysql_query(con, backup_lock_query.c_str(), false); return true; } bool backup_unlock(MYSQL *con) { - xb_mysql_query(con, "BACKUP UNLOCK", true); + xb_mysql_query(con, "BACKUP UNLOCK", false); return true; } @@ -987,6 +984,8 @@ msg("Table %s is in use", tk.c_str()); result.insert(std::move(tk)); } + if (q_res) + mysql_free_result(q_res); return result; } @@ -1517,7 +1516,9 @@ domain_id ? domain_id : domain_id55); cleanup: + free_mysql_variables(vars); free_mysql_variables(status); + free_mysql_variables(value); return(result); } @@ -2070,6 +2071,7 @@ { static const char lsn_prefix[] = "\nLog sequence number "; ulonglong lsn = 0; + msg("Getting InnoDB LSN"); if (MYSQL_RES *res = xb_mysql_query(connection, "SHOW ENGINE INNODB STATUS", true, false)) { @@ -2083,5 +2085,10 @@ } mysql_free_result(res); } + msg("InnoDB LSN: %llu, Flushing Logs", lsn); + /* Make sure that current LSN is written and flushed to disk. */ + xb_mysql_query(connection, "FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS", + false, false); + msg("Flushed Logs"); return lsn; } diff -Nru mariadb-11.8.3/extra/mariabackup/backup_mysql.h mariadb-11.8.6/extra/mariabackup/backup_mysql.h --- mariadb-11.8.3/extra/mariabackup/backup_mysql.h 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/extra/mariabackup/backup_mysql.h 2026-01-31 13:27:46.000000000 +0000 @@ -97,5 +97,4 @@ write_slave_info(ds_ctxt *datasink, MYSQL *connection); ulonglong get_current_lsn(MYSQL *connection); - #endif diff -Nru mariadb-11.8.3/extra/mariabackup/encryption_plugin.cc mariadb-11.8.6/extra/mariabackup/encryption_plugin.cc --- mariadb-11.8.3/extra/mariabackup/encryption_plugin.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/extra/mariabackup/encryption_plugin.cc 2026-01-31 13:27:46.000000000 +0000 @@ -29,6 +29,7 @@ extern struct st_maria_plugin *mysql_optional_plugins[]; extern struct st_maria_plugin *mysql_mandatory_plugins[]; static void encryption_plugin_init(int argc, char **argv); +void initialize_default_encryption(); extern char *xb_plugin_load; extern char *xb_plugin_dir; @@ -140,7 +141,10 @@ } mysql_free_result(result); if (!plugin_load.length()) + { + initialize_default_encryption(); return; + } oss << "plugin_load=" << plugin_load.c_str() + 1 << std::endl; @@ -248,3 +252,45 @@ plugin_init(&argc, argv, PLUGIN_INIT_SKIP_PLUGIN_TABLE); } + +/* + Setup encryption_handler with default encryption to avoid crashes when + calling encryption_get_key +*/ +uint no_get_key(uint, uint, uchar*, uint*) +{ + return ENCRYPTION_KEY_VERSION_INVALID; +} +uint no_key(uint) +{ + return ENCRYPTION_KEY_VERSION_INVALID; +} + +static int ctx_init(void *ctx, const unsigned char* key, unsigned int klen, + const unsigned char* iv, unsigned int ivlen, int flags, + unsigned int key_id, unsigned int key_version) +{ + return my_aes_crypt_init(ctx, MY_AES_CBC, flags, key, klen, iv, ivlen); +} + +static unsigned int get_length(unsigned int slen, unsigned int key_id, + unsigned int key_version) +{ + return my_aes_get_size(MY_AES_CBC, slen); +} + +uint ctx_size(unsigned int, unsigned int) +{ + return MY_AES_CTX_SIZE; +} + +void initialize_default_encryption() +{ + encryption_handler.encryption_ctx_size_func= ctx_size; + encryption_handler.encryption_ctx_init_func= ctx_init; + encryption_handler.encryption_ctx_update_func= my_aes_crypt_update; + encryption_handler.encryption_ctx_finish_func= my_aes_crypt_finish; + encryption_handler.encryption_encrypted_length_func= get_length; + encryption_handler.encryption_key_get_func= no_get_key; + encryption_handler.encryption_key_get_latest_version_func= no_key; +} diff -Nru mariadb-11.8.3/extra/mariabackup/xtrabackup.cc mariadb-11.8.6/extra/mariabackup/xtrabackup.cc --- mariadb-11.8.3/extra/mariabackup/xtrabackup.cc 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/extra/mariabackup/xtrabackup.cc 2026-01-31 13:27:46.000000000 +0000 @@ -129,6 +129,7 @@ } int sys_var_init(); +void sys_var_end(); extern const char* fts_common_tables[]; extern const fts_index_selector_t fts_index_selector[]; @@ -203,6 +204,8 @@ /** whether log_copying_thread() is active; protected by recv_sys.mutex */ static bool log_copying_running; +/** the log parsing function for --backup */ +static recv_sys_t::parser backup_log_parse; /** for --backup, target LSN to copy the log to; protected by recv_sys.mutex */ lsn_t metadata_to_lsn; @@ -395,6 +398,7 @@ char *opt_user; const char *opt_password; +bool free_opt_password; char *opt_host; char *opt_defaults_group; char *opt_socket; @@ -660,11 +664,12 @@ if (!space) die("Can't find space object for space name %s to check corrupted page", space_name.c_str()); + mtr_t mtr{nullptr}; for (std::set::const_iterator page_it= space_it->second.pages.begin(); page_it != space_it->second.pages.end(); ++page_it) { - if (fseg_page_is_allocated(space, *page_it)) + if (fseg_page_is_allocated(&mtr, space, *page_it)) { space_info_t &space_info = non_free_pages[space_id]; space_info.pages.insert(*page_it); @@ -1232,7 +1237,7 @@ msg("DDL tracking : create %" PRIu32 " \"%.*s\"", space_id, int(len), name); fail = !check_if_skip_table(spacename.c_str()); - if (!opt_no_lock && fail && + if (fail && !opt_no_lock && check_if_fts_table(spacename.c_str())) { /* Ignore the FTS internal table because InnoDB does create intermediate table and their associative FTS @@ -1259,6 +1264,11 @@ break; case FILE_DELETE: fail = !check_if_skip_table(spacename.c_str()) + /* Ignore the FTS internal table because InnoDB may + drop intermediate table and their associative FTS + internal table as a part of inplace rollback operation. + backup_set_alter_copy_lock() downgrades the + MDL_BACKUP_DDL before inplace phase of alter */ && !check_if_fts_table(spacename.c_str()); msg("DDL tracking : delete %" PRIu32 " \"%.*s\"", space_id, int(len), name); @@ -1960,7 +1970,7 @@ "Whether ib_logfile0 should be memory-mapped", (G_PTR*) &log_sys.log_mmap, (G_PTR*) &log_sys.log_mmap, 0, GET_BOOL, NO_ARG, - log_sys.log_mmap_default, 0, 0, 0, 0, 0}, + FALSE, 0, 0, 0, 0, 0}, #if defined __linux__ || defined _WIN32 {"innodb_log_file_buffering", OPT_INNODB_LOG_FILE_BUFFERING, "Whether the file system cache for ib_logfile0 is enabled during --backup", @@ -2099,7 +2109,7 @@ "(for --backup): Force an InnoDB checkpoint", (G_PTR*)&innodb_log_checkpoint_now, (G_PTR*)&innodb_log_checkpoint_now, - 0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0}, + 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0}, {"mysqld-args", OPT_XTRA_MYSQLD_ARGS, "All arguments that follow this argument are considered as server " @@ -2448,6 +2458,7 @@ static bool innodb_init_param() { + static bool mysql_tmpdir_list_set= 0; if (!ut_is_2pow(log_sys.write_size)) { msg("InnoDB: innodb_log_write_ahead_size=%u" " is not a power of two", log_sys.write_size); @@ -2455,12 +2466,15 @@ } srv_is_being_started = TRUE; /* === some variables from mysqld === */ - memset((G_PTR) &mysql_tmpdir_list, 0, sizeof(mysql_tmpdir_list)); - - if (init_tmpdir(&mysql_tmpdir_list, opt_mysql_tmpdir)) { - msg("init_tmpdir() failed"); - return true; - } + if (!mysql_tmpdir_list_set) + { + mysql_tmpdir_list_set= 1; + memset((G_PTR) &mysql_tmpdir_list, 0, sizeof(mysql_tmpdir_list)); + if (init_tmpdir(&mysql_tmpdir_list, opt_mysql_tmpdir)) { + msg("init_tmpdir() failed"); + return true; + } + } xtrabackup_tmpdir = my_tmpdir(&mysql_tmpdir_list); /* dummy for initialize all_charsets[] */ get_charset_name(0); @@ -2628,7 +2642,10 @@ static void log_hdr_init() { memset(log_hdr_buf, 0, sizeof log_hdr_buf); - mach_write_to_4(LOG_HEADER_FORMAT + log_hdr_buf, log_t::FORMAT_10_8); + /* log_t::FORMAT_ENC_10_8 is written to the file as FORMAT_10_8 */ + mach_write_to_4(LOG_HEADER_FORMAT + log_hdr_buf, + log_sys.format == log_t::FORMAT_ENC_11 + ? log_t::FORMAT_ENC_11 : log_t::FORMAT_10_8); mach_write_to_8(LOG_HEADER_START_LSN + log_hdr_buf, log_sys.next_checkpoint_lsn); snprintf(reinterpret_cast(LOG_HEADER_CREATOR + log_hdr_buf), @@ -3460,87 +3477,51 @@ recv_sys.len= size_t(log_sys.file_size); const size_t seq_offset{log_sys.is_encrypted() ? 8U + 5U : 5U}; const char one{'\1'}; + const byte *start= &log_sys.buf[recv_sys.offset]; + ut_d(recv_sys_t::parse_mtr_result r); - for (unsigned retry_count{0};;) + if ((ut_d(r=) backup_log_parse(false)) == recv_sys_t::OK) { - recv_sys_t::parse_mtr_result r; - const byte *start= &log_sys.buf[recv_sys.offset]; - - if (recv_sys.parse_mmap(false) == - recv_sys_t::OK) + do { - const byte *end; - - do + /* Set the sequence bit (the backed-up log will not wrap around) */ + size_t seqo= recv_sys.offset - seq_offset; + if (seqo < log_sys.START_OFFSET) + seqo+= static_cast(log_sys.file_size - log_sys.START_OFFSET); + const byte *seq= &log_sys.buf[seqo]; + ut_ad(*seq == log_sys.get_sequence_bit(recv_sys.lsn - seq_offset)); + if (!*seq) { - /* Set the sequence bit (the backed-up log will not wrap around) */ - size_t seqo= recv_sys.offset - seq_offset; - if (seqo < log_sys.START_OFFSET) - seqo+= static_cast(log_sys.file_size - log_sys.START_OFFSET); - const byte *seq= &log_sys.buf[seqo]; - ut_ad(*seq == log_sys.get_sequence_bit(recv_sys.lsn - seq_offset)); - if (!*seq) - { - if (xtrabackup_copy_mmap_snippet(dst_log_file, start, seq) || - ds_write(dst_log_file, &one, 1)) - goto write_error; - start = seq + 1; - } + if (xtrabackup_copy_mmap_snippet(dst_log_file, start, seq) || + ds_write(dst_log_file, &one, 1)) + goto write_error; + start = seq + 1; } - while ((r= recv_sys.parse_mmap(false)) == - recv_sys_t::OK); - - end= &log_sys.buf[recv_sys.offset]; - - if (xtrabackup_copy_mmap_snippet(dst_log_file, start, end)) - { - write_error: - msg("Error: write to ib_logfile0 failed"); - return true; - } - - start= end; - - pthread_cond_broadcast(&scanned_lsn_cond); - - if (r == recv_sys_t::GOT_EOF) - break; - - retry_count= 0; } - else - { - if (metadata_to_lsn) - { - if (metadata_to_lsn <= recv_sys.lsn) - return false; - } - else if (xtrabackup_throttle && io_ticket-- < 0) - mysql_cond_wait(&wait_throttle, &recv_sys.mutex); + while ((ut_d(r=) backup_log_parse(false)) == recv_sys_t::OK); - if (!retry_count++) - msg("Retrying read of log at LSN=" LSN_PF, recv_sys.lsn); - else if (retry_count == 100) - break; - else - { - timespec abstime; - set_timespec_nsec(abstime, 1000000ULL /* 1 ms */); - if (!mysql_cond_timedwait(&log_copying_stop, &recv_sys.mutex, - &abstime)) - return true; - } + if (xtrabackup_copy_mmap_snippet(dst_log_file, start, + &log_sys.buf[recv_sys.offset])) + { + write_error: + msg("Error: write to ib_logfile0 failed"); + return true; } + + pthread_cond_broadcast(&scanned_lsn_cond); } + ut_ad(r == recv_sys_t::GOT_EOF); + if (verbose) msg(">> log scanned up to (" LSN_PF ")", recv_sys.lsn); return false; } /** Copy redo log until the current end of the log is reached +@param early_exit parse and copy only logs from first read and return @return whether the operation failed */ -static bool xtrabackup_copy_logfile() +static bool xtrabackup_copy_logfile(bool early_exit) { mysql_mutex_assert_owner(&recv_sys.mutex); DBUG_EXECUTE_IF("log_checksum_mismatch", return false;); @@ -3556,7 +3537,6 @@ recv_sys.offset= size_t(recv_sys.lsn - log_sys.get_first_lsn()) & block_size_1; - recv_sys.len= 0; for (unsigned retry_count{0};;) { @@ -3564,12 +3544,12 @@ size_t start_offset{recv_sys.offset}; { + recv_sys.len= 0; { auto source_offset= - log_sys.calc_lsn_offset(recv_sys.lsn + recv_sys.len - - recv_sys.offset); + log_sys.calc_lsn_offset(recv_sys.lsn - recv_sys.offset); source_offset&= ~block_size_1; - size_t size{log_sys.buf_size - recv_sys.len}; + size_t size{log_sys.buf_size}; if (UNIV_UNLIKELY(source_offset + size > log_sys.file_size)) { const size_t first{size_t(log_sys.file_size - source_offset)}; @@ -3591,8 +3571,7 @@ if (log_sys.buf[recv_sys.offset] <= 1) break; - if (recv_sys.parse_mtr(false) == - recv_sys_t::OK) + if (backup_log_parse(false) == recv_sys_t::OK) { do { @@ -3602,8 +3581,7 @@ sequence_offset)); *seq= 1; } - while ((r= recv_sys.parse_mtr(false)) == - recv_sys_t::OK); + while ((r= backup_log_parse(false)) == recv_sys_t::OK); if (ds_write(dst_log_file, log_sys.buf + start_offset, recv_sys.offset - start_offset)) @@ -3611,32 +3589,25 @@ msg("Error: write to ib_logfile0 failed"); return true; } - else - { - const auto ofs= recv_sys.offset & ~block_size_1; - memmove_aligned<64>(log_sys.buf, log_sys.buf + ofs, - recv_sys.len - ofs); - recv_sys.len-= ofs; - recv_sys.offset&= block_size_1; - } - pthread_cond_broadcast(&scanned_lsn_cond); - if (r == recv_sys_t::GOT_EOF) + if (r == recv_sys_t::GOT_EOF || early_exit) break; + ut_ad(r == recv_sys_t::PREMATURE_EOF); + if (recv_sys.offset < log_sys.write_size) break; if (xtrabackup_throttle && io_ticket-- < 0) mysql_cond_wait(&wait_throttle, &recv_sys.mutex); + recv_sys.offset&= block_size_1; retry_count= 0; continue; } else { - recv_sys.len= recv_sys.offset & ~block_size_1; if (retry_count == 100) break; @@ -3716,7 +3687,7 @@ { my_thread_init(); mysql_mutex_lock(&recv_sys.mutex); - while (!xtrabackup_copy_logfile() && + while (!xtrabackup_copy_logfile(false) && (!metadata_last_lsn || metadata_last_lsn > recv_sys.lsn)) { timespec abstime; @@ -4934,7 +4905,7 @@ ut_ad(metadata_to_lsn); metadata_last_lsn= lsn; - last_lsn= backup_wait_for_lsn_low(LSN_MAX); + last_lsn= backup_wait_for_lsn_low(lsn); metadata_last_lsn= last_lsn; stop_backup_threads(); @@ -5490,12 +5461,14 @@ } msg("cd to %s", mysql_real_data_home); encryption_plugin_backup_init(mysql_connection); - if (innodb_log_checkpoint_now != false && mysql_send_query( - mysql_connection, + if (innodb_log_checkpoint_now) { + msg("Initiating checkpoint"); + if (mysql_send_query(mysql_connection, C_STRING_WITH_LEN("SET GLOBAL " "innodb_log_checkpoint_now=ON;"))) { - msg("initiating checkpoint failed"); - return(false); + msg("initiating checkpoint failed"); + return(false); + } } msg("open files limit requested %lu, set to %lu", @@ -5536,12 +5509,14 @@ if (fil_system.is_initialised()) { innodb_shutdown(); } + backup_datasinks.destroy(); return(false); } srv_thread_pool_init(); /* Reset the system variables in the recovery module. */ trx_pool_init(); + btr_search_sys_create(); recv_sys.create(); xb_filters_init(); @@ -5609,6 +5584,7 @@ server does not support this */ if (innodb_log_checkpoint_now != false) { mysql_read_query_result(mysql_connection); + msg("Finished waiting for checkpoint"); } if (!select_history()) { @@ -5646,9 +5622,10 @@ /* copy log file by current position */ mysql_mutex_lock(&recv_sys.mutex); + backup_log_parse = recv_sys.get_backup_parser(); recv_sys.lsn = log_sys.next_checkpoint_lsn; - const bool log_copy_failed = xtrabackup_copy_logfile(); + const bool log_copy_failed = xtrabackup_copy_logfile(true); mysql_mutex_unlock(&recv_sys.mutex); @@ -5906,6 +5883,8 @@ node, 0, dest_name.c_str(), wf_write_through, *this); } + + DBUG_MARIABACKUP_EVENT("after_backup_fix_ddl", {}); } @@ -6149,16 +6128,12 @@ ut_ad(fil_space_t::physical_size(flags) == info.page_size); mysql_mutex_lock(&fil_system.mutex); - fil_space_t* space = fil_space_t::create(uint32_t(info.space_id), - flags, false, 0, - FIL_ENCRYPTION_DEFAULT, true); + std::ignore = fil_space_t::create(uint32_t(info.space_id), + flags, false, 0, + FIL_ENCRYPTION_DEFAULT, true); mysql_mutex_unlock(&fil_system.mutex); - if (space) { - *success = xb_space_create_file(real_name, info.space_id, - flags, &file); - } else { - msg("Can't create tablespace %s\n", dest_space_name); - } + *success = xb_space_create_file(real_name, info.space_id, + flags, &file); goto exit; } @@ -6687,7 +6662,6 @@ innodb_free_param() { srv_sys_space.shutdown(); - free_tmpdir(&mysql_tmpdir_list); } @@ -7336,6 +7310,8 @@ void handle_options(int argc, char **argv, char ***argv_server, char ***argv_client, char ***argv_backup) { + char **save_argv_server, **save_argv_client, **save_argv_backup; + /* Setup some variables for Innodb.*/ srv_operation = SRV_OPERATION_RESTORE; @@ -7453,6 +7429,7 @@ load_defaults_or_exit(conf_file, &server_default_groups[0], &argc_server, argv_server); + save_argv_server= *argv_server; int n; for (n = 0; (*argv_server)[n]; n++) {}; @@ -7498,6 +7475,7 @@ load_defaults_or_exit(conf_file, xb_client_default_groups, &argc_client, argv_client); + save_argv_client= *argv_client; for (n = 0; (*argv_client)[n]; n++) {}; argc_client = n; @@ -7518,6 +7496,8 @@ load_defaults_or_exit(conf_file, backup_default_groups, &argc_backup, argv_backup); + save_argv_backup= *argv_backup; + for (n= 0; (*argv_backup)[n]; n++) { }; @@ -7545,12 +7525,13 @@ xb_client_options, xb_get_one_option))) exit(ho_error); - if (opt_password) + if (opt_password && strlen(opt_password)) { char *argument= (char*) opt_password; char *start= (char*) opt_password; opt_password= my_strdup(PSI_NOT_INSTRUMENTED, opt_password, MYF(MY_FAE)); + free_opt_password= 1; while (*argument) *argument++= 'x'; // Destroy argument if (*start) @@ -7598,6 +7579,14 @@ } } } + /* + Restore load defaults argument to the value after + load_defaults_or_exit(). This is needed for caller + when calling free_defaults() + */ + *argv_server= save_argv_server; + *argv_client= save_argv_client; + *argv_backup= save_argv_backup; } static int main_low(char** argv); @@ -7702,10 +7691,21 @@ cleanup_errmsgs(); free_error_messages(); mysql_mutex_destroy(&LOCK_error_log); + free_tmpdir(&mysql_tmpdir_list); + if (free_opt_password) + my_free((char*) opt_password); + plugin_shutdown(); + free_list(opt_plugin_load_list_ptr); + mysql_server_end(); + sys_var_end(); if (status == EXIT_SUCCESS) { - msg("completed OK!"); + msg("completed OK!"); } + my_end(MY_CHECK_ERROR); + sf_leaking_memory= 0; + if (SAFEMALLOC_HAVE_MEMORY_LEAK) + status= EXIT_FAILURE; return status; } diff -Nru mariadb-11.8.3/extra/perror.c mariadb-11.8.6/extra/perror.c --- mariadb-11.8.3/extra/perror.c 2025-07-28 19:35:02.000000000 +0000 +++ mariadb-11.8.6/extra/perror.c 2026-01-31 13:27:46.000000000 +0000 @@ -354,7 +354,8 @@ found= 1; if (verbose) printf("MariaDB error code %3d (%s): %s\n" - "Learn more: https://mariadb.com/kb/en/e%3d/\n", code, name, msg, code); + "Learn more: https://err.mariadb.com/%3d\n", + code, name, msg, code); else puts(msg); } diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.codespellexcludelines mariadb-11.8.6/extra/wolfssl/wolfssl/.codespellexcludelines --- mariadb-11.8.3/extra/wolfssl/wolfssl/.codespellexcludelines 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.codespellexcludelines 2026-01-31 13:27:49.000000000 +0000 @@ -16,3 +16,5 @@ \pagenumbering{alph} DES3_KEY_SIZE = 24, /* 3 des ede */ /* functions added to support above needed, removed TOOM and KARATSUBA */ +#include + * extern global version from /usr/src/sys/sys/systm.h */ diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/ada.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/ada.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/ada.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/ada.yml 2026-01-31 13:27:49.000000000 +0000 @@ -9,6 +9,7 @@ jobs: build: + if: github.repository_owner == 'wolfssl' runs-on: ubuntu-latest steps: diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/arduino.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/arduino.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/arduino.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/arduino.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,418 @@ +name: Arduino CI Build (1 of 4) wolfssl + +# +# Test fetches wolfssl-examples/Arduino and uses local, latest github master branch wolfssl +# +# These 4 workflows across 3 repos are interdependent for the current $REPO_OWNER: +# +# THIS Arduino CI Build 1: https://github.com/$REPO_OWNER/wolfssl # /.github/workflows/arduino.yml +# - Builds Arduino library from local clone of wolfssl master branch +# - Fetches examples from https://github.com/$REPO_OWNER/wolfssl-examples +# +# Arduino CI Build 2: https://github.com/$REPO_OWNER/wolfssl-examples # /.github/workflows/arduino-release.yml +# - Tests examples based on latest published release of Arduino library, NOT latest on wolfssl github. +# - Should be identical to Arduino CI Build 3 in every way but wolfssl install. +# - Copies only compile script from wolfssl-examples +# - Builds local examples +# - No other repos used +# +# Arduino CI Build 3: https://github.com/$REPO_OWNER/wolfssl-examples # /.github/workflows/arduino.yml +# - Fetches current wolfSSL from https://github.com/$REPO_OWNER/wolfssl +# - Creates an updated Arduino library +# - Compiles local examples +# - Contains the source of `compile-all-examples.sh` and respective board-list.txt +# +# Arduino CI Build 4: https://github.com/$REPO_OWNER/Arduino-wolfssl # /.github/workflows/arduino.yml +# - Assembles and installs an updated Arduino wolfssl library from LOCAL wolfssl master source +# - Copies only compile script copied from wolfssl-examples +# - Builds local examples +# - No other repos used +# +# +# ** NOTE TO MAINTAINERS ** +# +# Consider using winmerge or similar tool to keep the 4 arduino[-release].yml files in relative sync. +# Although there are some specific differences, most of the contents are otherwise identical. +# +# See https://github.com/wolfSSL/Arduino-wolfSSL +# +# To test locally: +# cd [your WOLFSSL_ROOT], e.g. cd /mnt/c/workspace/wolfssl-$USER +# [optional checkout] e.g. git checkout tags/v5.8.4-stable +# pushd ./IDE/ARDUINO +# export ARDUINO_ROOT="$HOME/Arduino/libraries" +# ./wolfssl-arduino.sh INSTALL +# cd [your WOLFSSL_EXAMPLES_ROOT] e.g. /mnt/c/workspace/wolfssl-examples-$USER +# + +# START OF COMMON SECTION +on: + push: + branches: [ '**', 'master', 'main', 'release/**' ] + paths: + # Specific to this Arduino CI Build (1 of 4) + - '.github/workflows/arduino.yml' + - 'IDE/ARDUINO/**' + - 'src/**' + - 'wolfcrypt/**' + - 'wolfssl/**' + pull_request: + branches: [ '**' ] + paths: + - 'github/workflows/arduino.yml' + - 'IDE/ARDUINO/**' + - 'src/**' + - 'wolfcrypt/**' + - 'wolfssl/**' + workflow_dispatch: + +concurrency: + # Same branch push cancels other jobs. Other PR branches untouched + + group: ${{ github.workflow }}-${{ github.ref_name }} + cancel-in-progress: true + +# END OF COMMON SECTION + +jobs: + build: + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + fqbn: + # When editing this list, be sure to also edit file: board_list.txt + # The compile-all-examples.sh optionally takes a FQBN parameter to + # optionally compile all examples ONLY for the respective fully qualified board name. + # See https://github.com/wolfSSL/wolfssl-examples/blob/master/Arduino/sketches/board_list.txt + + - arduino:avr:ethernet + - arduino:avr:leonardoeth + - arduino:avr:mega + - arduino:avr:nano + - arduino:avr:uno + - arduino:avr:yun + - arduino:samd:mkrwifi1010 + - arduino:samd:mkr1000 + - arduino:samd:mkrfox1200 + - arduino:mbed_edge:edge_control + - arduino:mbed_nano:nanorp2040connect + - arduino:mbed_portenta:envie_m7 + - arduino:mbed_portenta:portenta_x8 + - arduino:renesas_uno:unor4wifi + - arduino:sam:arduino_due_x + - arduino:samd:arduino_zero_native + - arduino:samd:tian + - esp32:esp32:esp32 + - esp32:esp32:esp32s2 + - esp32:esp32:esp32s3 + - esp32:esp32:esp32c3 + - esp32:esp32:esp32c6 + - esp32:esp32:esp32h2 + - esp8266:esp8266:generic + - teensy:avr:teensy40 + + # Not yet supported, not in standard library + # - esp32:esp32:nano_nora + + # End strategy matrix + env: + REPO_OWNER: ${{ github.repository_owner }} + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Install Arduino CLI + run: | + # Script to fetch and run install.sh from arduino/arduino-cli + + # The install script will test to see if the recently installed apps in the path + # So set it up in advance: + mkdir -p "${PWD}/bin" + echo "${PWD}/bin" >> $GITHUB_PATH + + # Sets the install directory to a consistent path at the repo root. + ROOT_BIN="$GITHUB_WORKSPACE/bin" + + # Ensures that BINDIR exists before the installer runs + mkdir -p "$ROOT_BIN" + + # Save as a global environment variable + echo "$ROOT_BIN" >> "$GITHUB_PATH" + + # Download and run install script from Arduino: + # -S show errors; -L follow redirects; -v Verbose + set +e # don't abort on error + set -o pipefail + + curl -vSL --retry 5 --retry-delay 10 \ + https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh \ + | sh -x + rc=$? + c_rc=${PIPESTATUS[0]} # curl's exit code + s_rc=${PIPESTATUS[1]} # sh's exit code + + set -e # restore default abort-on-error + + # If there was a curl error, we have our own local copy that is more reliable and can add our own debugging + if [ "$rc" -ne 0 ]; then + echo "Primary install failed: curl=$c_rc, sh=$s_rc. Falling back..." >&2 + echo "Using local copy of arduino_install.sh" + pushd ./Arduino/sketches + chmod +x ./arduino_install.sh + + # Mimic curl install, does not use current directory: + BINDIR="$ROOT_BIN" sh -x ./arduino_install.sh + popd + else + echo "Alternative install script not needed." + fi + + - name: Confirm Arduino CLI Install + run: arduino-cli version + + - name: Derive CORE_ID (vendor:arch from FQBN) + run: | + CORE_ID="$(echo '${{ matrix.fqbn }}' | cut -d: -f1-2)" + echo "CORE_ID=$CORE_ID" >> "$GITHUB_ENV" + + - name: Setup Arduino CLI + run: | + arduino-cli config init + + # wait 10 minutes for big downloads (or use 0 for no limit) + arduino-cli config set network.connection_timeout 600s + + arduino-cli config add board_manager.additional_urls https://www.pjrc.com/teensy/package_teensy_index.json + arduino-cli config add board_manager.additional_urls https://arduino.esp8266.com/stable/package_esp8266com_index.json + arduino-cli core update-index + + echo "CORE_ID: $CORE_ID" + arduino-cli core install "$CORE_ID" + + # The above is instead of: + # arduino-cli core install esp32:esp32 # ESP32 + # arduino-cli core install arduino:avr # Arduino Uno, Mega, Nano + # arduino-cli core install arduino:sam # Arduino Due + # arduino-cli core install arduino:samd # Arduino Zero + # arduino-cli core install teensy:avr # PJRC Teensy + # arduino-cli core install esp8266:esp8266 # ESP8266 + # arduino-cli core install arduino:mbed_nano # nanorp2040connect + # arduino-cli core install arduino:mbed_portenta # portenta_h7_m7 + # arduino-cli core install arduino:mbed_edge + # arduino-cli core install arduino:renesas_uno + + # For reference: + + # mbed nano not yet tested + # sudo "/home/$USER/.arduino15/packages/arduino/hardware/mbed_nano/4.2.4/post_install.sh" + + # Always install networking (not part of FQBN matrix) + # The first one also creates directory: /home/runner/Arduino/libraries + arduino-cli lib install "ArduinoJson" # Example dependency + arduino-cli lib install "WiFiNINA" # ARDUINO_SAMD_NANO_33_IOT + arduino-cli lib install "Ethernet" # Install Ethernet library + arduino-cli lib install "Bridge" # Pseudo-network for things like arduino:samd:tian + + - name: Set Job Environment Variables + run: | + # Script to assign some common environment variables after everything is installed + + ICON_OK=$(printf "\xE2\x9C\x85") + ICON_FAIL=$(printf "\xE2\x9D\x8C") + + echo "GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..")" >> "$GITHUB_ENV" + echo "ARDUINO_ROOT=$(realpath "$HOME/Arduino/libraries")" >> "$GITHUB_ENV" + + # Show predefined summary: + echo "GITHUB_WORKSPACE = $GITHUB_WORKSPACE" + + # Show assigned build:env values (e.g. "wolfssl", "gojimmpi" or other owners): + echo "REPO_OWNER = $REPO_OWNER" + + echo "GITHUB_ENV=$GITHUB_ENV" + + # Show our custom values: + echo "GITHUB_WORK = $GITHUB_WORK" + echo "ARDUINO_ROOT = $ARDUINO_ROOT" + + # WOLFSSL_EXAMPLES_ROOT is the repo root, not example location + echo "WOLFSSL_EXAMPLES_ROOT = $WOLFSSL_EXAMPLES_ROOT" + + - name: Cache Arduino Packages + uses: actions/cache@v4 + with: + path: | + ~/.arduino15 + ~/.cache/arduino + ~/.arduino15/staging + + # Arduino libraries + # Specific to Arduino CI Build (2 of 4) Arduinbo Release wolfSSL for Local Examples + # Include all libraries, as the latest Arduino-wolfSSL will only change upon release. + ~/Arduino/libraries + # Ensure wolfssl is not cached, we're always using the latest. See separate cache. + !~/Arduino/libraries/wolfssl + key: arduino-${{ runner.os }}-${{ env.CORE_ID }}-${{ hashFiles('Arduino/sketches/board_list.txt') }} + + restore-keys: | + arduino-${{ runner.os }}-${{ env.CORE_ID }}- + arduino-${{ runner.os }}- + + - name: Get wolfssl-examples + run: | + # Fetch Arduino examples from the wolfssl-examples repo + echo "Start pwd:" + pwd + # we're typically in $GITHUB_WORKSPACE=/home/runner/work/wolfssl/wolfssl + # goto /home/runner/work to fetch wolfssl-examples + + echo "Current pwd for wolfssl-examples clone fetch: $(pwd)" + GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..") + echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" + + # Typically /home/runner/work + echo "GITHUB_WORK=$GITHUB_WORK" + + pushd "$GITHUB_WORK" + echo "Updated pwd for wolfssl-examples clone fetch: $(pwd)" + + git clone --depth 1 https://github.com/$REPO_OWNER/wolfssl-examples.git wolfssl-examples-publish + + cd ./wolfssl-examples-publish + echo "WOLFSSL_EXAMPLES_ROOT=$(pwd)" + + echo "Path for wolfssl-examples-publish: $(pwd)" + popd # GITHUB_WORK + + + # ** END ** Get wolfssl-examples + + - name: Install wolfSSL Arduino library + run: | + # Run the local wolfssl-arduino.sh install script to install wolfssl Arduino library. + + echo "Installing wolfSSL Arduino library (no cache hit)." + rm -rf "$ARDUINO_ROOT/wolfssl" + + # Methods of installing Arduino library: + # 1) arduino-cli lib install "wolfSSL" + # 2) manual copy of files (typical of the Arduino-wolfssl repo) + # 3) run ./wolfssl-arduino.sh INSTALL (typical of the wolfssl repo) + + echo "Current pwd for wolfssl-examples clone fetch: $(pwd)" + GITHUB_WORK=$(realpath "$GITHUB_WORKSPACE/../..") + echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" + + # Typically /home/runner/work + echo "GITHUB_WORK=$GITHUB_WORK" + pwd + pushd ./IDE/ARDUINO + + # Set default ARDUINO_ROOT to Arduino library. + export ARDUINO_ROOT="$HOME/Arduino/libraries" + export WOLFSSL_EXAMPLES_ROOT="$GITHUB_WORK/wolfssl-examples-publish" + + echo "ARDUINO_ROOT: $WOLFSSL_EXAMPLES_ROOT" + echo "WOLFSSL_EXAMPLES_ROOT: $WOLFSSL_EXAMPLES_ROOT" + + bash ./wolfssl-arduino.sh INSTALL # Install wolfSSL library + popd + + # ** END ** Install wolfSSL Arduino library + + - name: List installed Arduino libraries + run: arduino-cli lib list + + - name: Get compile-all-examples.sh + run: | + # Fetch compile script FROM THE CURRENT OWNER. + # This repo is Arduino-wolfssl; we'll fetch the script from the wolfssl-examples for the same repository owner. + echo "Repository owner: $REPO_OWNER" + echo "Current directory: $PWD" + echo "Current pwd for wolfssl-examples clone fetch: $PWD" + WOLFSSL_EXAMPLES_DIRECTORY="$ARDUINO_ROOT/wolfssl/examples" + THIS_BOARD_LIST="board_list.txt" + echo "WOLFSSL_EXAMPLES_DIRECTORY=$WOLFSSL_EXAMPLES_DIRECTORY" + + # Fetch script and board list into WOLFSSL_EXAMPLES_DIRECTORY + echo "Fetching board_list.txt from REPO_OWNER=$REPO_OWNER" + curl -L "https://raw.githubusercontent.com/$REPO_OWNER/wolfssl-examples/master/Arduino/sketches/board_list.txt" \ + -o "$WOLFSSL_EXAMPLES_DIRECTORY/$THIS_BOARD_LIST" + + # Check if the first line is "404: Not Found" - which would indicate the curl path above is bad. + FILE="$WOLFSSL_EXAMPLES_DIRECTORY/board_list.txt" + + # Ensure the file exists + if [[ ! -f "$FILE" ]]; then + echo "File not found: $FILE" + exit 1 + fi + + # Check if the first line is "404: Not Found" + if [[ $(head -n 1 "$FILE") == "404: Not Found" ]]; then + echo "The first line is '404: Not Found'" + exit 1 + fi + + # Fetch the compile script from repo: https://github.com/[$USER]/wolfssl-examples/ + echo "Fetching compile-all-examples.sh from REPO_OWNER=$REPO_OWNER" + curl -L "https://raw.githubusercontent.com/$REPO_OWNER/wolfssl-examples/master/Arduino/sketches/compile-all-examples.sh" \ + -o "$WOLFSSL_EXAMPLES_DIRECTORY/compile-all-examples.sh" + + # Check if the first line is "404: Not Found" - which would indicate the curl path above is bad. + FILE="$WOLFSSL_EXAMPLES_DIRECTORY/compile-all-examples.sh" + + # Ensure the file exists + if [[ ! -f "$FILE" ]]; then + echo "File not found: $FILE" + exit 1 + fi + + # Check if the first line is "404: Not Found" + if [[ $(head -n 1 "$FILE") == "404: Not Found" ]]; then + echo "The first line is '404: Not Found'" + exit 1 + fi + + pushd "$WOLFSSL_EXAMPLES_DIRECTORY" + echo "Current directory: $PWD" + + echo "Current directory $PWD" + echo "Contents:" + ls -al + find ./ -type f | sort + + # ensure we can execute the script here (permissions lost during curl fetch) + chmod +x ./compile-all-examples.sh + echo "Found compile script: $(ls -al ./compile-all-examples.sh ./$THIS_BOARD_LIST)" + popd + + # ** END ** Get compile-all-examples.sh + + # This will fail with Arduino published wolfSSL v5.7.6 and older + # as the examples moved. See https://github.com/wolfSSL/wolfssl/pull/8514 + # + - name: Compile Arduino Sketches for Various Boards + run: | + # Call the compile-all-examples.sh script to compile all the examples for each of the fqbn names in the local copy of board_list.txt + + echo "Current directory: $PWD" + echo "ARDUINO_ROOT: $ARDUINO_ROOT" + WOLFSSL_EXAMPLES_DIRECTORY="$ARDUINO_ROOT/wolfssl/examples" + echo "WOLFSSL_EXAMPLES_DIRECTORY: $WOLFSSL_EXAMPLES_DIRECTORY" + + echo "Change directory to Arduino examples..." + pushd "$WOLFSSL_EXAMPLES_DIRECTORY" + chmod +x ./compile-all-examples.sh + + # The script expects all the examples to be in the current directory. + # Along with ./board_list.txt from examples repo + echo "Current directory: $PWD" + echo "Calling ./compile-all-examples.sh" + bash ./compile-all-examples.sh ./board_list.txt "${{ matrix.fqbn }}" + popd + # End Compile Arduino Sketches for Various Boards diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/async.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/async.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/async.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/async.yml 2026-01-31 13:27:49.000000000 +0000 @@ -18,9 +18,9 @@ matrix: config: [ # Add new configs here - '--enable-asynccrypt --enable-all --enable-dtls13', - '--enable-asynccrypt-sw --enable-ocspstapling --enable-ocspstapling2', - '--enable-ocsp CFLAGS="-DTEST_NONBLOCK_CERTS"', + '--enable-asynccrypt --enable-all --enable-dtls13 CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFCRYPT_TEST_LINT"', + '--enable-asynccrypt-sw --enable-ocspstapling --enable-ocspstapling2 CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"', + '--enable-ocsp CFLAGS="-DTEST_NONBLOCK_CERTS -pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"', ] name: make check if: github.repository_owner == 'wolfssl' diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/bind.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/bind.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/bind.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/bind.yml 2026-01-31 13:27:49.000000000 +0000 @@ -44,7 +44,7 @@ fail-fast: false matrix: # List of releases to test - ref: [ 9.18.0, 9.18.28 ] + ref: [ 9.18.0, 9.18.28, 9.18.33 ] name: ${{ matrix.ref }} if: github.repository_owner == 'wolfssl' runs-on: ubuntu-22.04 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/cmake.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/cmake.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/cmake.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/cmake.yml 2026-01-31 13:27:49.000000000 +0000 @@ -8,7 +8,7 @@ jobs: build: - + if: github.repository_owner == 'wolfssl' runs-on: ubuntu-latest steps: diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/codespell.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/codespell.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/codespell.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/codespell.yml 2026-01-31 13:27:49.000000000 +0000 @@ -23,8 +23,8 @@ check_filenames: true check_hidden: true # Add comma separated list of words that occur multiple times that should be ignored (sorted alphabetically, case sensitive) - ignore_words_list: adin,aNULL,brunch,carryIn,chainG,ciph,cLen,cliKs,dout,haveA,inCreated,inOut,inout,larg,LEAPYEAR,Merget,optionA,parm,parms,repid,rIn,userA,ser,siz,te,Te + ignore_words_list: adin,aNULL,brunch,carryIn,chainG,ciph,cLen,cliKs,dout,haveA,inCreated,inOut,inout,larg,LEAPYEAR,Merget,optionA,parm,parms,repid,rIn,userA,ser,siz,te,Te, # The exclude_file contains lines of code that should be ignored. This is useful for individual lines which have non-words that can safely be ignored. exclude_file: '.codespellexcludelines' # To skip files entirely from being processed, add it to the following list: - skip: '*.cproject,*.der,*.mtpj,*.pem,*.vcxproj,.git,*.launch,*.scfg,*.revoked' + skip: '*.cproject,*.der,*.mtpj,*.pem,*.vcxproj,.git,*.launch,*.scfg,*.revoked,./examples/asn1/dumpasn1.cfg,./examples/asn1/oid_names.h' diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/curl.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/curl.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/curl.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/curl.yml 2026-01-31 13:27:49.000000000 +0000 @@ -52,7 +52,7 @@ - name: Install test dependencies run: | sudo apt-get update - sudo apt-get install nghttp2 libpsl5 libpsl-dev python3-impacket + sudo apt-get install nghttp2 libpsl5 libpsl-dev python3-impacket apache2 apache2-dev - name: Download lib uses: actions/download-artifact@v4 @@ -68,9 +68,9 @@ repository: curl/curl path: curl ref: ${{ matrix.curl_ref }} - configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir + configure: --with-wolfssl=$GITHUB_WORKSPACE/build-dir --with-test-httpd=yes check: false - name: Test curl working-directory: curl - run: make -j $(nproc) test-ci + run: make -j $(nproc) test-nonflaky diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/disable-pk-algs.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/disable-pk-algs.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/disable-pk-algs.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/disable-pk-algs.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,63 @@ +name: disable-pk-algs Tests + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + make_check: + strategy: + matrix: + config: [ + # Add new configs here + '--disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-rsa --enable-dh', + '--disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-ecc', + '--disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-rsa --enable-curve25519', + '--disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-ecc --enable-curve25519', + '--disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-rsa --enable-curve448', + '--disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-ecc --enable-curve448', + '--disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-curve25519 --enable-ed25519', + '--disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-curve448 --enable-ed448', + '-enable-cryptonly --disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-rsa', + '--enable-cryptonly --disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-dh', + '--enable-cryptonly --disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-ecc', + '--enable-cryptonly --disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-curve25519', + '--enable-cryptonly --disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-ed25519', + '--enable-cryptonly --disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-curve448', + '--enable-cryptonly --disable-rsa --disable-dh --disable-ecc --disable-curve25519 --disable-ed25519 --disable-curve448 --disable-ed448 --enable-ed448', + ] + name: make check + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-22.04 + # This should be a safe limit for the tests to run. + timeout-minutes: 6 + steps: + - uses: actions/checkout@v4 + name: Checkout wolfSSL + + - name: Test wolfSSL + run: | + ./autogen.sh + ./configure ${{ matrix.config }} + make -j 4 + make check + + - name: Print errors + if: ${{ failure() }} + run: | + for file in scripts/*.log + do + if [ -f "$file" ]; then + echo "${file}:" + cat "$file" + echo "========================================================================" + fi + done diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/disabled/msys2.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/disabled/msys2.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/disabled/msys2.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/disabled/msys2.yml 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -name: MSYS2 Build Test - -# START OF COMMON SECTION -on: - push: - branches: [ 'master', 'main', 'release/**' ] - pull_request: - branches: [ '*' ] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true -# END OF COMMON SECTION - -jobs: - msys2: - runs-on: windows-latest - defaults: - run: - shell: msys2 {0} - strategy: - fail-fast: false - matrix: - include: - - { sys: ucrt64, compiler: mingw-w64-ucrt-x86_64-gcc } - - { sys: mingw64, compiler: mingw-w64-x86_64-gcc } - - { sys: msys, compiler: gcc } - steps: - - uses: actions/checkout@v3 - - uses: msys2/setup-msys2@v2 - with: - msystem: ${{ matrix.sys }} - update: true - install: git ${{matrix.compiler}} autotools base-devel autoconf netcat - - name: configure wolfSSL - run: ./autogen.sh && ./configure CFLAGS="-DUSE_CERT_BUFFERS_2048 -DUSE_CERT_BUFFERS_256 -DNO_WRITE_TEMP_FILES" - - name: build wolfSSL - run: make check - - name: Display log - if: always() - run: cat test-suite.log diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/docker-Espressif.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/docker-Espressif.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/docker-Espressif.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/docker-Espressif.yml 2026-01-31 13:27:49.000000000 +0000 @@ -19,7 +19,9 @@ # This should be a safe limit for the tests to run. timeout-minutes: 12 container: - image: espressif/idf:latest + # The latest stable release is v5.5 + image: espressif/idf:release-v5.5 + # image: espressif/idf:latest # The "latest" has breaking changes for ESP-IDF V6 steps: - uses: actions/checkout@v4 - name: Initialize Espressif IDE and build examples diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/fil-c.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/fil-c.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/fil-c.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/fil-c.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,47 @@ +name: Fil-C Tests + +env: + FIL_C_VERSION: v0.674 + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + run_fil_c: + strategy: + fail-fast: false + matrix: + config: [ + # Add new configs here. Don't use CPPFLAGS. + '', + '--enable-all', + ] + # This should be a safe limit for the tests to run. + timeout-minutes: 30 + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-22.04 + name: ${{ matrix.config }} + steps: + - name: Download fil-c release + run: gh release download ${{ env.FIL_C_VERSION }} --repo pizlonator/fil-c --pattern 'filc-*' + env: + GH_TOKEN: ${{ github.token }} + + - name: Extract fil-c tarball + run: mkdir -p filc && tar -xf filc-*.tar* --strip-components=1 -C filc + + - name: Build and test wolfSSL + uses: wolfSSL/actions-build-autotools-project@v1 + with: + path: wolfssl + configure: ${{ matrix.config }} CC=$GITHUB_WORKSPACE/filc/build/bin/filcc --disable-asm CPPFLAGS=-DWC_NO_CACHE_RESISTANT + check: true diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/haproxy.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/haproxy.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/haproxy.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/haproxy.yml 2026-01-31 13:27:49.000000000 +0000 @@ -47,7 +47,7 @@ strategy: fail-fast: false matrix: - haproxy_ref: [ 'v3.1.0' ] + haproxy_ref: [ 'v3.1.0', 'v3.2.0'] steps: - name: Install test dependencies run: | @@ -82,6 +82,13 @@ working-directory: build-dir/haproxy-${{matrix.haproxy_ref}} run: make clean && make TARGET=linux-glibc USE_OPENSSL_WOLFSSL=1 SSL_LIB=$GITHUB_WORKSPACE/build-dir/lib SSL_INC=$GITHUB_WORKSPACE/build-dir/include ADDLIB=-Wl,-rpath,$GITHUB_WORKSPACE/build-dir/lib CFLAGS="-fsanitize=address" LDFLAGS="-fsanitize=address" + # wlallemand/VTest used in v3.1.0 is no longer available + - name: Patch build-vtest.sh for v3.1.0 + if: matrix.haproxy_ref == 'v3.1.0' + working-directory: build-dir/haproxy-${{ matrix.haproxy_ref }}/scripts + run: | + sed -i 's|https://github.com/wlallemand/VTest/archive/refs/heads/haproxy-sd_notify.tar.gz|https://github.com/vtest/VTest2/archive/main.tar.gz|' build-vtest.sh + - name: Build haproxy vtest working-directory: build-dir/haproxy-${{matrix.haproxy_ref}} run: ./scripts/build-vtest.sh diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/hostap-vm.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/hostap-vm.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/hostap-vm.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/hostap-vm.yml 2026-01-31 13:27:49.000000000 +0000 @@ -79,6 +79,7 @@ lookup-only: true - name: Checkout hostap + if: steps.cache.outputs.cache-hit != 'true' run: git clone git://w1.fi/hostap.git hostap build_uml_linux: @@ -176,9 +177,6 @@ key: hostap-linux-${{ env.LINUX_REF }} fail-on-cache-miss: true - - name: show file structure - run: tree - # No way to view the full strategy in the browser (really weird) - name: Print strategy run: | @@ -232,7 +230,12 @@ - name: Update certs working-directory: hostap/tests/hwsim/auth_serv - run: ./update.sh + run: | + ./update.sh + # Force regeneration of rsa3072-ca.key to get rsa3072-generate.sh to + # correctly update all the certs + rm rsa3072-ca.key + ./rsa3072-generate.sh - if: ${{ matrix.config.osp_ref }} name: Checkout OSP diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/ipmitool.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/ipmitool.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/ipmitool.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/ipmitool.yml 2026-01-31 13:27:49.000000000 +0000 @@ -16,9 +16,9 @@ jobs: build_wolfssl: name: Build wolfSSL + if: github.repository_owner == 'wolfssl' # Just to keep it the same as the testing target runs-on: ubuntu-22.04 - if: github.repository_owner == 'wolfssl' # This should be a safe limit for the tests to run. timeout-minutes: 4 steps: diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/libspdm.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/libspdm.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/libspdm.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/libspdm.yml 2026-01-31 13:27:49.000000000 +0000 @@ -43,7 +43,7 @@ fail-fast: false matrix: # List of releases to test - ref: [ 3.3.0 ] + ref: [ 3.7.0 ] name: ${{ matrix.ref }} if: github.repository_owner == 'wolfssl' runs-on: ubuntu-22.04 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/libssh2.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/libssh2.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/libssh2.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/libssh2.yml 2026-01-31 13:27:49.000000000 +0000 @@ -60,14 +60,27 @@ - name: untar build-dir run: tar -xf build-dir.tgz - - name: Build and test libssh2 - uses: wolfSSL/actions-build-autotools-project@v1 + - name: Clone libssh2 + uses: actions/checkout@v4 with: repository: libssh2/libssh2 ref: libssh2-${{ matrix.ref }} path: libssh2 - configure: --with-crypto=wolfssl --with-libwolfssl-prefix=$GITHUB_WORKSPACE/build-dir - check: true + + - name: Build libssh2 + working-directory: libssh2 + run: | + autoreconf -fi + ./configure --with-crypto=wolfssl --with-libwolfssl-prefix=$GITHUB_WORKSPACE/build-dir + + - name: Update libssh2 test to use a stable version of debian + working-directory: libssh2 + run: | + sed -i 's/testing-slim/oldstable-slim/' tests/openssh_server/Dockerfile + + - name: Run libssh2 tests + working-directory: libssh2 + run: make -j check - name: Confirm libssh2 built with wolfSSL run: ldd libssh2/src/.libs/libssh2.so | grep wolfssl diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/linuxkm.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/linuxkm.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/linuxkm.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/linuxkm.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,54 @@ +name: Kernel Module Build + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + build_library: + strategy: + matrix: + config: [ + 'EXTRA_CPPFLAGS=-Werror --enable-option-checking=fatal --enable-linuxkm --enable-linuxkm-lkcapi-register=all --enable-all --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-experimental --enable-dual-alg-certs --disable-qt --disable-quic --with-sys-crypto-policy=no --disable-opensslextra --disable-testcert --enable-intelasm --disable-sp-asm --enable-crypttests --enable-linuxkm-benchmarks CFLAGS="-DWOLFSSL_LINUXKM_VERBOSE_DEBUG -Wframe-larger-than=2048 -Wstack-usage=4096 -DBENCH_EMBEDDED -DBENCH_MIN_RUNTIME_SEC=0.01 -DBENCH_NTIMES=1 -DBENCH_AGREETIMES=1" --with-max-rsa-bits=16384', + 'EXTRA_CPPFLAGS=-Werror --enable-option-checking=fatal --enable-linuxkm --enable-linuxkm-pie --enable-reproducible-build --enable-linuxkm-lkcapi-register=all --enable-all-crypto --enable-cryptonly --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-experimental --disable-qt --disable-quic --with-sys-crypto-policy=no --disable-opensslextra --disable-testcert --enable-intelasm --disable-sp-asm --enable-crypttests --enable-linuxkm-benchmarks CFLAGS="-DWOLFSSL_LINUXKM_VERBOSE_DEBUG -Wframe-larger-than=2048 -Wstack-usage=4096 -DBENCH_EMBEDDED -DBENCH_MIN_RUNTIME_SEC=0.01 -DBENCH_NTIMES=1 -DBENCH_AGREETIMES=1" --with-max-rsa-bits=16384' + ] + name: build module + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + name: Checkout wolfSSL + + - name: Prepare target kernel for module builds + run: | + echo "updating linux-headers" + sudo apt-get update || $(exit 2) + sudo apt-get install linux-headers-$(uname -r) -y || $(exit 3) + echo "preparing target kernel $(uname -r)" + pushd "/lib/modules/$(uname -r)/build" || $(exit 4) + if [ -f /proc/config.gz ]; then gzip -dc /proc/config.gz > /tmp/.config && sudo mv /tmp/.config . || $(exit 5); elif [ -f "/boot/config-$(uname -r)" ]; then sudo cp -p "/boot/config-$(uname -r)" .config || $(exit 6); fi + sudo make -j 4 olddefconfig || $(exit 7) + sudo make M="$(pwd)" modules_prepare || $(exit 8) + popd >/dev/null + + - name: autogen.sh + run: | + ./autogen.sh || $(exit 9) + + - name: Build libwolfssl.ko, targeting GitHub ubuntu-latest, with --enable-all, PQC, and smallstack and stack depth warnings + run: | + echo "running ./configure --with-linux-source=/lib/modules/$(uname -r)/build ${{ matrix.config }}" + ./configure --with-linux-source=/lib/modules/$(uname -r)/build ${{ matrix.config }} || $(exit 10) + # try to remove profiling (-pg) because it leads to "_mcleanup: gmon.out: Permission denied" + make -j 4 KERNEL_EXTRA_CFLAGS_REMOVE=-pg FORCE_NO_MODULE_SIG=1 || $(exit 11) + ls -l linuxkm/libwolfssl.ko || $(exit 12) + echo "Successful linuxkm build." diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/macos-apple-native-cert-validation.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/macos-apple-native-cert-validation.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/macos-apple-native-cert-validation.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/macos-apple-native-cert-validation.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,26 @@ +name: MacOS apple native cert validation tests + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + make_check: + if: github.repository_owner == 'wolfssl' + runs-on: macos-latest + # This should be a safe limit for the tests to run. + timeout-minutes: 5 + steps: + - name: Build and configure wolfSSL + uses: wolfSSL/actions-build-autotools-project@v1 + with: + configure: CFLAGS='-DWOLFSSL_APPLE_NATIVE_CERT_VALIDATION -DWOLFSSL_TEST_APPLE_NATIVE_CERT_VALIDATION -DRSA_MIN_SIZE=2048 -DNO_WOLFSSL_CIPHER_SUITE_TEST' + diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/mbedtls.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/mbedtls.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/mbedtls.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/mbedtls.yml 2026-01-31 13:27:49.000000000 +0000 @@ -54,10 +54,10 @@ mbedtls_test: name: Test interop with mbedtls + if: github.repository_owner == 'wolfssl' runs-on: ubuntu-latest needs: build_mbedtls timeout-minutes: 10 - if: github.repository_owner == 'wolfssl' steps: - name: Disable IPv6 (IMPORTANT, OTHERWISE DTLS MBEDTLS CLIENT WON'T CONNECT) run: echo 1 | sudo tee /proc/sys/net/ipv6/conf/lo/disable_ipv6 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/mono.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/mono.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/mono.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/mono.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,142 @@ +name: Linux Mono C# Build Test + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + build_wolfssl: + name: Build wolfSSL C# Wrapper + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-24.04 + timeout-minutes: 10 + steps: + + # Build wolfSSL using the user_settings.h from the C# wrapper directory + - name: Build wolfSSL + uses: wolfSSL/actions-build-autotools-project@v1 + with: + path: wolfssl + configure: --enable-usersettings CPPFLAGS=-I$GITHUB_WORKSPACE/wolfssl/wrapper/CSharp + install: true + check: false + + - name: Install mono-complete + run: | + sudo apt-get update + sudo apt-get install -y mono-complete + + - name: Copy wolfSSL.dll to C# wrapper directory + run: | + echo "Copying wolfSSL.dll to C# wrapper directory. $GITHUB_WORKSPACE/build-dir/lib contains:" + ls -la $GITHUB_WORKSPACE/build-dir/lib/* + cp $GITHUB_WORKSPACE/build-dir/lib/libwolfssl.so $GITHUB_WORKSPACE/wolfssl/wrapper/CSharp/wolfssl.dll + cp $GITHUB_WORKSPACE/build-dir/lib/libwolfssl.so $GITHUB_WORKSPACE/wolfssl/wrapper/CSharp/libwolfssl.so + + - name: Build and run wolfCrypt test wrapper + working-directory: wolfssl/wrapper/CSharp + run: | + mcs wolfCrypt-Test/wolfCrypt-Test.cs wolfSSL_CSharp/wolfCrypt.cs wolfSSL_CSharp/wolfSSL.cs wolfSSL_CSharp/X509.cs -OUT:wolfcrypttest.exe + mono wolfcrypttest.exe + + - name: Build wolfSSL client/server test + working-directory: wolfssl/wrapper/CSharp + env: + LD_LIBRARY_PATH: $GITHUB_WORKSPACE/build-dir/lib + run: | + mcs wolfSSL_CSharp/wolfSSL.cs wolfSSL_CSharp/X509.cs wolfSSL-TLS-Server/wolfSSL-TLS-Server.cs -OUT:server.exe + mcs wolfSSL_CSharp/wolfCrypt.cs wolfSSL-TLS-Client/wolfSSL-TLS-Client.cs wolfSSL_CSharp/wolfSSL.cs wolfSSL_CSharp/X509.cs -OUT:client.exe + + - name: Test wolfSSL client/server communication + working-directory: wolfssl/wrapper/CSharp + env: + LD_LIBRARY_PATH: $GITHUB_WORKSPACE/build-dir/lib + run: | + # Start server in background and capture its PID + timeout 10s mono server.exe > server.log 2>&1 & + SERVER_PID=$! + + # Wait for server to start + sleep 2 + + # Run client and capture output + timeout 5s mono client.exe > client.log 2>&1 + CLIENT_EXIT_CODE=$? + + # Wait a moment for server to process + sleep 1 + + # Kill server + kill $SERVER_PID 2>/dev/null || true + + # Check if client completed successfully (exit code 0) + if [ $CLIENT_EXIT_CODE -eq 0 ]; then + echo "Client completed successfully" + else + echo "Client failed with exit code $CLIENT_EXIT_CODE" + cat client.log + exit 1 + fi + + # Check for success indicators in logs + if grep -q "SSL version is" client.log && grep -q "SSL cipher suite is" client.log; then + echo "TLS handshake successful - SSL version and cipher suite detected" + else + echo "TLS handshake failed - no SSL version/cipher detected" + echo "Client log:" + cat client.log + echo "Server log:" + cat server.log + exit 1 + fi + + - name: Test SNI functionality + working-directory: wolfssl/wrapper/CSharp + env: + LD_LIBRARY_PATH: $GITHUB_WORKSPACE/build-dir/lib + run: | + # Start server with SNI support in background + timeout 10s mono server.exe -S > server_sni.log 2>&1 & + SERVER_PID=$! + + # Wait for server to start + sleep 2 + + # Run client with SNI and capture output + timeout 5s mono client.exe -S localhost > client_sni.log 2>&1 + CLIENT_EXIT_CODE=$? + + # Wait a moment for server to process + sleep 1 + + # Kill server + kill $SERVER_PID 2>/dev/null || true + + # Check if client completed successfully + if [ $CLIENT_EXIT_CODE -eq 0 ]; then + echo "SNI client completed successfully" + else + echo "SNI client failed with exit code $CLIENT_EXIT_CODE" + cat client_sni.log + exit 1 + fi + + # Check for SNI success indicators + if grep -q "SSL version is" client_sni.log && grep -q "SSL cipher suite is" client_sni.log; then + echo "SNI TLS handshake successful" + else + echo "SNI TLS handshake failed" + echo "Client log:" + cat client_sni.log + echo "Server log:" + cat server_sni.log + exit 1 + fi diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/msys2.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/msys2.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/msys2.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/msys2.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,37 @@ +name: MSYS2 Build Test + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + msys2: + if: github.repository_owner == 'wolfssl' + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v3 + - uses: msys2/setup-msys2@v2 + with: + msystem: msys + update: true + install: git gcc autotools base-devel autoconf netcat + - name: configure wolfSSL + run: ./autogen.sh && ./configure --disable-sys-ca-certs CFLAGS="-DUSE_CERT_BUFFERS_2048 -DUSE_CERT_BUFFERS_256 -DNO_WRITE_TEMP_FILES" + - name: build wolfSSL + run: make + - name: run tests + run: make check + - name: Display log + if: always() + run: cat test-suite.log diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/multi-arch.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/multi-arch.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/multi-arch.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/multi-arch.yml 2026-01-31 13:27:49.000000000 +0000 @@ -30,12 +30,14 @@ - HOST: riscv64-linux-gnu CC: riscv64-linux-gnu-gcc ARCH: riscv64 + EXTRA_OPTS: --enable-riscv-asm # Config to ensure CPUs without Thumb instructions compiles - HOST: arm-linux-gnueabi CC: arm-linux-gnueabi-gcc CFLAGS: -marm -DWOLFSSL_SP_ARM_ARCH=6 ARCH: armel EXTRA_OPTS: --enable-sp-asm + opts: [ '-O2', '-O3', '-O1 -UFP_ECC', '-O0', '-Os', '-Ofast' ] if: github.repository_owner == 'wolfssl' runs-on: ubuntu-22.04 # This should be a safe limit for the tests to run. @@ -46,12 +48,12 @@ sudo apt update sudo apt install -y crossbuild-essential-${{ matrix.ARCH }} qemu-user - uses: actions/checkout@v4 - - name: Build + - name: Build for ${{ matrix.ARCH }} with Opt Level ${{ matrix.opts }} env: CC: ${{ matrix.CC }} - CFLAGS: ${{ matrix.CFLAGS }} + CFLAGS: ${{ matrix.CFLAGS }} ${{ matrix.opts }} QEMU_LD_PREFIX: /usr/${{ matrix.HOST }} - run: ./autogen.sh && ./configure --host=${{ matrix.HOST }} --enable-all --disable-examples ${{ matrix.EXTRA_OPTS }} && make + run: ./autogen.sh && ./configure --host=${{ matrix.HOST }} --enable-all --disable-examples CPPFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFCRYPT_TEST_LINT" ${{ matrix.EXTRA_OPTS }} && make - name: Print errors if: ${{ failure() }} run: | diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/multi-compiler.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/multi-compiler.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/multi-compiler.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/multi-compiler.yml 2026-01-31 13:27:49.000000000 +0000 @@ -55,7 +55,7 @@ env: CC: ${{ matrix.CC }} CXX: ${{ matrix.CXX }} - run: ./autogen.sh && ./configure && make && make dist + run: ./autogen.sh && ./configure CFLAGS="-pedantic -Wdeclaration-after-statement" && make && make dist - name: Show log on errors if: ${{ failure() }} run: | diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/nginx.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/nginx.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/nginx.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/nginx.yml 2026-01-31 13:27:49.000000000 +0000 @@ -122,7 +122,28 @@ - name: Install dependencies run: | - sudo cpan -iT Proc::Find Net::SSLeay IO::Socket::SSL + sudo cpan -iT Proc::Find + + # Locking in the version of SSLeay used with testing + - name: Download and install Net::SSLeay 1.94 manually + run: | + curl -LO https://www.cpan.org/modules/by-module/Net/CHRISN/Net-SSLeay-1.94.tar.gz + tar -xzf Net-SSLeay-1.94.tar.gz + cd Net-SSLeay-1.94 + perl Makefile.PL + make + sudo make install + + # SSL version 2.091 changes '' return to undef causing test case to fail. + # Locking in the test version to use as 2.090 + - name: Download and install IO::Socket::SSL 2.090 manually + run: | + curl -LO https://www.cpan.org/modules/by-module/IO/IO-Socket-SSL-2.090.tar.gz + tar -xzf IO-Socket-SSL-2.090.tar.gz + cd IO-Socket-SSL-2.090 + perl Makefile.PL + make + sudo make install - name: Checkout wolfssl-nginx uses: actions/checkout@v4 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/no-malloc.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/no-malloc.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/no-malloc.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/no-malloc.yml 2026-01-31 13:27:49.000000000 +0000 @@ -18,7 +18,7 @@ matrix: config: [ # Add new configs here - '--enable-rsa --enable-keygen --disable-dh CFLAGS="-DWOLFSSL_NO_MALLOC -DRSA_MIN_SIZE=1024"', + '--enable-rsa --enable-keygen --disable-dh CFLAGS="-DWOLFSSL_NO_MALLOC -DRSA_MIN_SIZE=1024 -pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"', ] name: make check if: github.repository_owner == 'wolfssl' diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/no-tls.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/no-tls.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/no-tls.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/no-tls.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,49 @@ +name: --disable-tls Tests + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + make_check: + strategy: + matrix: + config: [ + # Add new configs here + '--disable-tls --enable-all CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"', + ] + name: make check + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-22.04 + # This should be a safe limit for the tests to run. + timeout-minutes: 6 + steps: + - uses: actions/checkout@v4 + name: Checkout wolfSSL + + - name: Test wolfSSL + run: | + ./autogen.sh + ./configure ${{ matrix.config }} + make -j 4 + make check + + - name: Print errors + if: ${{ failure() }} + run: | + for file in scripts/*.log + do + if [ -f "$file" ]; then + echo "${file}:" + cat "$file" + echo "========================================================================" + fi + done diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/nss.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/nss.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/nss.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/nss.yml 2026-01-31 13:27:49.000000000 +0000 @@ -59,10 +59,10 @@ nss_test: name: Test interop with nss + if: github.repository_owner == 'wolfssl' runs-on: ubuntu-22.04 needs: build_nss timeout-minutes: 10 - if: github.repository_owner == 'wolfssl' steps: - name: Checking if we have nss in cache uses: actions/cache/restore@v4 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/openldap.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/openldap.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/openldap.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/openldap.yml 2026-01-31 13:27:49.000000000 +0000 @@ -15,6 +15,7 @@ jobs: build_wolfssl: name: Build wolfSSL + if: github.repository_owner == 'wolfssl' # Just to keep it the same as the testing target runs-on: ubuntu-22.04 # This should be a safe limit for the tests to run. @@ -49,6 +50,7 @@ - osp_ref: 2.6.7 git_ref: OPENLDAP_REL_ENG_2_6_7 name: ${{ matrix.osp_ref }} + if: github.repository_owner == 'wolfssl' runs-on: ubuntu-22.04 # This should be a safe limit for the tests to run. timeout-minutes: 20 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/openssh.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/openssh.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/openssh.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/openssh.yml 2026-01-31 13:27:49.000000000 +0000 @@ -45,9 +45,31 @@ fail-fast: false matrix: include: + # A good way to measure how much each test takes is to create a bash script + # in the openssh root like this (make it executable): + # time-measure.sh + # #!/bin/bash + # /usr/bin/time -a -o /tmp/LTESTS-times.txt -f '%e %C' /usr/bin/bash "$@" + # And invoke the openssh tests like this: + # rm -f /tmp/LTESTS-times.txt && \ + # make tests TEST_SHELL=$(pwd)/time-measure.sh SKIP_UNIT=yes && \ + # grep test-exec.sh /tmp/LTESTS-times.txt - git_ref: 'V_9_6_P1' osp_ver: '9.6' - name: ${{ matrix.ref }} + SKIP_LTESTS: >- + exit-status rekey multiplex cert-userkey forward-control integrity + channel-timeout connection-timeout + - git_ref: 'V_9_9_P2' + osp_ver: '9.9p2' + SKIP_LTESTS: >- + exit-status rekey multiplex cert-userkey forward-control integrity + channel-timeout connection-timeout + - git_ref: 'V_10_0_P2' + osp_ver: '10.0p2' + SKIP_LTESTS: >- + exit-status rekey multiplex forward-control channel-timeout + connection-timeout + name: ${{ matrix.osp_ver }} if: github.repository_owner == 'wolfssl' runs-on: ubuntu-22.04 needs: build_wolfssl @@ -80,5 +102,4 @@ - name: Run tests working-directory: ./openssh run: | - # Run all the tests except (t-exec) as it takes too long - make file-tests interop-tests extra-tests unit + make tests SKIP_LTESTS='${{ matrix.SKIP_LTESTS }}' diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/opensslcoexist.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/opensslcoexist.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/opensslcoexist.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/opensslcoexist.yml 2026-01-31 13:27:49.000000000 +0000 @@ -18,8 +18,8 @@ matrix: config: [ # Add new configs here - '--verbose --enable-all --disable-all-osp --disable-opensslall --enable-opensslcoexist CPPFLAGS="-DNO_WOLFSSL_CIPHER_SUITE_TEST -pedantic"', - '--verbose --enable-all --disable-all-osp --disable-opensslall --enable-opensslcoexist CPPFLAGS="-DNO_WOLFSSL_CIPHER_SUITE_TEST -pedantic -DTEST_OPENSSL_COEXIST"' + '--verbose --enable-all --disable-all-osp --disable-opensslall --enable-opensslcoexist CPPFLAGS="-DNO_WOLFSSL_CIPHER_SUITE_TEST -pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"', + '--verbose --enable-all --disable-all-osp --disable-opensslall --enable-opensslcoexist CPPFLAGS="-DNO_WOLFSSL_CIPHER_SUITE_TEST -pedantic -DTEST_OPENSSL_COEXIST -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"' ] name: make check if: github.repository_owner == 'wolfssl' diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/os-check.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/os-check.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/os-check.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/os-check.yml 2026-01-31 13:27:49.000000000 +0000 @@ -23,6 +23,8 @@ '', '--enable-all --enable-asn=template', '--enable-all --enable-asn=original', + '--enable-all --enable-asn=template CPPFLAGS=-DWOLFSSL_OLD_OID_SUM', + '--enable-all --enable-asn=original CPPFLAGS=-DWOLFSSL_OLD_OID_SUM', '--enable-harden-tls', '--enable-tls13 --enable-session-ticket --enable-dtls --enable-dtls13 --enable-opensslextra --enable-sessioncerts @@ -39,9 +41,30 @@ '--enable-dtls --enable-dtls13 --enable-dtls-frag-ch --enable-dtls-mtu', '--enable-dtls --enable-dtlscid --enable-dtls13 --enable-secure-renegotiation - --enable-psk --enable-aesccm --enable-nullcipher CPPFLAGS=-DWOLFSSL_STATIC_RSA', + --enable-psk --enable-aesccm --enable-nullcipher + CPPFLAGS=-DWOLFSSL_STATIC_RSA', '--enable-ascon --enable-experimental', '--enable-ascon CPPFLAGS=-DWOLFSSL_ASCON_UNROLL --enable-experimental', + '--enable-all CPPFLAGS=''-DNO_AES_192 -DNO_AES_256'' ', + '--enable-sniffer --enable-curve25519 --enable-curve448 --enable-enckeys + CPPFLAGS=-DWOLFSSL_DH_EXTRA', + '--enable-dtls --enable-dtls13 --enable-dtls-frag-ch + --enable-dtls-mtu CPPFLAGS=-DWOLFSSL_DTLS_RECORDS_CAN_SPAN_DATAGRAMS', + '--enable-opensslall --enable-opensslextra CPPFLAGS=-DWC_RNG_SEED_CB', + '--enable-opensslall --enable-opensslextra + CPPFLAGS=''-DWC_RNG_SEED_CB -DWOLFSSL_NO_GETPID'' ', + '--enable-opensslextra CPPFLAGS=''-DWOLFSSL_NO_CA_NAMES'' ', + '--enable-opensslextra=x509small', + 'CPPFLAGS=''-DWOLFSSL_EXTRA'' ', + '--enable-lms=small,verify-only --enable-xmss=small,verify-only', + '--disable-sys-ca-certs', + '--enable-all CPPFLAGS=-DWOLFSSL_DEBUG_CERTS ', + '--enable-all CFLAGS="-DWOLFSSL_CHECK_MEM_ZERO"', + '--enable-coding=no', + '--enable-dtls --enable-dtls13 --enable-ocspstapling --enable-ocspstapling2 + --enable-cert-setup-cb --enable-sessioncerts', + '--disable-sni --disable-ecc --disable-tls13 --disable-secure-renegotiation-info', + 'CPPFLAGS=-DWOLFSSL_BLIND_PRIVATE_KEY', ] name: make check if: github.repository_owner == 'wolfssl' @@ -52,7 +75,7 @@ - name: Build and test wolfSSL uses: wolfSSL/actions-build-autotools-project@v1 with: - configure: ${{ matrix.config }} + configure: CFLAGS="-pedantic -Wno-overlength-strings -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE" ${{ matrix.config }} check: true make_user_settings: diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/packaging.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/packaging.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/packaging.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/packaging.yml 2026-01-31 13:27:49.000000000 +0000 @@ -45,8 +45,8 @@ - name: Confirm packages built run: | DEB_COUNT=$(find -name 'libwolfssl*.deb' | wc -l) - if [ "$DEB_COUNT" != "2" ]; then - echo Did not find exactly two deb packages!!! + if [ "$DEB_COUNT" != "3" ]; then + echo Did not find exactly three deb packages!!! exit 1 fi # disabled 20240919 -- broken target. diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/pq-all.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/pq-all.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/pq-all.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/pq-all.yml 2026-01-31 13:27:49.000000000 +0000 @@ -18,8 +18,10 @@ matrix: config: [ # Add new configs here + '--enable-intelasm --enable-sp-asm --enable-mlkem=yes,kyber,ml-kem CPPFLAGS="-DWOLFSSL_ML_KEM_USE_OLD_IDS"', '--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"', - '--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE" CC=c++' + '--enable-smallstack --enable-smallstackcache --enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"', + '--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE" CC=c++' ] name: make check if: github.repository_owner == 'wolfssl' diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/psk.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/psk.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/psk.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/psk.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,51 @@ +name: PSK Tests + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + make_check: + strategy: + matrix: + config: [ + # Add new configs here + '--enable-psk C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --disable-rsa --disable-ecc --disable-dh', + '--disable-oldtls --disable-tls13 --enable-psk -disable-rsa --disable-dh -disable-ecc --disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --enable-lowresource --enable-singlethreaded --disable-asm --disable-errorstrings --disable-pkcs12 --disable-sha3 --disable-sha224 --disable-sha384 --disable-sha512 --disable-sha --disable-md5 -disable-aescbc --disable-chacha --disable-poly1305 --disable-coding --disable-sp-math-all', + '--disable-oldtls --disable-tlsv12 --enable-tls13 --enable-psk -disable-rsa --disable-dh -disable-ecc --disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --enable-lowresource --enable-singlethreaded --disable-asm --disable-errorstrings --disable-pkcs12 --disable-sha3 --disable-sha224 --disable-sha384 --disable-sha512 --disable-sha --disable-md5 -disable-aescbc --disable-chacha --disable-poly1305 --disable-coding --disable-sp-math-all' + ] + name: make check + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-22.04 + # This should be a safe limit for the tests to run. + timeout-minutes: 6 + steps: + - uses: actions/checkout@v4 + name: Checkout wolfSSL + + - name: Test wolfSSL + run: | + ./autogen.sh + ./configure ${{ matrix.config }} + make -j 4 + make check + + - name: Print errors + if: ${{ failure() }} + run: | + for file in scripts/*.log + do + if [ -f "$file" ]; then + echo "${file}:" + cat "$file" + echo "========================================================================" + fi + done diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/rust-wrapper.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/rust-wrapper.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/rust-wrapper.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/rust-wrapper.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,33 @@ +name: Build Rust Wrapper + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + build_wolfssl: + name: Build wolfSSL Rust Wrapper + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-24.04 + # This should be a safe limit for the tests to run. + timeout-minutes: 10 + steps: + - name: Build wolfSSL + uses: wolfSSL/actions-build-autotools-project@v1 + with: + path: wolfssl + configure: --enable-all + - name: Build Rust Wrapper + working-directory: wolfssl + run: make -C wrapper/rust + - name: Run Rust Wrapper Tests + working-directory: wolfssl + run: make -C wrapper/rust test diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/smallStackSize.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/smallStackSize.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/smallStackSize.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/smallStackSize.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,53 @@ +name: Stack Size warnings + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + build_library: + strategy: + matrix: + config: [ + # defaults, noasm + '--disable-asm', + + # defaults + native PQ, no asm + '--disable-asm --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium', + + # all-crypto + native PQ, no asm + '--disable-asm --enable-all-crypto --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium', + + # defaults, intelasm + sp-asm + '--enable-intelasm --enable-sp-asm', + + # defaults + native PQ, intelasm + sp-asm + '--enable-intelasm --enable-sp-asm --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium', + + # all-crypto + native PQ, intelasm + sp-asm + '--enable-intelasm --enable-sp-asm --enable-all-crypto --enable-experimental --enable-kyber=yes,original --enable-lms --enable-xmss --enable-dilithium' + ] + name: build library + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-22.04 + # This should be a safe limit for the tests to run. + timeout-minutes: 6 + steps: + - uses: actions/checkout@v4 + name: Checkout wolfSSL + + - name: Build wolfCrypt with smallstack and stack depth warnings, and run testwolfcrypt + run: | + ./autogen.sh || $(exit 2) + echo "running ./configure ... ${{ matrix.config }}" + ./configure --enable-cryptonly --disable-cryptocb --disable-testcert --enable-smallstack --enable-smallstackcache --enable-crypttests --disable-benchmark --disable-examples --with-max-rsa-bits=16384 --enable-stacksize=verbose CFLAGS="-Wframe-larger-than=2048 -Wstack-usage=4096 -DWOLFSSL_TEST_MAX_RELATIVE_STACK_BYTES=8192 -DTEST_ALWAYS_RUN_TO_END" ${{ matrix.config }} || $(exit 3) + make -j 4 || $(exit 4) + ./wolfcrypt/test/testwolfcrypt diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/sssd.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/sssd.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/sssd.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/sssd.yml 2026-01-31 13:27:49.000000000 +0000 @@ -40,13 +40,13 @@ retention-days: 5 sssd_check: - if: github.repository_owner == 'wolfssl' strategy: fail-fast: false matrix: # List of releases to test ref: [ 2.9.1 ] name: ${{ matrix.ref }} + if: github.repository_owner == 'wolfssl' runs-on: ubuntu-22.04 container: image: quay.io/sssd/ci-client-devel:ubuntu-latest diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/symbol-prefixes.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/symbol-prefixes.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/symbol-prefixes.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/symbol-prefixes.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,70 @@ +name: WOLFSSL_API_PREFIX_MAP + +# START OF COMMON SECTION +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +# END OF COMMON SECTION + +jobs: + make_and_analyze: + strategy: + matrix: + config: [ + '--enable-all --enable-mlkem --enable-mldsa --enable-xmss --enable-lms --enable-acert --with-sys-crypto-policy CFLAGS=-DWOLFSSL_API_PREFIX_MAP' + ] + name: make and analyze + if: github.repository_owner == 'wolfssl' + runs-on: ubuntu-22.04 + # This should be a safe limit for the tests to run. + timeout-minutes: 6 + steps: + - uses: actions/checkout@v4 + name: Checkout wolfSSL + + - name: Test --enable-opensslcoexist and TEST_OPENSSL_COEXIST + run: | + ./autogen.sh || $(exit 2) + ./configure ${{ matrix.config }} || $(exit 3) + make -j 4 || $(exit 4) + # ignore properly prefixed symbols, and symbols associated with asm implementations (all internal) regardless of prefix: + readelf --symbols --wide src/.libs/libwolfssl.so | \ + awk ' + BEGIN { + total_public_symbols = 0; + unprefixed_public_symbols = 0; + } + { + if (($5 == "GLOBAL") && ($6 != "HIDDEN") && ($7 ~ /^[0-9]+$/)) { + ++total_public_symbols; + } + } + { + if (($7 !~ /^[0-9]+$/) || + ($8 ~ /^(wc_|wolf|WOLF|__pfx|fe_|sp_[a-zA-Z090-0_]*[0-9])/) || + ($8 ~ /(_avx[12]|_AVX[12]|_sse[12]|_SSE[12]|_aesni|_AESNI|_bmi2|_x64$)/)) + { + next; + } + } + { + if (($4 == "FUNC") && ($5 == "GLOBAL") && ($6 == "DEFAULT")) { + ++unprefixed_public_symbols; + print; + } + } + END { + if (unprefixed_public_symbols) { + print unprefixed_public_symbols " unprefixed public symbols found, of " total_public_symbols " total." >"/dev/stderr"; + exit(1); + } else { + print total_public_symbols " public symbols found in libwolfssl, all OK."; + exit(0); + } + }' || $(exit 5) diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/threadx.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/threadx.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/threadx.yml 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/threadx.yml 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,57 @@ +name: ThreadXBuild Test + +on: + push: + branches: [ 'master', 'main', 'release/**' ] + pull_request: + branches: [ '*' ] + +jobs: + build: + + runs-on: ubuntu-22.04 + timeout-minutes: 10 + + steps: + - name: Cache NetXDuo bundle + id: cache-netxduo + uses: actions/cache@v3 + with: + path: ./v6.4.3_rel.tar.gz + key: netxduo-bundle-v6.4.3_rel + + - name: Download NetXDuo bundle if not cached + if: steps.cache-netxduo.outputs.cache-hit != 'true' + run: | + wget https://github.com/eclipse-threadx/netxduo/archive/refs/tags/v6.4.3_rel.tar.gz + + - name: Extract NetXDuo bundle + run: | + mkdir -p netxduo_src + tar -xzf v6.4.3_rel.tar.gz -C netxduo_src --strip-components=1 + + - name: Install NetXDuo Dependencies + working-directory: ./netxduo_src + run: | + ./scripts/install.sh + + - name: Configure NetX with DNS Client Support + working-directory: ./netxduo_src + run: | + cp addons/dns/nxd_dns.h ./common/inc/ + cp addons/dns/nxd_dns.c ./common/src/ + + - name: Build NetXDuo with DNS Support + working-directory: ./netxduo_src + run: | + rm -rf test/cmake/threadx + rm -rf test/cmake/filex + ./scripts/build_nxd64.sh + + - name: Build wolfSSL + uses: wolfSSL/actions-build-autotools-project@v1 + with: + path: wolfssl + configure: --enable-enckeys --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-DTHREADX -DHAVE_NETX -DWOLFSSL_USER_IO -I${{ github.workspace }}/netxduo_src/common/inc -I${{ github.workspace }}/netxduo_src/ports/linux/gnu/inc -I${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/libs/inc" LDFLAGS="-L${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/default_build_coverage/netxduo -L${{ github.workspace }}/netxduo_src/test/cmake/netxduo64/build/libs/threadx" LIBS="-lnetxduo -lthreadx" + install: false + diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/watcomc.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/watcomc.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/watcomc.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/watcomc.yml 2026-01-31 13:27:49.000000000 +0000 @@ -62,6 +62,10 @@ uses: open-watcom/setup-watcom@v0 with: version: ${{ matrix.platform.owimage }} + # Currently fixed to a monthly build because of historical instability with daily releases. + # See https://github.com/wolfSSL/wolfssl/pull/9167 + # Pin to monthly release as needed: + tag: 2025-11-03-Build - name: Checkout wolfSSL uses: actions/checkout@v4 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/wolfCrypt-Wconversion.yml mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/wolfCrypt-Wconversion.yml --- mariadb-11.8.3/extra/wolfssl/wolfssl/.github/workflows/wolfCrypt-Wconversion.yml 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.github/workflows/wolfCrypt-Wconversion.yml 2026-01-31 13:27:49.000000000 +0000 @@ -22,7 +22,8 @@ '--enable-intelasm --enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion"', '--enable-smallstack --disable-asm --enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion"', '--enable-smallstack --enable-intelasm --enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion"', - '--enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion -DNO_INT128"' + '--enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion -DNO_INT128"', + '--enable-cryptonly --enable-all-crypto --disable-examples --disable-benchmark --disable-crypttests CPPFLAGS="-Wdeclaration-after-statement -Wconversion -Warith-conversion -Wenum-conversion -Wfloat-conversion -Wsign-conversion" --enable-32bit CFLAGS=-m32' ] name: build library if: github.repository_owner == 'wolfssl' @@ -33,6 +34,12 @@ - uses: actions/checkout@v4 name: Checkout wolfSSL + - name: install_multilib + run: | + export DEBIAN_FRONTEND=noninteractive + sudo apt-get update + sudo apt-get install -y gcc-multilib + - name: Build wolfCrypt with extra type conversion warnings run: | ./autogen.sh || $(exit 2) diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.gitignore mariadb-11.8.6/extra/wolfssl/wolfssl/.gitignore --- mariadb-11.8.3/extra/wolfssl/wolfssl/.gitignore 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.gitignore 2026-01-31 13:27:49.000000000 +0000 @@ -3,7 +3,6 @@ *.lo *.la *.o -*.patch *.deps *.d *.libs @@ -34,7 +33,7 @@ aminclude.am lt*.m4 Makefile.in -Makefile +/Makefile depcomp missing libtool @@ -246,7 +245,16 @@ linuxkm/libwolfssl.lds linuxkm/module_exports.c linuxkm/linuxkm/get_thread_size +linuxkm/linuxkm +linuxkm/src +linuxkm/patches/src *.nds +bsdkm/export_syms +bsdkm/i386 +bsdkm/libwolfssl.ko +bsdkm/machine +bsdkm/opt_global.h +bsdkm/x86 # autotools generated scripts/unit.test @@ -447,6 +455,7 @@ # debian packaging debian/changelog debian/control +debian/rules *.deb # Ada/Alire files @@ -455,6 +464,9 @@ wrapper/Ada/lib/ wrapper/Ada/obj/ +# Rust wrapper files +/wrapper/rust/*/target/ + # PlatformIO /**/.pio /**/.vscode/.browse.c_cpp.db* diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/.wolfssl_known_macro_extras mariadb-11.8.6/extra/wolfssl/wolfssl/.wolfssl_known_macro_extras --- mariadb-11.8.3/extra/wolfssl/wolfssl/.wolfssl_known_macro_extras 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/.wolfssl_known_macro_extras 2026-01-31 13:27:49.000000000 +0000 @@ -2,6 +2,7 @@ AFX_RESOURCE_DLL AFX_TARG_ENU ALLOW_BINARY_MISMATCH_INTROSPECTION +ALLOW_SELFSIGNED_INVALID_CERTSIGN ALLOW_V1_EXTENSIONS ANDROID APP_ESP_HTTP_CLIENT @@ -16,9 +17,14 @@ ARDUINO_ARCH_RP2040 ARDUINO_ARCH_SAMD ARDUINO_ARCH_STM32 +ARDUINO_AVR_ETHERNET +ARDUINO_AVR_LEONARDO_ETH +ARDUINO_SAMD_MKR1000 ARDUINO_SAMD_NANO_33_IOT +ARDUINO_SAMD_ZERO ARDUINO_SAM_DUE ARDUINO_SEEED_XIAO +ARDUINO_TEENSY40 ARDUINO_TEENSY41 ASN_DUMP_OID ASN_TEMPLATE_SKIP_ISCA_CHECK @@ -29,6 +35,7 @@ BLAKE2B_SELFTEST BLAKE2S_SELFTEST BLOCKING +BSDKM_EXPORT_SYMS BSP_DEFAULT_IO_CHANNEL_DEFINED BSP_LED_0 BSP_LED_1 @@ -52,8 +59,25 @@ CONFIG_COMPILER_OPTIMIZATION_NONE CONFIG_COMPILER_OPTIMIZATION_PERF CONFIG_COMPILER_OPTIMIZATION_SIZE +CONFIG_CRYPTO_AES +CONFIG_CRYPTO_CBC +CONFIG_CRYPTO_CTR +CONFIG_CRYPTO_DH +CONFIG_CRYPTO_DH_RFC7919_GROUPS +CONFIG_CRYPTO_ECB +CONFIG_CRYPTO_ECDH +CONFIG_CRYPTO_ECDSA CONFIG_CRYPTO_FIPS +CONFIG_CRYPTO_GCM +CONFIG_CRYPTO_HMAC CONFIG_CRYPTO_MANAGER +CONFIG_CRYPTO_RSA +CONFIG_CRYPTO_SELFTESTS_FULL +CONFIG_CRYPTO_SHA1 +CONFIG_CRYPTO_SHA256 +CONFIG_CRYPTO_SHA3 +CONFIG_CRYPTO_SHA512 +CONFIG_CRYPTO_XTS CONFIG_CSPRNG_ENABLED CONFIG_ESP32C2_DEFAULT_CPU_FREQ_MHZ CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ @@ -79,8 +103,10 @@ CONFIG_ESP_WOLFSSL_NO_HW_RSA_PRI_EXPTMOD CONFIG_ESP_WOLFSSL_NO_HW_RSA_PRI_MP_MUL CONFIG_ESP_WOLFSSL_NO_HW_RSA_PRI_MULMOD +CONFIG_ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING CONFIG_FREERTOS_HZ CONFIG_FREERTOS_UNICORE +CONFIG_HAVE_KPROBES CONFIG_IDF_TARGET CONFIG_IDF_TARGET_ARCH_RISCV CONFIG_IDF_TARGET_ARCH_XTENSA @@ -95,6 +121,7 @@ CONFIG_IDF_TARGET_ESP8266 CONFIG_IDF_TARGET_ESP8684 CONFIG_KASAN +CONFIG_KPROBES CONFIG_MAIN_TASK_STACK_SIZE CONFIG_MBEDTLS_CERTIFICATE_BUNDLE CONFIG_MBEDTLS_PSA_CRYPTO_C @@ -108,6 +135,7 @@ CONFIG_POSIX_THREADS CONFIG_PREEMPT_COUNT CONFIG_PTHREAD_IPC +CONFIG_SCHED_INFO CONFIG_SMP CONFIG_SNTP_TIME_SYNC_METHOD_SMOOTH CONFIG_TIMER_TASK_STACK_DEPTH @@ -174,6 +202,10 @@ DILITHIUM_MUL_Q_SLOW DILITHIUM_MUL_SLOW DILITHIUM_USE_HINT_CT +DONT_HAVE_KVMALLOC +DONT_HAVE_KVREALLOC +DONT_USE_KVMALLOC +DONT_USE_KVREALLOC DTLS_RECEIVEFROM_NO_TIMEOUT_ON_INVALID_PEER ECCSI_ORDER_MORE_BITS_THAN_PRIME ECC_DUMP_OID @@ -182,15 +214,21 @@ ESP32 ESP8266 ESP_ENABLE_WOLFSSH +ESP_IDF_VERSION ESP_IDF_VERSION_MAJOR ESP_IDF_VERSION_MINOR ESP_PLATFORM ESP_TASK_MAIN_STACK ETHERNET_AVAILABLE +ETHERNET_H EV_TRIGGER +EXTERNAL_LOADER_APP +FIPS_OPTEST_FULL_RUN_AT_MODULE_INIT +FORCE_FAILURE_GETRANDOM FP_ECC_CONTROL FREERTOS_TCP_WINSIM FREESCALE +FREESCALE_MQX FREESCALE_RNGB FREESCALE_USE_MMCAU_CLASSIC FSL_FEATURE_HAS_L1CACHE @@ -268,6 +306,7 @@ IOTSAFE_NO_GETDATA IOTSAFE_SIG_8BIT_LENGTH KCAPI_USE_XMALLOC +KERNEL_ROOT K_SERIES LIBWOLFSSL_VERSION_GIT_BRANCH LIBWOLFSSL_VERSION_GIT_HASH @@ -275,7 +314,7 @@ LIBWOLFSSL_VERSION_GIT_ORIGIN LIBWOLFSSL_VERSION_GIT_SHORT_HASH LIBWOLFSSL_VERSION_GIT_TAG -LINUXKM_FPU_STATES_FOLLOW_THREADS +LINUXKM_DONT_FORCE_FIPS_ENABLED LINUXKM_LKCAPI_PRIORITY_ALLOW_MASKING LINUX_CYCLE_COUNT LINUX_RUSAGE_UTIME @@ -286,6 +325,7 @@ MAXQ_EXPORT_TLS_KEYS MAXQ_SHA1 MAXSEG_64K +MAX_OID_SZ MAX_WOLFSSL_FILE_SIZE MDK_CONF_BARE_METAL MDK_CONF_FS @@ -348,6 +388,8 @@ NO_HANDSHAKE_DONE_CB NO_IMX6_CAAM_AES NO_IMX6_CAAM_HASH +NO_KEEP_PEER_CERT +NO_LINUXKM_DRBG_GET_RANDOM_BYTES NO_OLD_NAMES NO_OLD_POLY1305 NO_OLD_TIMEVAL_NAME @@ -382,6 +424,7 @@ NO_TKERNEL_MEM_POOL NO_TLSX_PSKKEM_PLAIN_ANNOUNCE NO_VERIFY_OID +NO_WC_DHGENERATEPUBLIC NO_WC_SSIZE_TYPE NO_WOLFSSL_ALLOC_ALIGN NO_WOLFSSL_AUTOSAR_CRYIF @@ -389,6 +432,7 @@ NO_WOLFSSL_AUTOSAR_CSM NO_WOLFSSL_BASE64_DECODE NO_WOLFSSL_BN_CTX +NO_WOLFSSL_CURVE25519_BLINDING NO_WOLFSSL_MSG_EX NO_WOLFSSL_RENESAS_FSPSM_AES NO_WOLFSSL_RENESAS_FSPSM_HASH @@ -398,6 +442,7 @@ NO_WOLFSSL_SHA512_INTERLEAVE NO_WOLFSSL_SKIP_TRAILING_PAD NO_WOLFSSL_SMALL_STACK_STATIC +NO_WOLFSSL_USE_ASM_CERT NO_WOLFSSL_XILINX_TAG_MALLOC NRF52 NRF52_SERIES @@ -427,6 +472,7 @@ REDIRECTION_OUT2_KEYELMID REDIRECTION_OUT2_KEYID RENESAS_T4_USE +RHEL_MAJOR RTC_ALARMSUBSECONDMASK_ALL RTE_CMSIS_RTOS_RTX RTOS_MODULE_NET_AVAIL @@ -449,6 +495,7 @@ SL_SE_KEY_TYPE_ECC_X25519 SL_SE_KEY_TYPE_ECC_X448 SL_SE_PRF_HMAC_SHA1 +SNIFFER_SINGLE_SESSION_CACHE SOFTDEVICE_PRESENT SO_NOSIGPIPE SO_REUSEPORT @@ -465,6 +512,7 @@ STM32F401xE STM32F407xx STM32F437xx +STM32F439xx STM32F756xx STM32F777xx STM32G071xx @@ -480,6 +528,7 @@ STM32L552xx STM32L562xx STM32MP135Fxx +STM32N657xx STM32U575xx STM32U585xx STM32U5A9xx @@ -498,8 +547,14 @@ TIME_T_NOT_LONG TI_DUMMY_BUILD TLS13_RSA_PSS_SIGN_CB_NO_PREHASH +TSIP_AES_128_CTR +TSIP_AES_256_CTR +TSIP_ECDSA_P256 +TSIP_ECDSA_P384 TSIP_RSAES_1024 TSIP_RSAES_2048 +TSIP_RSASSA_1024 +TSIP_RSASSA_2048 UNICODE USER_CA_CB USER_CUSTOM_SNIFFX @@ -508,6 +563,7 @@ USE_ANY_ADDR USE_CERT_BUFFERS_25519 USE_CERT_BUFFERS_3072 +USE_CONTESTMUTEX USE_ECDSA_KEYSZ_HASH_ALGO USE_FULL_ASSERT USE_HAL_DRIVER @@ -518,12 +574,14 @@ USE_STSAFE_RNG_SEED USE_STSAFE_VERBOSE USE_TLSV13 +USE_WINDOWS_API USE_WOLF_STRNSTR USS_API WC_AESXTS_STREAM_NO_REQUEST_ACCOUNTING WC_AES_BS_WORD_SIZE WC_AES_GCM_DEC_AUTH_EARLY WC_ASN_HASH_SHA256 +WC_ASN_RUNTIME_DATE_CHECK_CONTROL WC_ASYNC_ENABLE_3DES WC_ASYNC_ENABLE_AES WC_ASYNC_ENABLE_ARC4 @@ -548,7 +606,8 @@ WC_DILITHIUM_FIXED_ARRAY WC_DISABLE_RADIX_ZERO_PAD WC_ECC_NONBLOCK_ONLY -WC_KDF_NIST_SP_800_56C +WC_FLAG_DONT_USE_AESNI +WC_FORCE_LINUXKM_FORTIFY_SOURCE WC_LMS_FULL_HASH WC_NO_RNG_SIMPLE WC_NO_STATIC_ASSERT @@ -559,28 +618,34 @@ WC_RSA_NONBLOCK WC_RSA_NONBLOCK_TIME WC_RSA_NO_FERMAT_CHECK +WC_RWLOCK_OPS_INLINE WC_SHA384 WC_SHA384_DIGEST_SIZE WC_SHA512 +WC_SKIP_INCLUDED_C_FILES WC_SSIZE_TYPE WC_STRICT_SIG -WC_WANT_FLAG_DONT_USE_AESNI +WC_USE_PIE_FENCEPOSTS_FOR_FIPS +WC_WANT_FLAG_DONT_USE_VECTOR_OPS WC_XMSS_FULL_HASH +WIFIESPAT +WIFI_101 WIFI_AVAILABLE +WIFI_NINA +WIN_REUSE_CRYPT_HANDLE WOLFCRYPT_FIPS_CORE_DYNAMIC_HASH_VALUE WOLFSENTRY_H WOLFSENTRY_NO_JSON WOLFSSL_32BIT_MILLI_TIME -WOLFSSL_AARCH64_PRIVILEGE_MODE WOLFSSL_AESNI_BY4 WOLFSSL_AESNI_BY6 WOLFSSL_AES_CTR_EXAMPLE WOLFSSL_AFTER_DATE_CLOCK_SKEW WOLFSSL_ALGO_HW_MUTEX +WOLFSSL_ALLOW_BAD_TLS_LEGACY_VERSION WOLFSSL_ALLOW_CRIT_AIA WOLFSSL_ALLOW_CRIT_AKID WOLFSSL_ALLOW_CRIT_SKID -WOLFSSL_ALLOW_ENCODING_CA_FALSE WOLFSSL_ALLOW_MAX_FRAGMENT_ADJUST WOLFSSL_ALLOW_NO_CN_IN_SAN WOLFSSL_ALLOW_NO_SUITES @@ -617,15 +682,11 @@ WOLFSSL_CAAM_NO_BLACK_KEY WOLFSSL_CALLBACKS WOLFSSL_CHECK_DESKEY -WOLFSSL_CHECK_MEM_ZERO WOLFSSL_CHIBIOS WOLFSSL_CLANG_TIDY WOLFSSL_CLIENT_EXAMPLE -WOLFSSL_COMMERCIAL_LICENSE WOLFSSL_CONTIKI WOLFSSL_CRL_ALLOW_MISSING_CDP -WOLFSSL_CURVE25519_BLINDING -WOLFSSL_CUSTOM_CONFIG WOLFSSL_DILITHIUM_ASSIGN_KEY WOLFSSL_DILITHIUM_MAKE_KEY_SMALL_MEM WOLFSSL_DILITHIUM_NO_ASN1 @@ -638,10 +699,10 @@ WOLFSSL_DILITHIUM_SIGN_SMALL_MEM_PRECALC WOLFSSL_DILITHIUM_SIGN_SMALL_MEM_PRECALC_A WOLFSSL_DILITHIUM_SMALL_MEM_POLY64 -WOLFSSL_DILITHIUM_VERIFY_NO_MALLOC WOLFSSL_DILITHIUM_VERIFY_SMALL_MEM WOLFSSL_DISABLE_EARLY_SANITY_CHECKS WOLFSSL_DTLS_DISALLOW_FUTURE +WOLFSSL_DTLS_RECORDS_CAN_SPAN_DATAGRAMS WOLFSSL_DTLS_RESEND_ONLY_TIMEOUT WOLFSSL_DUMP_MEMIO_STREAM WOLFSSL_DUP_CERTPOL @@ -653,13 +714,13 @@ WOLFSSL_ECDSA_MATCH_HASH WOLFSSL_ECDSA_SET_K_ONE_LOOP WOLFSSL_EC_POINT_CMP_JACOBIAN +WOLFSSL_ED448_NO_LARGE_CODE WOLFSSL_EDDSA_CHECK_PRIV_ON_SIGN WOLFSSL_EMNET WOLFSSL_ESPWROOM32 WOLFSSL_EVP_PRINT WOLFSSL_EXPORT_INT WOLFSSL_EXPORT_SPC_SZ -WOLFSSL_EXTRA WOLFSSL_FORCE_OCSP_NONCE_CHECK WOLFSSL_FRDM_K64 WOLFSSL_FRDM_K64_JENKINS @@ -689,6 +750,9 @@ WOLFSSL_KYBER_NO_ENCAPSULATE WOLFSSL_KYBER_NO_MAKE_KEY WOLFSSL_LIB +WOLFSSL_LINUXKM_USE_GET_RANDOM_KPROBES +WOLFSSL_LINUXKM_USE_GET_RANDOM_USER_KRETPROBE +WOLFSSL_LINUXKM_USE_MUTEXES WOLFSSL_LMS_CACHE_BITS WOLFSSL_LMS_FULL_HASH WOLFSSL_LMS_LARGE_CACHES @@ -721,13 +785,13 @@ WOLFSSL_NO_COPY_KEY WOLFSSL_NO_CRL_DATE_CHECK WOLFSSL_NO_CRL_NEXT_DATE +WOLFSSL_NO_CT_MAX_MIN WOLFSSL_NO_DECODE_EXTRA WOLFSSL_NO_DER_TO_PEM WOLFSSL_NO_DH186 WOLFSSL_NO_DTLS_SIZE_CHECK WOLFSSL_NO_ETM_ALERT WOLFSSL_NO_FENCE -WOLFSSL_NO_FSEEK WOLFSSL_NO_INIT_CTX_KEY WOLFSSL_NO_ISSUERHASH_TDPEER WOLFSSL_NO_KCAPI_AES_CBC @@ -740,7 +804,6 @@ WOLFSSL_NO_OCSP_DATE_CHECK WOLFSSL_NO_OCSP_ISSUER_CHAIN_CHECK WOLFSSL_NO_OCSP_OPTIONAL_CERTS -WOLFSSL_NO_PUBLIC_FFDHE WOLFSSL_NO_RSA_KEY_CHECK WOLFSSL_NO_SERVER_GROUPS_EXT WOLFSSL_NO_SESSION_STATS @@ -750,6 +813,7 @@ WOLFSSL_NO_STRICT_CIPHER_SUITE WOLFSSL_NO_TICKET_EXPIRE WOLFSSL_NO_TRUSTED_CERTS_VERIFY +WOLFSSL_NO_WORD64_OPS WOLFSSL_NO_XOR_OPS WOLFSSL_NRF51_AES WOLFSSL_OLDTLS_AEAD_CIPHERSUITES @@ -773,7 +837,6 @@ WOLFSSL_PSK_ID_PROTECTION WOLFSSL_PSK_MULTI_ID_PER_CS WOLFSSL_PSK_TLS13_CB -WOLFSSL_PSOC6_CRYPTO WOLFSSL_PYTHON WOLFSSL_RENESAS_FSPSM_CRYPT_ONLY WOLFSSL_RENESAS_RA6M3 @@ -799,6 +862,7 @@ WOLFSSL_SETTINGS_FILE WOLFSSL_SH224 WOLFSSL_SHA256_ALT_CH_MAJ +WOLFSSL_SHA512_HASHTYPE WOLFSSL_SHUTDOWNONCE WOLFSSL_SILABS_TRNG WOLFSSL_SM4_EBC @@ -808,6 +872,7 @@ WOLFSSL_SP_INT_SQR_VOLATILE WOLFSSL_STACK_CHECK WOLFSSL_STM32F427_RNG +WOLFSSL_STM32U5_DHUK WOLFSSL_STM32_RNG_NOLIB WOLFSSL_STRONGEST_HASH_SIG WOLFSSL_STSAFE_TAKES_SLOT @@ -831,15 +896,17 @@ WOLFSSL_TRACK_MEMORY_FULL WOLFSSL_TRAP_MALLOC_SZ WOLFSSL_UNALIGNED_64BIT_ACCESS +WOLFSSL_USER_DEFINED_ATOMICS WOLFSSL_USER_FILESYSTEM WOLFSSL_USER_LOG WOLFSSL_USER_MUTEX WOLFSSL_USER_THREADING WOLFSSL_USE_ESP32C3_CRYPT_HASH_HW WOLFSSL_USE_FLASHMEM +WOLFSSL_USE_FORCE_ZERO WOLFSSL_USE_OPTIONS_H -WOLFSSL_USE_POPEN_HOST WOLFSSL_VALIDATE_DH_KEYGEN +WOLFSSL_WC_LMS_SERIALIZE_STATE WOLFSSL_WC_XMSS_NO_SHA256 WOLFSSL_WC_XMSS_NO_SHAKE256 WOLFSSL_WICED_PSEUDO_UNIX_EPOCH_TIME @@ -868,6 +935,8 @@ _ARCH_PPC64 _COMPILER_VERSION _INTPTR_T_DECLARED +_LINUX_REFCOUNT_H +_LINUX_REFCOUNT_TYPES_H _LP64 _MSC_VER _MSVC_LANG @@ -877,6 +946,7 @@ _POSIX_C_SOURCE _SDCC_VERSION_PATCHLEVEL _SH3 +_SILICON_LABS_32B_SERIES_3_CONFIG_301 _SILICON_LABS_SECURITY_FEATURE _SOCKLEN_T _SYS_DEVCON_LOCAL_H @@ -901,7 +971,9 @@ __ARM_ARCH_7M__ __ARM_FEATURE_CRYPTO __ASSEMBLER__ +__ATOMIC_CONSUME __ATOMIC_RELAXED +__AVR_ARCH__ __AVR__ __BCPLUSPLUS__ __BIG_ENDIAN__ @@ -934,6 +1006,7 @@ __LP64 __LP64__ __MACH__ +__MEGAAVR__ __MICROBLAZE__ __MINGW32__ __MINGW64_VERSION_MAJOR @@ -956,12 +1029,15 @@ __SAM3X4E__ __SAM3X8C__ __SAM3X8E__ +__SAMD21__ +__SAMD51__ __SANITIZE_ADDRESS__ __SDCC_VERSION_MAJOR __SDCC_VERSION_MINOR __SDCC_VERSION_PATCH __SIZEOF_INT128__ __SIZEOF_LONG_LONG__ +__STDC_NO_ATOMICS__ __STDC_VERSION__ __STDC__ __STM32__ @@ -1009,6 +1085,7 @@ __thumb__ __ti__ __x86_64__ +__xtensa__ byte configTICK_RATE_HZ fallthrough diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -34,7 +34,7 @@ You must delete them, or cmake will refuse to work.") endif() -project(wolfssl VERSION 5.8.0 LANGUAGES C ASM) +project(wolfssl VERSION 5.8.4 LANGUAGES C ASM) # Set WOLFSSL_ROOT if not already defined if ("${WOLFSSL_ROOT}" STREQUAL "") @@ -49,16 +49,16 @@ # shared library versioning # increment if interfaces have been removed or changed -set(WOLFSSL_LIBRARY_VERSION_FIRST 43) +set(WOLFSSL_LIBRARY_VERSION_FIRST 44) # increment if interfaces have been added # set to zero if WOLFSSL_LIBRARY_VERSION_FIRST is incremented -set(WOLFSSL_LIBRARY_VERSION_SECOND 1) +set(WOLFSSL_LIBRARY_VERSION_SECOND 0) # increment if source code has changed # set to zero if WOLFSSL_LIBRARY_VERSION_FIRST is incremented or # WOLFSSL_LIBRARY_VERSION_SECOND is incremented -set(WOLFSSL_LIBRARY_VERSION_THIRD 0) +set(WOLFSSL_LIBRARY_VERSION_THIRD 1) set(LIBTOOL_FULL_VERSION ${WOLFSSL_LIBRARY_VERSION_FIRST}.${WOLFSSL_LIBRARY_VERSION_SECOND}.${WOLFSSL_LIBRARY_VERSION_THIRD}) @@ -66,6 +66,9 @@ set(WOLFSSL_LINK_LIBS) set(WOLFSSL_INCLUDE_DIRS) +# Initialize pkg-config private variables +set(PC_LIBS_PRIVATE "") + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/") include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/functions.cmake) @@ -124,6 +127,7 @@ check_function_exists("socket" HAVE_SOCKET) check_function_exists("strftime" HAVE_STRFTIME) check_function_exists("__atomic_fetch_add" HAVE_C___ATOMIC) +check_function_exists("getpid" HAVE_GETPID) include(CheckSymbolExists) check_symbol_exists(isascii "ctype.h" HAVE_ISASCII) @@ -280,7 +284,28 @@ "no" "yes;no") if(WOLFSSL_DEBUG) - set(CMAKE_C_FLAGS "-g ${CMAKE_C_FLAGS}") + # Optional variable inspection + if (0) + get_cmake_property(_variableNames VARIABLES) + list (SORT _variableNames) + message(STATUS "") + message(STATUS "ALL VARIABLES BEGIN") + message(STATUS "") + foreach (_variableName ${_variableNames}) + message(STATUS "${_variableName}=${${_variableName}}") + endforeach() + message(STATUS "") + message(STATUS "ALL VARIABLES END") + message(STATUS "") + endif() + + if (CMAKE_C_COMPILER_ID STREQUAL "Watcom" OR CMAKE_C_COMPILER_ID STREQUAL "OpenWatcom" OR CMAKE_GENERATOR STREQUAL "Watcom WMake") + # Open Watcom v2 does not support -g debugging + message(STATUS "Detected Watcom compiler, using CMAKE_C_FLAGS_DEBUG -d2") + set(CMAKE_C_FLAGS_DEBUG "-d2 ${CMAKE_C_FLAGS_DEBUG}") + else() + set(CMAKE_C_FLAGS "-g ${CMAKE_C_FLAGS}") + endif() list(APPEND WOLFSSL_DEFINITIONS "-DDEBUG_WOLFSSL" "-DDEBUG") @@ -434,6 +459,7 @@ set(WOLFSSL_MD4 "yes") set(WOLFSSL_DES3 "yes") set(WOLFSSL_ALPN "yes") + set(WOLFSSL_EX_DATA "yes") set(WOLFSSL_WOLFSSH "yes") set(WOLFSSL_OPENSSLEXTRA "yes") set(WOLFSSL_CRL "yes") @@ -1155,8 +1181,8 @@ # Old TLS add_option("WOLFSSL_OLD_TLS" - "Enable old TLS versions < 1.2 (default: enabled)" - "yes" "yes;no") + "Enable old TLS versions < 1.2 (default: disabled)" + "no" "yes;no") if(NOT WOLFSSL_OLD_TLS) list(APPEND WOLFSSL_DEFINITIONS "-DNO_OLD_TLS") @@ -1407,17 +1433,25 @@ endif() # MD5 -set(WOLFSSL_MD5_HELP_STRING "Enable MD5 (default: enabled)") -add_option("WOLFSSL_MD5" ${WOLFSSL_MD5_HELP_STRING} "yes" "yes;no") +set(WOLFSSL_MD5_HELP_STRING "Enable MD5 (default: disabled)") +add_option("WOLFSSL_MD5" ${WOLFSSL_MD5_HELP_STRING} "no" "yes;no") + +if(WOLFSSL_WPAS OR + WOLFSSL_HAPROXY OR + WOLFSSL_NGINX OR + WOLFSSL_OPENSSH OR + WOLFSSL_OPENSSLEXTRA OR + WOLFSSL_OPENVPN OR + WOLFSSL_OLD_TLS OR + WOLFSSL_FORTRESS OR + WOLFSSL_LIGHTY OR + WOLFSSL_DES3 OR + WOLFSSL_OPENSSLALL) + override_cache(WOLFSSL_MD5 "yes") +endif() if(NOT WOLFSSL_MD5) list(APPEND WOLFSSL_DEFINITIONS "-DNO_MD5" "-DNO_OLD_TLS") -else() - # turn off MD5 if leanpsk or leantls on - if(WOLFSSL_LEAN_PSK OR WOLFSSL_LEAN_TLS) - list(APPEND WOLFSSL_DEFINITIONS "-DNO_MD5" "-DNO_OLD_TLS") - override_cache(WOLFSSL_MD5 "no") - endif() endif() # SHA @@ -1594,6 +1628,14 @@ list(APPEND WOLFSSL_DEFINITIONS "-DNO_INLINE") endif() +add_option("WOLFSSL_ARMASM_INLINE" + "Enable ARM assembly inline functions (default: disabled)" + "no" "yes;no") + +if (WOLFSSL_ARMASM_INLINE) + list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_ARMASM_INLINE") +endif() + # TODO: # - CRL monitor # - User crypto @@ -2084,6 +2126,7 @@ override_cache(WOLFSSL_CERTEXT "yes") override_cache(WOLFSSL_PKCS7 "yes") override_cache(WOLFSSL_AESCFB "yes") + list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_ALLOW_ENCODING_CA_FALSE") endif() if(WOLFSSL_CLU) @@ -2633,6 +2676,24 @@ tests/api/test_ocsp.c tests/api/test_evp.c tests/api/test_tls_ext.c + tests/api/test_tls.c + tests/api/test_x509.c + tests/api/test_asn.c + tests/api/test_pkcs7.c + tests/api/test_pkcs12.c + tests/api/test_ossl_asn1.c + tests/api/test_ossl_bio.c + tests/api/test_ossl_bn.c + tests/api/test_ossl_cipher.c + tests/api/test_ossl_dh.c + tests/api/test_ossl_dgst.c + tests/api/test_ossl_dsa.c + tests/api/test_ossl_ec.c + tests/api/test_ossl_ecx.c + tests/api/test_ossl_mac.c + tests/api/test_ossl_rsa.c + tests/api/test_ossl_sk.c + tests/api/test_tls13.c tests/srp.c tests/suites.c tests/w64wrapper.c @@ -2912,6 +2973,16 @@ endif() endif() + # Add required frameworks for static linking on Apple platforms + if(APPLE AND NOT BUILD_SHARED_LIBS) + if(WOLFSSL_SYS_CA_CERTS) + list(APPEND PC_LIBS_PRIVATE "-framework CoreFoundation" "-framework Security") + endif() + endif() + + # Convert lists to space-separated strings for pkg-config + string(JOIN " " PC_LIBS_PRIVATE ${PC_LIBS_PRIVATE}) + configure_file(support/wolfssl.pc.in ${CMAKE_CURRENT_BINARY_DIR}/support/wolfssl.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/support/wolfssl.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/CMakePresets.json mariadb-11.8.6/extra/wolfssl/wolfssl/CMakePresets.json --- mariadb-11.8.3/extra/wolfssl/wolfssl/CMakePresets.json 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/CMakePresets.json 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,20 @@ +{ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 22, + "patch": 0 + }, + "configurePresets": [ + { + "name": "vs2022-x64", + "displayName": "Visual Studio 2022 x64", + "generator": "Visual Studio 17 2022", + "architecture": "x64", + "binaryDir": "${sourceDir}/build", + "cacheVariables": { + "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" + } + } + ] +} diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/CMakeSettings.json mariadb-11.8.6/extra/wolfssl/wolfssl/CMakeSettings.json --- mariadb-11.8.3/extra/wolfssl/wolfssl/CMakeSettings.json 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/CMakeSettings.json 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,9 @@ +{ + "configurations": [ + { + "name": "No-CMake", + "generator": "Ninja", + "buildCommandArgs": "echo 'No build command'" + } + ] +} diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/COPYING mariadb-11.8.6/extra/wolfssl/wolfssl/COPYING --- mariadb-11.8.3/extra/wolfssl/wolfssl/COPYING 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/COPYING 2026-01-31 13:27:49.000000000 +0000 @@ -1,281 +1,622 @@ GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + Version 3, 29 June 2007 - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. END OF TERMS AND CONDITIONS @@ -287,15 +628,15 @@ To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least +state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -303,37 +644,31 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/ChangeLog.md mariadb-11.8.6/extra/wolfssl/wolfssl/ChangeLog.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/ChangeLog.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/ChangeLog.md 2026-01-31 13:27:49.000000000 +0000 @@ -1,3 +1,278 @@ +# wolfSSL Release 5.8.4 (Nov. 20, 2025) + +Release 5.8.4 has been developed according to wolfSSL's development and QA +process (see link below) and successfully passed the quality criteria. +https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance + +NOTE: * --enable-heapmath is deprecated + * MD5 is now disabled by default + +PR stands for Pull Request, and PR references a GitHub pull request number where the code change was added. + +## Vulnerabilities +* [Low CVE-2025-12888] Vulnerability in X25519 constant-time cryptographic implementations due to timing side channels introduced by compiler optimizations and CPU architecture limitations, specifically with the Xtensa-based ESP32 chips. If targeting Xtensa it is recommended to use the low memory implementations of X25519, which is now turned on as the default for Xtensa. Thanks to Adrian Cinal for the report. Fixed in PR 9275. + + +* [Med. CVE-2025-11936] Potential DoS vulnerability due to a memory leak through multiple KeyShareEntry with the same group in malicious TLS 1.3 ClientHello messages. This affects users who are running wolfSSL on the server side with TLS 1.3. Thanks to Jaehun Lee and Kyungmin Bae, Pohang University of Science and Technology (POSTECH) for the report. Fixed in PR 9117. + +* [Low CVE-2025-11935] PSK with PFS (Perfect Forward Secrecy) downgrades to PSK without PFS during TLS 1.3 handshake. If the client sends a ClientHello that has a key share extension and the server responds with a ServerHello that does not have a key share extension the connection would previously continue on without using PFS. Thanks to Jaehun Lee from Pohang University of Science and Technology (POSTECH) for the report. Fixed in PR 9112. + +* [Low CVE-2025-11934] Signature Algorithm downgrade from ECDSA P521 to P256 during TLS 1.3 handshake. When a client sends ECDSA P521 as the supported signature algorithm the server previously could respond as ECDSA P256 being the accepted signature algorithm and the connection would continue with using ECDSA P256. Thanks to Jaehun Lee from Pohang University of Science and Technology (POSTECH) for the report. Fixed in PR 9113. + + +* [Low CVE-2025-11933] DoS Vulnerability in wolfSSL TLS 1.3 CKS extension parsing. Previously duplicate CKS extensions were not rejected leading to a potential memory leak when processing a ClientHello. Thanks to Jaehun Lee from Pohang University of Science and Technology (POSTECH) for the report. Fixed in PR 9132. + + +* [Low CVE-2025-11931] Integer Underflow Leads to Out-of-Bounds Access in XChaCha20-Poly1305 Decrypt. This issue is hit specifically with a call to the function wc_XChaCha20Poly1305_Decrypt() which is not used with TLS connections, only from direct calls from an application. Thanks to Luigino Camastra from Aisle Research for the report. Fixed in PR 9223. + +* [Low CVE-2025-11932] Timing Side-Channel in PSK Binder Verification. The server previously verified the TLS 1.3 PSK binder using a non-constant time method which could potentially leak information about the PSK binder. Thanks to Luigino Camastra from Aisle Research for the report. Fixed in PR 9223. + +* [Low CVE-2025-12889] With TLS 1.2 connections a client can use any digest, specifically a weaker digest, rather than those in the CertificateRequest. Thanks to Jaehun Lee from Pohang University of Science and Technology (POSTECH) for the report. Fixed in PR 9395 + +## New Features +* New ML-KEM / ML-DSA APIs and seed/import PKCS8 support; added _new/_delete APIs for ML-KEM/ML-DSA. (PR 9039, 9000, 9049) +* Initial wolfCrypt FreeBSD kernel module support (PR 9392) +* Expanded PKCS7/CMS capabilities: decode SymmetricKeyPackage / OneSymmetricKey, add wc_PKCS7_GetEnvelopedDataKariRid, and allow PKCS7 builds with AES keywrap unset. (PR 9018, 9029, 9032) +* Add custom AES key wrap/unwrap callbacks and crypto callback copy/free operations. (PR 9002, 9309) +* Add support for certificate_authorities extension in ClientHello and certificate manager CA-type selection/unloading. (PR 9209, 9046) +* Large expansion of Rust wrapper modules: random, aes, rsa, ecc, dh, sha, hmac, cmac, ed25519/ed448, pbkdf2/PKCS#12, kdf/prf, SRTP KDFs, and conditional compilation options. (PR 9191, 9212, 9273, 9306, 9320, 9328, 9368, 9389, 9357, 9433) +* Rust: support optional heap and dev_id parameters and enable conditional compilation based on C build options. (PR 9407, 9433) +* STM32 fixes (benchmarking and platform fixes) and PSoC6 hardware acceleration additions. (PR 9228, 9256, 9185) +* STM32U5 added support for SAES and DHUK. (PR 9087) +* Add --enable-curl=tiny option for a smaller build when used with cURL. (PR 9174) + +## Improvements / Optimizations +* Regression test fixes and expansion: TLS 1.3/1.2 tests, ARDUINO examples, libssh2 tests, hostap workflows, and nightly test improvements. (PR 9096, 9141, 9091, 9122, 9388) +* Improved test ordering and CI test stability (random tests run order changes, FIPS test fixes). (PR 9204, 9257) +* Docs and readme fixes, docstring updates, AsconAEAD comment placement, and example certificate renewals. (PR 9131, 9293, 9262, 9429) +* Updated GPL exception lists (GPLv2 and GPLv3 exception updates: add Fetchmail and OpenVPN). (PR 9398, 9413) +* Introduced WOLFSSL_DEBUG_CERTS and additional debug/logging refinements. (PR 8902, 9055) +* Expanded crypto-callback support (SHA family, HKDF, SHA-224, sha512_family digest selection) and improved crypto-only build cases. (PR 9070, 9252, 9271, 9100, 9194) +* AES & HW offload improvements including AES-CTR support in PKCS11 driver and AES ECB offload sizing fix. (PR 9277, 9364) +* ESP32: PSRAM allocator support and SHA HW fixes for ESP-IDF v6/v5. (PR 8987, 9225, 9264) +* Renesas FSP / RA examples updated and security-module TLS context improvements. (PR 9047, 9010, 9158, 9150) +* Broad configure/CMake/Autotools workflow improvements (Apple options tracking, Watcom pinning, Debian packaging, ESP-IDF pinning). (PR 9037, 9167, 9161, 9264) +* New assembly introspection / performance helpers for RISC-V and PPC32; benchmarking enhancements (cycle counts). (PR 9101, 9317) +* Update to SGX build for using assembly optimizations. (PR 8463, 9138) +* Testing with Fil-C compiler version to 0.674 (PR 9396) +* Refactors and compressing of small stack code (PR 9153) + +## Bug Fixes +* Removed the test feature using popen when defining the macro WOLFSSL_USE_POPEN_HOST and not having HAVE_GETADDRINFO defined, along with having the macro HAVE_HTTP_CLIENT set. There was the potential for vulnerable behavior with the use of popen when the API wolfSSL_BIO_new_connect() was called with this specific build. This exact build configuration is only intended for testing with QEMU and is not enabled with any autoconf/cmake flags. Thanks to linraymond2006 for the report. (PR 9038) +* Fix for C# wrapper Ed25519 potential crash and heap overwrite with raw public key import when using the API Ed25519ImportPublic.This was a broken API with the C# wrapper that would crash on use. Thanks to Luigino Camastra from Aisle Research for the bug report. (PR 9291) +* Coverity, cppcheck, MISRA, clang-tidy, ZeroPath and other static-analysis driven fixes across the codebase. (PR 9006, 9078, 9068, 9265, 9324) +* TLS 1.2/DTLS improvements: client message order checks, DTLS cookie/exchange and replay protections, better DTLS early-data handling. (PR 9387, 9253, 9205, 9367) +* Improved X.509 & cert handling: allow larger pathLen in Basic Constraints, restore inner server name for ECH, retrying cert candidate chains. (PR 8890, 9234, 8692) +* Sniffer robustness: fix infinite recursion, better handling of OOO appData and partial overlaps, and improved retransmission detection. (PR 9051, 9106, 9140, 9094) +* Numerous linuxkm (kernel-mode) fixes, relocation/PIE normalization, and FIPS-related build tweaks across many iterations. (PR 9025, 9035, 9067, 9111, 9121) +* ML-KEM/Kyber and ML-DSA fixes for out-of-bounds and seed-import correctness; multiple ML-related safety fixes. (PR 9142, 9105, 9439) +* Avoid uninitialized-variable and GCC warnings; several fixes for undefined-shift/overflow issues. (PR 9020, 9372, 9195) +* Memory & leak fixes in X509 verification and various struct sizing fixes for WOLFSSL_NO_MALLOC usage. (PR 9258, 9036) +* Fixed RSA / signing / verify-only warnings allowing WOLFSSL_NO_CT_OPS when WOLFSSL_RSA_VERIFY_ONLY is used and API cleanups for using const. (PR 9031, 9263) + + +# wolfSSL Release 5.8.2 (July 17, 2025) + +Release 5.8.2 has been developed according to wolfSSL's development and QA +process (see link below) and successfully passed the quality criteria. +https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance + +NOTE: * wolfSSL is now GPLv3 instead of GPLv2 + * --enable-heapmath is deprecated + * MD5 is now disabled by default + + +PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request number where the code change was added. + +## Vulnerabilities + +* [Low] There is the potential for a fault injection attack on ECC and Ed25519 verify operations. In versions of wolfSSL 5.7.6 and later the --enable-faultharden option is available to help mitigate against potential fault injection attacks. The mitigation added in wolfSSL version 5.7.6 is to help harden applications relying on the results of the verify operations, such as when used with wolfBoot. If doing ECC or Ed25519 verify operations on a device at risk for fault injection attacks then --enable-faultharden could be used to help mitigate it. Thanks to Kevin from Fraunhofer AISEC for the report. + +Hardening option added in PR https://github.com/wolfSSL/wolfssl/pull/8289 + + +* [High CVE-2025-7395] When using WOLFSSL_SYS_CA_CERTS and WOLFSSL_APPLE_NATIVE_CERT_VALIDATION on an Apple platform, the native trust store verification routine overrides errors produced elsewhere in the wolfSSL certificate verification process including failures due to hostname matching/SNI, OCSP, CRL, etc. This allows any trusted cert chain to override other errors detected during chain verification that should have resulted in termination of the TLS connection. If building wolfSSL on versions after 5.7.6 and before 5.8.2 with use of the system CA support and the apple native cert validation feature enabled on Apple devices (on by default for non-macOS Apple targets when using autotools or CMake) we recommend updating to the latest version of wolfSSL. Thanks to Thomas Leong from ExpressVPN for the report. + +Fixed in PR https://github.com/wolfSSL/wolfssl/pull/8833 + + +* [Med. CVE-2025-7394] In the OpenSSL compatibility layer implementation, the function RAND_poll() was not behaving as expected and leading to the potential for predictable values returned from RAND_bytes() after fork() is called. This can lead to weak or predictable random numbers generated in applications that are both using RAND_bytes() and doing fork() operations. This only affects applications explicitly calling RAND_bytes() after fork() and does not affect any internal TLS operations. Although RAND_bytes() documentation in OpenSSL calls out not being safe for use with fork() without first calling RAND_poll(), an additional code change was also made in wolfSSL to make RAND_bytes() behave similar to OpenSSL after a fork() call without calling RAND_poll(). Now the Hash-DRBG used gets reseeded after detecting running in a new process. If making use of RAND_bytes() and calling fork() we recommend updating to the latest version of wolfSSL. Thanks to Per Allansson from Appgate for the report. + +Fixed in the following PR’s +https://github.com/wolfSSL/wolfssl/pull/8849 +https://github.com/wolfSSL/wolfssl/pull/8867 +https://github.com/wolfSSL/wolfssl/pull/8898 + + + +* [Low CVE-2025-7396] In wolfSSL 5.8.0 the option of hardening the C implementation of Curve25519 private key operations was added with the addition of blinding support (https://www.wolfssl.com/curve25519-blinding-support-added-in-wolfssl-5-8-0/). In wolfSSL release 5.8.2 that blinding support is turned on by default in applicable builds. The blinding configure option is only for the base C implementation of Curve25519. It is not needed, or available with; ARM assembly builds, Intel assembly builds, and the small Curve25519 feature. While the attack would be very difficult to execute in practice, enabling blinding provides an additional layer of protection for devices that may be more susceptible to physical access or side-channel observation. Thanks to Arnaud Varillon, Laurent Sauvage, and Allan Delautre from Telecom Paris for the report. + +Blinding enabled by default in PR https://github.com/wolfSSL/wolfssl/pull/8736 + + +## New Features +* Multiple sessions are now supported in the sniffer due to the removal of a cached check. (PR #8723) +* New API ssl_RemoveSession() has been implemented for sniffer cleanup operations. (PR #8768) +* The new ASN X509 API, `wc_GetSubjectPubKeyInfoDerFromCert`, has been introduced for retrieving public key information from certificates. (PR #8758) +* `wc_PKCS12_create()` has been enhanced to support PBE_AES(256|128)_CBC key and certificate encryptions. (PR #8782, PR #8822, PR #8859) +* `wc_PKCS7_DecodeEncryptedKeyPackage()` has been added for decoding encrypted key packages. (PR #8976) +* All AES, SHA, and HMAC functionality has been implemented within the Linux Kernel Module. (PR #8998) +* Additions to the compatibility layer have been introduced for X.509 extensions and RSA PSS. Adding the API i2d_PrivateKey_bio, BN_ucmp and X509v3_get_ext_by_NID. (PR #8897) +* Added support for STM32N6. (PR #8914) +* Implemented SHA-256 for PPC 32 assembly. (PR #8894) + +## Improvements / Optimizations + +### Linux Kernel Module (LinuxKM) Enhancements +* Registered DH and FFDHE for the Linux Kernel Module. (PR #8707) +* Implemented fixes for standard RNG in the Linux Kernel Module. (PR #8718) +* Added an ECDSA workaround for the Linux Kernel Module. (PR #8727) +* Added more PKCS1 pad SHA variants for RSA in the Linux Kernel Module. (PR #8730) +* Set default priority to 100000 for LKCAPI in the Linux Kernel Module. (PR #8740) +* Ensured ECDH never has FIPS enabled in the Linux Kernel Module. (PR #8751) +* Implemented further Linux Kernel Module and SP tweaks. (PR #8773) +* Added sig_alg support for Linux 6.13 RSA in the Linux Kernel Module. (PR #8796) +* Optimized wc_linuxkm_fpu_state_assoc. (PR #8828) +* Ensured DRBG is multithread-round-1 in the Linux Kernel Module. (PR #8840) +* Prevented toggling of fips_enabled in the Linux Kernel Module. (PR #8873) +* Refactored drbg_ctx clear in the Linux Kernel Module. (PR #8876) +* Set sig_alg max_size and digest_size callbacks for RSA in the Linux Kernel Module. (PR #8915) +* Added get_random_bytes for the Linux Kernel Module. (PR #8943) +* Implemented distro fix for the Linux Kernel Module. (PR #8994) +* Fixed page-flags-h in the Linux Kernel Module. (PR #9001) +* Added MODULE_LICENSE for the Linux Kernel Module. (PR #9005) + +### Post-Quantum Cryptography (PQC) & Asymmetric Algorithms +* Kyber has been updated to the MLKEM ARM file for Zephyr (PR #8781) +* Backward compatibility has been implemented for ML_KEM IDs (PR #8827) +* ASN.1 is now ensured to be enabled when only building PQ algorithms (PR #8884) +* Building LMS with verify-only has been fixed (PR #8913) +* Parameters for LMS SHA-256_192 have been corrected (PR #8912) +* State can now be saved with the private key for LMS (PR #8836) +* Support for OpenSSL format has been added for ML-DSA/Dilithium (PR #8947) +* `dilithium_coeff_eta2[]` has been explicitly declared as signed (PR #8955) + +### Build System & Portability +* Prepared for the inclusion of v5.8.0 in the Ada Alire index. (PR #8714) +* Introduced a new build option to allow reuse of the Windows crypt provider handle. (PR #8706) +* Introduced general fixes for various build configurations. (PR #8763) +* Made improvements for portability using older GCC 4.8.2. (PR #8753) +* Macro guards updated to allow tests to build with opensslall and no server. (PR #8776) +* Added a check for STDC_NO_ATOMICS macro before use of atomics. (PR #8885) +* Introduced CMakePresets.json and CMakeSettings.json. (PR #8905) +* Added an option to not use constant time code with min/max. (PR #8830) +* Implemented proper MacOS dispatch for conditional signal/wait. (PR #8928) +* Disabled MD5 by default for both general and CMake builds. (PR #8895, PR #8948) +* Improved to allow building OPENSSL_EXTRA without KEEP_PEER_CERT. (PR #8926) +* Added introspection for Intel and ARM assembly speedups. (PR #8954) +* Fixed cURL config to set HAVE_EX_DATA and HAVE_ALPN. (PR #8973) +* Moved FREESCALE forced algorithm HAVE_ECC to IDE/MQX/user_settings.h. (PR #8977) + +### Testing & Debugging +* Fixed the exit status for testwolfcrypt. (PR #8762) +* Added WOLFSSL_DEBUG_PRINTF and WOLFSSL_DEBUG_CERTIFICATE_LOADS for improved debugging output. (PR #8769, PR #8770) +* Guarded some benchmark tests with NO_SW_BENCH. (PR #8760) +* Added an additional unit test for wolfcrypt PKCS12 file to improve code coverage. (PR #8831) +* Added an additional unit test for increased DH code coverage. (PR #8837) +* Adjusted for warnings with NO_TLS build and added GitHub actions test. (PR #8851) +* Added additional compatibility layer RAND tests. (PR #8852) +* Added an API unit test for checking domain name. (PR #8863) +* Added bind v9.18.33 testing. (PR #8888) +* Fixed issue with benchmark help options and descriptions not lining up. (PR #8957) + +### Certificates & ASN.1 +* Changed the algorithm for sum in ASN.1 OIDs. (PR #8655) +* Updated PKCS7 to use X509 STORE for internal verification. (PR #8748) +* Improved handling of temporary buffer size for X509 extension printing. (PR #8710) +* Marked IP address as WOLFSSL_V_ASN1_OCTET_STRING for ALT_NAMES_OID. (PR #8842) +* Fixed printing empty names in certificates. (PR #8880) +* Allowed CA:FALSE on wolftpm. (PR #8925) +* Fixed several inconsistent function prototype parameter names in wc/asn. (PR #8949) +* Accounted for custom extensions when creating a Cert from a WOLFSSL_X509. (PR #8960) + +### TLS/DTLS & Handshake +* Checked group correctness outside of TLS 1.3 too for TLSX_UseSupportedCurve. (PR #8785) +* Dropped records that span datagrams in DTLS. (PR #8642) +* Implemented WC_NID_netscape_cert_type. (PR #8800) +* Refactored GetHandshakeHeader/GetHandShakeHeader into one function. (PR #8787) +* Correctly set the current peer in dtlsProcessPendingPeer. (PR #8848) +* Fixed set_groups for TLS. (PR #8824) +* Allowed trusted_ca_keys with TLSv1.3. (PR #8860) +* Moved Dtls13NewEpoch into DeriveTls13Keys. (PR #8858) +* Cleared tls1_3 on downgrade. (PR #8861) +* Always sent ACKs on detected retransmission for DTLS1.3. (PR #8882) +* Removed DTLS from echo examples. (PR #8889) +* Recalculated suites at SSL initialization. (PR #8757) +* No longer using BIO for ALPN. (PR #8969) +* Fixed wolfSSL_BIO_new_connect's handling of IPV6 addresses. (PR #8815) +* Memory Management & Optimizations +* Performed small stack refactors, improved stack size with mlkem and dilithium, and added additional tests. (PR #8779) +* Implemented FREE_MP_INT_SIZE in heap math. (PR #8881) +* Detected correct MAX_ENCODED_SIG_SZ based on max support in math lib. (PR #8931) +* Fixed improper access of sp_int_minimal using sp_int. (PR #8985) + +### Cryptography & Hash Functions +* Implemented WC_SIPHASH_NO_ASM for not using assembly optimizations with siphash. (PR #8789, PR #8791) +* Added missing DH_MAX_SIZE define for FIPS and corrected wolfssl.rc FILETYPE to VFT_DLL. (PR #8794) +* Implemented WC_SHA3_NO_ASM for not using assembly with SHA3. (PR #8817) +* Improved Aarch64 XFENCE. (PR #8832) +* Omitted frame pointer for ARM32/Thumb2/RISC-V 64 assembly. (PR #8893) +* Fixed branch instruction in ARMv7a ASM. (PR #8933) +* Enabled EVP HMAC to work with WOLFSSL_HMAC_COPY_HASH. (PR #8944) +* Platform-Specific & Hardware Integration +* Added HAVE_HKDF for wolfssl_test and explicit support for ESP32P4. (PR #8742) +* Corrected Espressif default time setting. (PR #8829) +* Made wc_tsip_* APIs public. (PR #8717) +* Improved PlatformIO Certificate Bundle Support. (PR #8847) +* Fixed the TSIP TLS example program. (PR #8857) +* Added crypto callback functions for TROPIC01 secure element. (PR #8812) +* Added Renesas RX TSIP AES CTR support. (PR #8854) +* Fixed TSIP port using crypto callback. (PR #8937) + +### General Improvements & Refactoring +* Attempted wolfssl_read_bio_file in read_bio even when XFSEEK is available. (PR #8703) +* Refactored GetHandshakeHeader/GetHandShakeHeader into one function. (PR #8787) +* Updated libspdm from 3.3.0 to 3.7.0. (PR #8906) +* Fixed missing dashes on the end of header and footer for Falcon PEM key. (PR #8904) +* Fixed minor code typos for macos signal and types.h max block size. (PR #8934) +* Make the API wolfSSL_X509_STORE_CTX_get_error accessible to more build configurations for ease of getting the "store" error code and depth with certificate failure callback implementations. (PR #8903) + +## Bug Fixes +* Fixed issues to support _WIN32_WCE (VS 2008 with WinCE 6.0/7.0). (PR #8709) +* Fixed STM32 Hash with IRQ enabled. (PR #8705) +* Fixed raw hash when using crypto instructions on RISC-V 64-bit. (PR #8733) +* Fixed ECDH decode secret in the Linux Kernel Module. (PR #8729) +* Passed in the correct hash type to wolfSSL_RSA_verify_ex. (PR #8726) +* Fixed issues for Intel QuickAssist latest driver (4.28). (PR #8728) +* Speculative fix for CodeSonar overflow issue in ssl_certman.c. (PR #8715) +* Fixed Arduino progmem print and AVR WOLFSSL_USER_IO. (PR #8668) +* Correctly advanced the index in wc_HKDF_Expand_ex. (PR #8737) +* Fixed STM32 hash status check logic, including NO_AES_192 and NO_AES_256. (PR #8732) +* Added missing call to wolfSSL_RefFree in FreeCRL to prevent memory leaks. (PR #8750) +* Fixed sanity check on --group with unit test app and null sanity check with des decrypt. (PR #8711) +* Fixed Curve25519 and static ephemeral issue with blinding. (PR #8766) +* Fixed edge case issue with STM32 AES GCM auth padding. (PR #8745) +* Removed redefinition of MlKemKey and fixed build issue in benchmark. (PR #8755) +* Used proper heap hint when freeing CRL in error case. (PR #8713) +* Added support for no malloc with wc_CheckCertSigPubKey. (PR #8725) +* Fixed C# wrapper Release build. (PR #8802) +* Handled malformed CCS and CCS before CH in TLS1.3. (PR #8788) +* Fixed ML-DSA with WOLFSSL_DILITHIUM_NO_SIGN. (PR #8798) +* Fixed AesGcmCrypt_1 no-stream in the Linux Kernel Module. (PR #8814) +* Fixed return value usage for crypto_sig_sign in the Linux Kernel Module. (PR #8816) +* Fixed issue with CSharp and Windows CE with conversion of ASCII and Unicode. (PR #8799) +* Fixed Renesas SCE on RA6M4. (PR #8838) +* Fixed tests for different configs for ML-DSA. (PR #8865) +* Fixed bug in ParseCRL_Extensions around the size of a CRL number handled and CRL number OID. (PR #8587) +* Fixed uninitialized wc_FreeRng in prime_test. (PR #8886) +* Fixed ECC configuration issues with ECC verify only and no RNG. (PR #8901) +* Fixed issues with max size, openssl.test netcat, and clang-tidy. (PR #8909) +* Fixed for casting down and uninit issues in Dilithium/ML-DSA. (PR #8868) +* Fixed memory allocation failure testing and related unit test cases. (PR #8945, PR #8952) +* Fixed build issue with ML-DSA 44 only. (PR #8981) +* Fixed possible memory leak with X509 reference counter when using x509small. (PR #8982) + + # wolfSSL Release 5.8.0 (Apr 24, 2025) Release 5.8.0 has been developed according to wolfSSL's development and QA @@ -6,7 +281,7 @@ NOTE: * --enable-heapmath is deprecated -PR stands for Pull Request, and PR references a GitHub pull request +PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request number where the code change was added. @@ -222,7 +497,7 @@ user_settings.h. -PR stands for Pull Request, and PR references a GitHub pull request +PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request number where the code change was added. @@ -342,7 +617,7 @@ NOTE: * --enable-heapmath is being deprecated and will be removed by end of 2024 -PR stands for Pull Request, and PR references a GitHub pull request +PR stands for Pull Request, and PR (NUMBER) references a GitHub pull request number where the code change was added. diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/Docker/packaging/debian/Dockerfile mariadb-11.8.6/extra/wolfssl/wolfssl/Docker/packaging/debian/Dockerfile --- mariadb-11.8.3/extra/wolfssl/wolfssl/Docker/packaging/debian/Dockerfile 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/Docker/packaging/debian/Dockerfile 2026-01-31 13:27:49.000000000 +0000 @@ -2,5 +2,4 @@ RUN apt-get -y update RUN apt-get -y upgrade -RUN apt-get install -y build-essential autoconf gawk debhelper lintian - +RUN apt-get install -y build-essential autoconf gawk debhelper lintian dpkg-dev diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ARDUINO/README.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/README.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ARDUINO/README.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/README.md 2026-01-31 13:27:49.000000000 +0000 @@ -1,18 +1,18 @@ # wolfSSL with Arduino -See the [example sketches](./sketches/README.md): - -NOTE: Moving; See https://github.com/wolfSSL/wolfssl-examples/pull/499 +See the [example sketches](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino): Bare-bones templates: -- [sketches/wolfssl_version](./sketches/wolfssl_version/README.md) single file. -- [sketches/template](./sketches/template/README.md) multiple file example. +- [sketches/wolfssl_version](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_version/README.md) single file. +- [sketches/template](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/template/README.md) multiple file example. Functional examples: -- [sketches/wolfssl_AES_CTR](./sketches/wolfssl_AES_CTR/README.md) AES CTR Encrypt / decrypt. -- [sketches/wolfssl_client](./sketches/wolfssl_client/README.md) TLS Client. -- [sketches/wolfssl_server](./sketches/wolfssl_server/README.md) TLS Server. +- [sketches/wolfssl_AES_CTR](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_AES_CTR/README.md) AES CTR Encrypt / decrypt. +- [sketches/wolfssl_client](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_client/README.md) TLS Client. +- [sketches/wolfssl_server](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_server/README.md) TLS Server. +- [sketches/wolfssl_client_dtls](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_client_dtls/README.md) DTLS Client. +- [sketches/wolfssl_server_dtls](https://github.com/wolfSSL/wolfssl-examples/tree/master/Arduino/sketches/wolfssl_server_dtls/README.md) DTLS Server. Both the `template` and `wolfssl_AES_CTR` examples include VisualGDB project files. diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.cpp mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.cpp --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.cpp 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.cpp 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -25,9 +25,33 @@ /* Function to allow wolfcrypt to use Arduino Serial.print for debug messages. * See wolfssl/wolfcrypt/logging.c */ +#if defined(__AVR__) +#include /* Required for PROGMEM handling on AVR */ +#endif + int wolfSSL_Arduino_Serial_Print(const char* const s) { /* Reminder: Serial.print is only available in C++ */ - Serial.println(F(s)); + int is_progmem = 0; + +#if defined(__AVR__) + const char* t; + t = s; + + /* Safely check if `s` is in PROGMEM, 0x8000 is typical for AVR flash */ + if (reinterpret_cast(t) >= 0x8000) { + while (pgm_read_byte(t)) { + Serial.write(pgm_read_byte(t++)); + } + Serial.println(); + is_progmem = 1; + } +#endif + + /* Print normally for non-AVR boards or RAM-stored strings */ + if (!is_progmem) { + Serial.println(s); + } + return 0; }; diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.sh mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.sh --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.sh 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl-arduino.sh 2026-01-31 13:27:49.000000000 +0000 @@ -26,6 +26,9 @@ # The Arduino library include file is "wolfssl.h" (all lower case) # The Published wolfSSL Arduino Registry is at https://github.com/wolfSSL/Arduino-wolfSSL.git # See https://downloads.arduino.cc/libraries/logs/github.com/wolfSSL/Arduino-wolfSSL/ +# +echo "wolfssl-arduino.sh v5.8.2 rev B" + ROOT_DIR="/wolfssl" # The Arduino Version will initially have a suffix appended during fine tuning stage. @@ -70,18 +73,24 @@ exit 1 fi - -ARDUINO_ROOT="$HOME/Arduino/libraries" - -# Check environment -if [ -n "$WSL_DISTRO_NAME" ]; then - # we found a non-blank WSL environment distro name - current_path="$(pwd)" - pattern="/mnt/?" - if echo "$current_path" | grep -Eq "^$pattern"; then - # if we are in WSL and shared Windows file system, 'ln' does not work. - ARDUINO_ROOT="/mnt/c/Users/$USER/Documents/Arduino/libraries" +if [ "$ARDUINO_ROOT" = "" ]; then + echo "No ARDUINO_ROOT export... detecting..." + ARDUINO_ROOT="$HOME/Arduino/libraries" + + # Check environment + if [ -n "$WSL_DISTRO_NAME" ]; then + # we found a non-blank WSL environment distro name + echo "Found WSL: $WSL_DISTRO_NAME" + current_path="$(pwd)" + pattern="/mnt/?" + if echo "$current_path" | grep -Eq "^$pattern"; then + # if we are in WSL and shared Windows file system, 'ln' does not work. + ARDUINO_ROOT="/mnt/c/Users/$USER/Documents/Arduino/libraries" + echo "ARDUINO_ROOT set to $ARDUINO_ROOT" + fi fi +else + echo "Using export ARDUINO_ROOT" fi echo "The Arduino library root is: $ARDUINO_ROOT" @@ -173,7 +182,7 @@ if [ "$THIS_DIR" = "ARDUINO" ]; then # mkdir ./wolfssl if [ -d ".${ROOT_DIR}" ]; then - echo "ERROR: $(realpath ".${ROOT_DIR}") is not empty" + echo "ERROR: $(realpath ".${ROOT_DIR}") is not empty; failed prior install? Please remove." exit 1 else echo "Step 01: mkdir .${ROOT_DIR}" @@ -262,6 +271,12 @@ # Copy examples mkdir -p ".${ROOT_SRC_DIR}"/examples + EXAMPLES_DIR_REAL_PATH=$(realpath ".${EXAMPLES_DIR}") + echo "Source WOLFSSL_EXAMPLES_ROOT=$WOLFSSL_EXAMPLES_ROOT" + echo "Destination EXAMPLES_DIR=.${EXAMPLES_DIR}" + echo "EXAMPLES_DIR_REAL_PATH=${EXAMPLES_DIR_REAL_PATH}" + + # Only explicit source code is copied to the Arduino library. Edit with caution, no automation: if [ -n "$WOLFSSL_EXAMPLES_ROOT" ]; then echo "Copy template example...." mkdir -p ".${EXAMPLES_DIR}"/template/wolfssl_library/src @@ -274,26 +289,39 @@ echo "Copy wolfssl_AES_CTR example...." mkdir -p ".${EXAMPLES_DIR}"/wolfssl_AES_CTR - $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/wolfssl_AES_CTR.ino ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/wolfssl_AES_CTR.ino || exit 1 - $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/README.md ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/README.md || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/wolfssl_AES_CTR.ino ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/wolfssl_AES_CTR.ino || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_AES_CTR/README.md ".${EXAMPLES_DIR}"/wolfssl_AES_CTR/README.md || exit 1 echo "Copy wolfssl_client example...." mkdir -p ".${EXAMPLES_DIR}"/wolfssl_client - $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/wolfssl_client.ino ".${EXAMPLES_DIR}"/wolfssl_client/wolfssl_client.ino || exit 1 - $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/README.md ".${EXAMPLES_DIR}"/wolfssl_client/README.md || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/wolfssl_client.ino ".${EXAMPLES_DIR}"/wolfssl_client/wolfssl_client.ino || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client/README.md ".${EXAMPLES_DIR}"/wolfssl_client/README.md || exit 1 + + echo "Copy wolfssl_client_dtls example...." + mkdir -p ".${EXAMPLES_DIR}"/wolfssl_client_dtls + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client_dtls/wolfssl_client_dtls.ino ".${EXAMPLES_DIR}"/wolfssl_client_dtls/wolfssl_client_dtls.ino || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_client_dtls/README.md ".${EXAMPLES_DIR}"/wolfssl_client_dtls/README.md || exit 1 echo "Copy wolfssl_server example...." mkdir -p .${EXAMPLES_DIR}/wolfssl_server - $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/wolfssl_server.ino ".${EXAMPLES_DIR}"/wolfssl_server/wolfssl_server.ino || exit 1 - $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/README.md ".${EXAMPLES_DIR}"/wolfssl_server/README.md || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/wolfssl_server.ino ".${EXAMPLES_DIR}"/wolfssl_server/wolfssl_server.ino || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server/README.md ".${EXAMPLES_DIR}"/wolfssl_server/README.md || exit 1 + + echo "Copy wolfssl_server_dtls example...." + mkdir -p .${EXAMPLES_DIR}/wolfssl_server_dtls + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server_dtls/wolfssl_server_dtls.ino ".${EXAMPLES_DIR}"/wolfssl_server_dtls/wolfssl_server_dtls.ino || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_server_dtls/README.md ".${EXAMPLES_DIR}"/wolfssl_server_dtls/README.md || exit 1 echo "Copy wolfssl_version example...." mkdir -p .${EXAMPLES_DIR}/wolfssl_version - $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/wolfssl_version.ino ".${EXAMPLES_DIR}"/wolfssl_version/wolfssl_version.ino || exit 1 - $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/README.md ".${EXAMPLES_DIR}"/wolfssl_version/README.md || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/wolfssl_version.ino ".${EXAMPLES_DIR}"/wolfssl_version/wolfssl_version.ino || exit 1 + $CP_CMD "$WOLFSSL_EXAMPLES_ROOT"/Arduino/sketches/wolfssl_version/README.md ".${EXAMPLES_DIR}"/wolfssl_version/README.md || exit 1 else NO_ARDUINO_EXAMPLES=1 fi + echo "Examples copied to .${EXAMPLES_DIR}" + echo "ls ${EXAMPLES_DIR_REAL_PATH}" + ls "${EXAMPLES_DIR_REAL_PATH}" else echo "ERROR: You must be in the IDE/ARDUINO directory to run this script" exit 1 @@ -356,27 +384,39 @@ # Nearly an ordinary copy, but we remove any lines with ">>" (typically edit with caution warning in comments) grep -v '>>' ../../examples/configs/user_settings_arduino.h > ".${ROOT_SRC_DIR}"/user_settings.h || exit 1 - # Show the user_settings.h revision string: + echo "This user_settings.h revision string:" grep "WOLFSSL_USER_SETTINGS_ID" ."${ROOT_SRC_DIR}/user_settings.h" echo "" if [ "$THIS_INSTALL_IS_GITHUB" = "true" ]; then echo "Installing to GitHub directory: $THIS_INSTALL_DIR" - cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1 + cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1 echo "Removing workspace library directory: .$ROOT_DIR" - rm -rf ".$ROOT_DIR" + rm -rf ".$ROOT_DIR" || exit 1 else echo "Installing to local directory:" if [ "$THIS_INSTALL_DIR" = "" ]; then - echo "mv .$ROOT_DIR $ARDUINO_ROOT" - mv ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1 + if [ -n "$WSL_DISTRO_NAME" ]; then + # setfattr not installed by default + # echo "Set system.wsl_case_sensitive .$ROOT_DIR" + # setfattr -x system.wsl_case_sensitive .$ROOT_DIR + # + # use copy instead of move to avoid possible system.wsl_case_sensitive warnings + echo "cp -r .\"$ROOT_DIR\" \"$ARDUINO_ROOT\"" + cp -r ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1 + echo "rm -rf .\"$ROOT_DIR\"" + rm -rf ."$ROOT_DIR" || exit 1 + else + echo "mv .$ROOT_DIR $ARDUINO_ROOT" + mv ."$ROOT_DIR" "$ARDUINO_ROOT" || exit 1 + fi echo "Arduino wolfSSL Version: $WOLFSSL_VERSION$WOLFSSL_VERSION_ARUINO_SUFFIX" else echo "cp -r .\"$ROOT_DIR\"/* \"$THIS_INSTALL_DIR\"" - mkdir -p "$THIS_INSTALL_DIR" || exit 1 - cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1 + mkdir -p "$THIS_INSTALL_DIR" || exit 1 + cp -r ."$ROOT_DIR"/* "$THIS_INSTALL_DIR" || exit 1 fi fi fi diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ARDUINO/wolfssl.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/AURIX/Cpu0_Main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/Cpu0_Main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/AURIX/Cpu0_Main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/Cpu0_Main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/AURIX/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/AURIX/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/AURIX/wolf_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/wolf_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/AURIX/wolf_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/AURIX/wolf_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/CRYPTOCELL/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/deos_malloc.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/deos_malloc.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/deos_malloc.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/deos_malloc.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/tls_wolfssl.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/DEOS/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/client_wolfssl.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/server_wolfssl.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/wolfsslRunTests.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/wolfsslRunTests.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/wolfsslRunTests.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/MICRIUM/wolfsslRunTests.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/wolfssl_test.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/wolfssl_test.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/wolfssl_test.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ECLIPSE/RTTHREAD/wolfssl_test.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/UPDATE.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/UPDATE.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/UPDATE.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/UPDATE.md 2026-01-31 13:27:49.000000000 +0000 @@ -22,3 +22,4 @@ - Added optional `time_helper` for wolfssl_test - Exclude `ssl_misc.c` in component cmake to fix warning: #warning ssl_misc.c does not need to be compiled separately from ssl.c - Exclude `ssl_crypto.c` in component cmake to fix warning: #warning ssl_crypto.c does not need to be compiled separately from ssl.c +- Exclude `ssl_sk.c` in component cmake to fix warning: #warning ssl_sk.c does not need to be compiled separately from ssl.c diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_config_h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_config_h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_config_h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_config_h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_test_paths.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_test_paths.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_test_paths.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/dummy_test_paths.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -7,6 +7,19 @@ cmake_minimum_required(VERSION 3.16) +# For the main project using ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "Adding mlongcalls") + add_compile_options(-mlongcalls) + add_link_options(-mlongcalls) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls") + endif() +endif() + # Optional no watchdog typically used for test & benchmark if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1") @@ -144,5 +157,15 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake) +# Once the project is loaded, next check for ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "mlongcalls for all components") + idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND) + endif() +endif() + project(wolfssl_template) message(STATUS "end project") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -19,23 +19,62 @@ # # cmake for wolfssl Espressif projects # -# Version 5.7.2 Espressif ESP-IDF integration +# Version 5.8.0 Espressif ESP-IDF + PlatformIO integration (2) # # See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html # message(STATUS "Begin wolfssl ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") cmake_minimum_required(VERSION 3.16) +# The scope of this CMAKE_C_FLAGS is just this component: +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") + +set(CMAKE_CURRENT_SOURCE_DIR ".") + +# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: +# set(WOLFSSL_ROOT "c:/workspace/my_wolfssl" ) + +if ( "${WOLFSSL_ROOT}" STREQUAL "") + set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) +endif() + set(VERBOSE_COMPONENT_MESSAGES 1) # Optional requires include: # set(THIS_ESP_TLS "esp-tls") set(THIS_ESP_TLS "") +# LIBWOLFSSL_CMAKE_OUTPUT can be printed at runtime +set(LIBWOLFSSL_CMAKE_OUTPUT "") + + +if(CMAKE_BUILD_EARLY_EXPANSION) + message(STATUS "Skipping libwolfssl_output.h update during CMAKE_BUILD_EARLY_EXPANSION") +else() + # Initialize a new libwolfssl_output.h in the cmake build directory. + if( EXISTS "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + # The next WRITE replaces a file. + # This is here to remove any ambiguity on file removal & generation. + file(REMOVE "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + endif() + + file(WRITE "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "/* libwolfssl_output.h generated by wolfssl component */\n" + "#ifndef _LIBWOLFSSL_OUTPUT_H_\n" + "\n" + "#define _LIBWOLFSSL_OUTPUT_H_\n\n") +endif() + +# Append messages with: +# LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n"message" "0") +# See function: APPEND_LIBWOLFSSL_CMAKE_OUTPUT + # function: IS_ESP_IDF_COMPONENT # output: RESULT = 1 (true) if this component is located in the ESP-IDF components # otherwise 0 (false) -function( IS_ESP_IDF_COMPONENT RESULT ) +function( IS_ESP_IDF_COMPONENT + RESULT) # NOTE: Component location is based on the location of the CMakeList.txt # and *not* the location of the wolfSSL source code. (which may be anywhere) @@ -55,6 +94,96 @@ endif() endfunction() +# +# LIBWOLFSSL_SAVE_INFO(VAR_OUTPUT THIS_VAR VAR_RESULT) +# +# Save the THIS_VAR as a string in a macro called VAR_OUTPUT +# +# VAR_OUTPUT: the name of the macro to define +# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() +# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. +# +function ( LIBWOLFSSL_SAVE_INFO VAR_OUTPUT THIS_VAR VAR_RESULT ) + # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. + string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) + + # if we had a successful operation, save the THIS_VAR in VAR_OUTPUT + if(${IS_VALID_VALUE}) + + if(0) + # Optional debug + message(STATUS "Looking for LF in ${THIS_VAR}") + endif() + + # Check if the text to print in THIS_VAR is multi-line + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + list(LENGTH LINES LINE_COUNT) + + # Save var to "libwolfssl_output.h" header if multi-line, otherwise a simple compile def + if(LINE_COUNT GREATER 1) + message(STATUS "Setting HAVE_LIBWOLFSSL_OUTPUT_HEADER=1 for ${VAR_OUTPUT}") + add_compile_definitions(HAVE_LIBWOLFSSL_OUTPUT_HEADER=1) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#undef ${VAR_OUTPUT}\n") + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#define ${VAR_OUTPUT} \\\n") + + # Split into lines + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + foreach(LINE IN LISTS LINES) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\"${LINE}\\n\" \\\n") + endforeach() + + # Final empty line to close the macro + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\n") + + message(STATUS "COMPONENT_LIB=${COMPONENT_LIB}") + target_include_directories(${COMPONENT_LIB} PRIVATE "${CMAKE_BINARY_DIR}") + else() + message(STATUS "No HAS_LIBWOLFSSL_OUTPUT_HEADER") + # We should not have any, but just to be sure: + # Strip newline chars in THIS_VAR parameter and save in VAR_VALUE + string(REPLACE "\n" "" VAR_VALUE "${THIS_VAR}") + + # we'll could percolate the value to the parent for possible later use + # set(${VAR_OUTPUT} ${VAR_VALUE} PARENT_SCOPE) + + # but we're only using it here in this function + set(${VAR_OUTPUT} ${VAR_VALUE}) + + # we'll print what we found to the console + message(STATUS "Found ${VAR_OUTPUT}=${VAR_VALUE}") + + # the interesting part is defining the VAR_OUTPUT name a value to use in the app + add_compile_definitions(${VAR_OUTPUT}=\"${VAR_VALUE}\") + + endif() + else() + # if we get here, check the execute_process command and parameters. + message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") + set(${VAR_OUTPUT} "Unknown") + endif() + + +endfunction() # LIBWOLFSSL_SAVE_INFO + +# +# APPEND_LIBWOLFSSL_CMAKE_OUTPUT(THIS_MESSAGE OUTPUT_VALUE) +# +# Append the text in THIS_MESSAGE to LIBWOLFSSL_CMAKE_OUTPUT. +# String is available at runtime in app +# + +function( APPEND_LIBWOLFSSL_CMAKE_OUTPUT + THIS_MESSAGE ) + # Normally, we'd simply print a message: + message(STATUS "${THIS_MESSAGE}") + + # But here we'll pass the entire LIBWOLFSSL_CMAKE_OUTPUT as a string definition to the app + set(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n${THIS_MESSAGE}" PARENT_SCOPE) + + # We don't call LIBWOLFSSL_SAVE_INFO here as it would add duplicate definitions + # See single instance at the end of this file. +endfunction() + # Determine if this cmake file is located in the ESP-IDF component directory or not, # and if so, if it is being ignored (allowing the use of a local project one, instead). IS_ESP_IDF_COMPONENT( IS_WOLSSL_ESP_IDF_COMPONENT ) @@ -77,20 +206,6 @@ message(STATUS "Cleaned wolfssl path: ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") endif() -# The scope of this CMAKE_C_FLAGS is just this component: -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") - -set(CMAKE_CURRENT_SOURCE_DIR ".") -# set(COMPONENT_REQUIRES lwip) # we typically don't need lwip directly in wolfssl component - -# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: -# set(WOLFSSL_ROOT "c:/test/my_wolfssl" ) - -if ( "${WOLFSSL_ROOT}" STREQUAL "") - set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) -endif() - if( "$ENV{IDF_PATH}" STREQUAL "" ) message(FATAL_ERROR "IDF_PATH Environment variable not set!") else() @@ -185,7 +300,9 @@ # Check environment variable name EVARPARAM as [name] # If defined, and has a value of EVARVALUE as [value], # then assign a compiler definition "-D[name]=[value]" -function(ENVIRONMENT_VAR_TO_MACRO EVARPARAM EVARVALUE) +function( ENVIRONMENT_VAR_TO_MACRO + EVARPARAM # Environment variable parameter name + EVARVALUE) # Environment variable value # If the EVARPARAM environment variable name is set to EVARVALUE, # set the compiler flag definition to enable CSV output. if ( "$ENV{${EVARPARAM}}" STREQUAL "${EVARVALUE}") @@ -217,7 +334,8 @@ # function: IS_WOLFSSL_SOURCE # parameter: DIRECTORY_PARAMETER - the directory to test # output: RESULT = contains contents of DIRECTORY_PARAMETER for wolfssl directory, otherwise blank. -function( IS_WOLFSSL_SOURCE DIRECTORY_PARAMETER +function( IS_WOLFSSL_SOURCE + DIRECTORY_PARAMETER RESULT ) if (EXISTS "${DIRECTORY_PARAMETER}/wolfcrypt/src") set(${RESULT} "${DIRECTORY_PARAMETER}" PARENT_SCOPE) @@ -233,7 +351,8 @@ # Example usage: # FIND_WOLFSSL_DIRECTORY(WOLFSSL_ROOT) # ********************************************************************************************* -function(FIND_WOLFSSL_DIRECTORY OUTPUT_FOUND_WOLFSSL_DIRECTORY) +function( FIND_WOLFSSL_DIRECTORY + OUTPUT_FOUND_WOLFSSL_DIRECTORY) message(STATUS "Starting FIND_WOLFSSL_DIRECTORY: ${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}") if ( "${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}" STREQUAL "" ) @@ -673,9 +792,9 @@ # depending on the environment, we may need to swap backslashes with forward slashes string(REPLACE "\\" "/" RTOS_IDF_PATH "$ENV{IDF_PATH}/components/freertos/FreeRTOS-Kernel/include/freertos") - if(WOLFSSL_ROOT) - string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) - endif() + if(WOLFSSL_ROOT) + string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) + endif() if(IS_DIRECTORY "${RTOS_IDF_PATH}") message(STATUS "Found current RTOS path: ${RTOS_IDF_PATH}") @@ -726,6 +845,7 @@ "\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c + "\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/x509.c\"" "\"${WOLFSSL_ROOT}/src/x509_str.c\"" "\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default @@ -789,16 +909,35 @@ AND NOT CONFIG_WOLFSSL_CERTIFICATE_BUNDLE_DEFAULT_NONE AND NOT ("${CONFIG_TARGET_PLATFORM}" STREQUAL "esp8266") ) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("wolfSSL Certificate Bundles Enabled") + if (CMAKE_BUILD_EARLY_EXPANSION) - message(ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") + message(FATAL_ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") endif() # reminder: we need a value for wolfSSL root first! if( "${WOLFSSL_ROOT}" STREQUAL "" ) - message(ERROR "Certificate bundles need a value for WOLFSSL_ROOT") + message(FATAL_ERROR "Certificate bundles need a value for WOLFSSL_ROOT") endif() + + # Cert bundle in wolfSSL source unless otherwise specified later set(WOLFSSL_ESP_CRT_BUNDLE_DIR ${WOLFSSL_ROOT}/wolfcrypt/src/port/Espressif/esp_crt_bundle) message(STATUS "WOLFSSL_ESP_CRT_BUNDLE_DIR=${WOLFSSL_ESP_CRT_BUNDLE_DIR}") - if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + + if(DEFINED ENV{PLATFORMIO_PROJECT_DIR}) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO") + set(IS_PLATFORMIO 1) + else() + # Some environments may not have environment variable, so double check if we are in .pio + if("${CMAKE_BINARY_DIR}" MATCHES "/\\.pio/") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO via CMAKE_BINARY_DIR") + set(IS_PLATFORMIO 1) + else() + set(IS_PLATFORMIO 0) + endif() + endif() + + if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}" OR IS_PLATFORMIO) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Special processing for wolfSSL Certificate Bundles") set(bundle_name "x509_crt_bundle_wolfssl") # For now the certs are in the same directory @@ -824,9 +963,9 @@ get_filename_component(custom_bundle_path ${CONFIG_WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH} ABSOLUTE BASE_DIR "${project_dir}") list(APPEND crt_paths ${custom_bundle_path}) - message(STATUS "Using a custom wolfSSL bundle path: ${custom_bundle_path}") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Using a custom wolfSSL bundle path: ${custom_bundle_path}") else() - message(STATUS "Not using a custom wolfSSL bundle path.") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Not using a custom wolfSSL bundle path") endif() list(APPEND args --input ${crt_paths} -q) @@ -843,25 +982,107 @@ message(STATUS "args ${args}") message(STATUS "cert_bundle ${cert_bundle}") - # Generate bundle according to config - # File is generated at build time, not cmake load - add_custom_command(OUTPUT ${crt_bundle} - COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} - DEPENDS ${custom_bundle_path} - VERBATIM) + if (IS_PLATFORMIO) + # PlatformIO cannot generate a Certificate Bundle at build time + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("PlatformIO is using a predefined bundle rather than generating one") + + if ( "${WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "n") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Alternate Certificate Bundle Path and Name not enabled, assuming [project]/certs/x509_crt_bundle_wolfssl") + # Reminder this CMakeLists.txt should be in [project]/components/wolfssl, so ./certs is two directories up + set(crt_bundle_option "../../certs/x509_crt_bundle_wolfssl") + else() + string(SUBSTRING "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" 0 2 CERT_PATH_FIRST_TWO) + if(CERT_PATH_FIRST_TWO STREQUAL "./" OR CERT_PATH_FIRST_TWO STREQUAL ".\\") + set(IS_CERT_BUNDLE_RELATIVE_PATH 1) + message(STATUS "Alternate Cert Path is relative to project.") + else() + set(IS_CERT_BUNDLE_RELATIVE_PATH 0) + message(STATUS "Alternate Cert Path is not relative to project.") + endif() + + # The cert bundle is not a standard cert, so we con't add to the crt_paths. + # Still, we may have an alternate location, particulatly needed for PlatformIO: + if(IS_CERT_BUNDLE_RELATIVE_PATH) + message(STATUS "CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME = ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Relative alternate_bundle_path: ${alternate_bundle_path}") + + SET(crt_bundle_option "${CMAKE_SOURCE_DIR}/${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + else() + message(STATUS "alternate_bundle_path: ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Not using an alternate wolfSSL bundle file.") + SET(crt_bundle_option "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + endif() + endif() + + # Clean the path, removing any extra "./" etc. + # Number of spaces in message strings is to align path value outputs + message(STATUS "This crt_bundle_option value: ${crt_bundle_option}") + if(${CMAKE_VERSION} VERSION_LESS "3.19") + message("WARNING: CMake version is ${CMAKE_VERSION} ? file(REAL_PATH ...) is not supported. Falling back to manual path normalization.") + # optional fallback logic here + get_filename_component(crt_bundle_file_component "${crt_bundle_option}" ABSOLUTE) + message(STATUS "Interim crt_bundle_file_component: ${crt_bundle_file_component}") + file(TO_CMAKE_PATH "${crt_bundle_file_component}" crt_bundle) + message(STATUS "TO_CMAKE_PATH crt_bundle result: ${crt_bundle}") + # set(crt_bundle "C:/workspace/pio_wolfssl-upstream-test-wolfssl_cert_bundle/esp32-c6/certs/x509_crt_bundle_wolfssl") + else() + file(REAL_PATH "${crt_bundle_option}" crt_bundle) + endif() + + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Certificate Bundle: ${crt_bundle}") + message(STATUS "This cleaned crt_bundle value: ${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + message(STATUS "Reminder: platformio.ini will need this value set for board_build.embed_files =") + message(STATUS "${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + + # e.g. SET(crt_bundle "C:/workspace/pio_wolfssl/esp32-c6/certs/x509_crt_bundle_wolfssl") + # - if(EXISTS "${crt_bundle}") - message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + # Normally x509_crt_bundle_wolfssl built by python script called from cmake. + # See https://github.com/wolfSSL/wolfssl/blob/master/wolfcrypt/src/port/Espressif/esp_crt_bundle/gen_crt_bundle.py + # Reminder ESP-IDF scripts are NOT called from CMake for PlatformIO builds. + # + # The easiest way to generate the default file is to build with ESP-IDF and copy the files to [project]/main + # + # for example: + # build\VisualGDB\Debug\x509_crt_bundle_wolfssl.s + # build\VisualGDB\Debug\esp-idf\wolfssl\x509_crt_bundle_wolfssl + # + message(STATUS "Confirming cert bundle exists...") + if(EXISTS "${crt_bundle}") + # Number of spaces is to align path value outputs + message(STATUS "Bundle file found for PlatformIO: ${crt_bundle}") + else() + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("ERROR: Failed to find bundle file found for PlatformIO: ${crt_bundle}") + message(STATUS "Check for entry in platformio.ini: board_build.embed_files = certs/x509_crt_bundle_wolfssl ") + message(FATAL_ERROR "WOLFSSL_CERTIFICATE_BUNDLE is enabled for PlatformIO, but predefined file not found: ${crt_bundle}") + endif() else() - message(STATUS "Bundle file expected during next build: ${crt_bundle}") - endif() + # APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Generate bundle: ${GENERATE_CERT_BUNDLEPY} ${args}") + # Not PlatformIO + # Generate bundle according to config + # File is generated at build time, not cmake load + add_custom_command(OUTPUT ${crt_bundle} + COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} + DEPENDS ${custom_bundle_path} + VERBATIM) - # Reminder the file is generated at build time, not cmake load time. - message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + if(EXISTS "${crt_bundle}") + message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + else() + message(STATUS "Bundle file expected during next build: ${crt_bundle}") + endif() - add_custom_target(custom_wolfssl_bundle DEPENDS ${cert_bundle}) + # Reminder the file is generated at build time, not cmake load time. + message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + endif() + + add_custom_target(custom_wolfssl_bundle DEPENDS ${crt_bundle}) - # the wolfSSL crtificate bundle is baked into wolfSSL + # the wolfSSL certificate bundle is baked into wolfSSL add_dependencies(${COMPONENT_LIB} custom_wolfssl_bundle) # COMPONENT_LIB may vary: __idf_wolfssl, __idf_esp_wolfssl, etc @@ -871,7 +1092,12 @@ APPEND PROPERTY ADDITIONAL_CLEAN_FILES "${crt_bundle}") else() - message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + if(IS_PLATFORMIO) + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but cannot be generated in PlatformmIO") + else() + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + endif() + message(FATAL_ERROR "not detected") endif() endif() @@ -930,42 +1156,6 @@ # end multiple component check -# -# LIBWOLFSSL_SAVE_INFO(VAR_OUPUT THIS_VAR VAR_RESULT) -# -# Save the THIS_VAR as a string in a macro called VAR_OUPUT -# -# VAR_OUPUT: the name of the macro to define -# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() -# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. -# -function ( LIBWOLFSSL_SAVE_INFO VAR_OUPUT THIS_VAR VAR_RESULT ) - # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. - string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) - - # if we had a successful operation, save the THIS_VAR in VAR_OUPUT - if(${IS_VALID_VALUE}) - # strip newline chars in THIS_VAR parameter and save in VAR_VALUE - string(REPLACE "\n" "" VAR_VALUE ${THIS_VAR}) - - # we'll could percolate the value to the parent for possible later use - # set(${VAR_OUPUT} ${VAR_VALUE} PARENT_SCOPE) - - # but we're only using it here in this function - set(${VAR_OUPUT} ${VAR_VALUE}) - - # we'll print what we found to the console - message(STATUS "Found ${VAR_OUPUT}=${VAR_VALUE}") - - # the interesting part is defining the VAR_OUPUT name a value to use in the app - add_compile_definitions(${VAR_OUPUT}=\"${VAR_VALUE}\") - else() - # if we get here, check the execute_process command and parameters. - message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") - set(${VAR_OUPUT} "Unknown") - endif() -endfunction() # LIBWOLFSSL_SAVE_INFO - execute_process( COMMAND ${git_cmd} "rev-parse" "--is-inside-work-tree" OUTPUT_VARIABLE IS_GIT_REPO @@ -1049,6 +1239,14 @@ message(STATUS "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") endif() +# A single instance of potentially multiple cmake messages to send to app: +message(STATUS "LIBWOLFSSL_CMAKE_OUTPUT: ${LIBWOLFSSL_CMAKE_OUTPUT}") +LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}" "0") + +file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "\n" + "#endif\n" ) + message(STATUS "************************************************************************************************") message(STATUS "wolfSSL component config complete!") message(STATUS "************************************************************************************************") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/Kconfig mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/Kconfig --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/Kconfig 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/Kconfig 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -274,10 +274,28 @@ bool "Do not use the default certificate bundle" endchoice + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE + depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + default n + bool "Use alternate certificate bundle" + help + Typically only used for PlatformIO which cannot generate a certificate bundle at build time. + Enable this option to specify a fixed wolfSSL certificate file path and file name. + + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME + depends on WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + string "Default certificate bundle alternate path and name" + default "./certs/x509_crt_bundle_wolfssl" + help + Name of the default certificate bundle directory. Typically used only with PlatformIO. + Reminder PlatformIO cannot generate a bundle from cmake python script call. Relative + paths are with respect to root of this project. + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL default n bool "Add custom certificates to the default bundle" + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH depends on WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL string "Custom certificate bundle path" @@ -401,24 +419,25 @@ when performance is critical. See also metrics for counting instances. endmenu # wolfSSL Hardware Acceleration + # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- - menu "wolfSSL Experimental Options" + menu "wolfSSL Post Quantum Kyber KEM PQ" - config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS - bool "Enable wolfSSL Experimental Settings" + config ESP_WOLFSSL_ENABLE_MLKEM + bool "Enable ML-KEM (Kyber Post Quantum)" default n help - Enables experimental settings for wolfSSL. See documentation. + bool "Enable wolfSSL ML-KEM" - config ESP_WOLFSSL_ENABLE_KYBER - bool "Enable wolfSSL Kyber" + config WOLFSSL_ENABLE_KYBER + bool "Enable Kyber (Round 3)" default n help - Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + Enable old compatibility with Kyber Round 3 (enables experimental settings) - endmenu # wolfSSL Experimental Options + endmenu # wolfSSL Post Quantum Kyber KEM PQ # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- @@ -429,12 +448,23 @@ help Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + config ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING + bool "Suppress build-time warnings for main stack size" + default n + help + Useful only when wolfSSL is running in main task. See FreeRTOS stack size for custom tasks. + config ESP_WOLFSSL_TEST_LOOP bool "Run test apps in a loop until failure" default y help Enable a loop wrapper for benchmark, http_client, and wolfssl test apps. + config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS + bool "Enable wolfSSL Experimental Settings" + default n + help + Enables experimental settings for wolfSSL. See documentation. endmenu # wolfSSL Debug Options # ----------------------------------------------------------------------------------------------------------------- diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/README.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/README.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/README.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/README.md 2026-01-31 13:27:49.000000000 +0000 @@ -154,7 +154,7 @@ ## Licensing and Support -wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv2 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv2 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. +wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv3 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv3 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. See the LICENSE.txt, visit wolfssl.com/license, contact us at licensing@wolfssl.com or call +1 425 245 8247 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/component.mk mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/component.mk --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/component.mk 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/component.mk 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/include/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/include/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/include/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/include/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -30,7 +30,7 @@ /* This user_settings.h is for Espressif ESP-IDF * - * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1 + * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs * * Do not include any wolfssl headers here. * @@ -110,6 +110,7 @@ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ /* #define USE_WOLFSSL_ESP_SDK_WIFI */ #define TEST_ESPIDF_ALL_WOLFSSL + #define HAVE_HKDF #elif defined(CONFIG_WOLFSSL_EXAMPLE_NAME_BENCHMARK) /* See https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark */ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ @@ -208,18 +209,40 @@ /* the code is older or does not have application name defined. */ #endif /* Example wolfSSL Configuration app settings */ -/* Experimental Kyber */ -#ifdef CONFIG_WOLFSSL_ENABLE_KYBER +/* Optional MLKEM (Kyber Post Quantum) */ +/* ./configure --enable-mlkem */ +/* See Kconfig / menuconfig ESP_WOLFSSL_ENABLE_MLKEM */ +#ifdef CONFIG_ESP_WOLFSSL_ENABLE_MLKEM /* Kyber typically needs a minimum 10K stack */ - #define WOLFSSL_EXPERIMENTAL_SETTINGS #define WOLFSSL_HAVE_MLKEM #define WOLFSSL_WC_MLKEM - #define WOLFSSL_SHA3 + #define WOLFSSL_SHAKE128 + #define WOLFSSL_SHAKE256 + + /* Old code points to keep compatibility with Kyber Round 3. */ + /* ./configure --enable-kyber=all --enable-experimental */ + #if defined(CONFIG_WOLFSSL_ENABLE_KYBER) + #define WOLFSSL_MLKEM_KYBER + #define WOLFSSL_EXPERIMENTAL_SETTINGS + #endif + #if defined(CONFIG_IDF_TARGET_ESP8266) /* With limited RAM, we'll disable some of the Kyber sizes: */ #define WOLFSSL_NO_KYBER1024 #define WOLFSSL_NO_KYBER768 + #define WOLFSSL_NO_ML_KEM_1024 + #define WOLFSSL_NO_ML_KEM_768 #define NO_SESSION_CACHE + #else + /* Only needed for older wolfssl versions, see mlkem.h */ + #define WOLFSSL_KYBER1024 + /* optional alternative sizes: */ + /* #define WOLFSSL_KYBER768 */ + /* #define WOLFSSL_KYBER512 */ + /* -- or disable a specific one: */ + /* #define WOLFSSL_NO_ML_KEM_1024 */ + /* #define WOLFSSL_NO_ML_KEM_768 */ + /* #define WOLFSSL_NO_ML_KEM_512 */ #endif #endif @@ -234,11 +257,6 @@ #define WOLFSSL_AES_DIRECT #endif -/* Pick a cert buffer size: */ -/* #define USE_CERT_BUFFERS_2048 */ -/* #define USE_CERT_BUFFERS_1024 */ -#define USE_CERT_BUFFERS_2048 - /* The Espressif sdkconfig will have chipset info. ** ** Some possible values: @@ -354,10 +372,6 @@ /* #define DEBUG_WOLFSSL */ #define DEBUG_WOLFSSL_MALLOC -/* See test.c that sets cert buffers; we'll set them here: */ -#define USE_CERT_BUFFERS_256 -#define USE_CERT_BUFFERS_2048 - /* RSA_LOW_MEM: Half as much memory but twice as slow. */ #define RSA_LOW_MEM @@ -531,7 +545,7 @@ /* Adjust wait-timeout count if you see timeout in RSA HW acceleration. * Set to very large number and enable WOLFSSL_HW_METRICS to determine max. */ #ifndef ESP_RSA_TIMEOUT_CNT - #define ESP_RSA_TIMEOUT_CNT 0xFF0000 + #define ESP_RSA_TIMEOUT_CNT 0xFF0000 #endif /* hash limit for test.c */ @@ -559,8 +573,6 @@ defined(WOLFSSL_SP_RISCV32) #endif -#define WOLFSSL_SMALL_STACK - #define HAVE_VERSION_EXTENDED_INFO /* #define HAVE_WC_INTROSPECTION */ @@ -657,9 +669,6 @@ #undef HAVE_AESGCM #define HAVE_AESGCM -#else - /* default settings */ - #define USE_CERT_BUFFERS_2048 #endif /* Chipset detection from sdkconfig.h @@ -783,6 +792,15 @@ #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI /***** END CONFIG_IDF_TARGET_ESP32H2 *****/ +#elif defined(CONFIG_IDF_TARGET_ESP32P4) + #define WOLFSSL_ESP32 + /* wolfSSL Hardware Acceleration not yet implemented */ + #define NO_ESP32_CRYPT + #define NO_WOLFSSL_ESP32_CRYPT_HASH + #define NO_WOLFSSL_ESP32_CRYPT_AES + #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI + /***** END CONFIG_IDF_TARGET_ESP32P4 *****/ + #elif defined(CONFIG_IDF_TARGET_ESP8266) #define WOLFSSL_ESP8266 @@ -823,13 +841,18 @@ #ifndef NO_RSA #define ESP32_USE_RSA_PRIMITIVE - #if defined(CONFIG_IDF_TARGET_ESP32) - #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + /* See idf.py menuconfig for stack warning settings */ + #if !defined(CONFIG_ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING) #if CONFIG_ESP_MAIN_TASK_STACK_SIZE < 10500 - #warning "RSA may be difficult with less than 10KB Stack "/ + #warning "RSA may be difficult with less than 10KB Stack" #endif + #else + /* Implement your own stack warning here */ #endif + #endif + #if defined(CONFIG_IDF_TARGET_ESP32) /* NOTE HW unreliable for small values! */ /* threshold for performance adjustment for HW primitive use */ /* X bits of G^X mod P greater than */ @@ -926,6 +949,8 @@ #define ATCA_WOLFSSL */ +/* optional SM4 Ciphers. See github.com/wolfSSL/wolfsm */ + /***************************** Certificate Macros ***************************** * * The section below defines macros used in typically all of the wolfSSL @@ -1017,9 +1042,13 @@ #define WOLFSSL_BASE16 #else #if defined(USE_CERT_BUFFERS_2048) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_1024 + #error "USE_CERT_BUFFERS_1024 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_2048 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1039,9 +1068,13 @@ #define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #elif defined(USE_CERT_BUFFERS_1024) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_2048 + #error "USE_CERT_BUFFERS_2048 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_1024 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1061,7 +1094,6 @@ #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #else /* Optionally define custom cert arrays, sizes, and types here */ - #error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024" #endif #endif /* Conditional key and cert constant names */ diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/Kconfig.projbuild mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/Kconfig.projbuild --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/Kconfig.projbuild 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/Kconfig.projbuild 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/include/main.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/include/main.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/include/main.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/include/main.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/template/main/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -7,6 +7,19 @@ cmake_minimum_required(VERSION 3.16) +# For the main project using ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "Adding mlongcalls") + add_compile_options(-mlongcalls) + add_link_options(-mlongcalls) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls") + endif() +endif() + # Optional no watchdog typically used for test & benchmark if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1") @@ -144,5 +157,15 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake) +# Once the project is loaded, next check for ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "mlongcalls for all components") + idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND) + endif() +endif() + project(wolfssl_benchmark) message(STATUS "end project") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -19,23 +19,62 @@ # # cmake for wolfssl Espressif projects # -# Version 5.7.2 Espressif ESP-IDF integration +# Version 5.8.0 Espressif ESP-IDF + PlatformIO integration (2) # # See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html # message(STATUS "Begin wolfssl ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") cmake_minimum_required(VERSION 3.16) +# The scope of this CMAKE_C_FLAGS is just this component: +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") + +set(CMAKE_CURRENT_SOURCE_DIR ".") + +# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: +# set(WOLFSSL_ROOT "c:/workspace/my_wolfssl" ) + +if ( "${WOLFSSL_ROOT}" STREQUAL "") + set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) +endif() + set(VERBOSE_COMPONENT_MESSAGES 1) # Optional requires include: # set(THIS_ESP_TLS "esp-tls") set(THIS_ESP_TLS "") +# LIBWOLFSSL_CMAKE_OUTPUT can be printed at runtime +set(LIBWOLFSSL_CMAKE_OUTPUT "") + + +if(CMAKE_BUILD_EARLY_EXPANSION) + message(STATUS "Skipping libwolfssl_output.h update during CMAKE_BUILD_EARLY_EXPANSION") +else() + # Initialize a new libwolfssl_output.h in the cmake build directory. + if( EXISTS "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + # The next WRITE replaces a file. + # This is here to remove any ambiguity on file removal & generation. + file(REMOVE "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + endif() + + file(WRITE "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "/* libwolfssl_output.h generated by wolfssl component */\n" + "#ifndef _LIBWOLFSSL_OUTPUT_H_\n" + "\n" + "#define _LIBWOLFSSL_OUTPUT_H_\n\n") +endif() + +# Append messages with: +# LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n"message" "0") +# See function: APPEND_LIBWOLFSSL_CMAKE_OUTPUT + # function: IS_ESP_IDF_COMPONENT # output: RESULT = 1 (true) if this component is located in the ESP-IDF components # otherwise 0 (false) -function( IS_ESP_IDF_COMPONENT RESULT ) +function( IS_ESP_IDF_COMPONENT + RESULT) # NOTE: Component location is based on the location of the CMakeList.txt # and *not* the location of the wolfSSL source code. (which may be anywhere) @@ -55,6 +94,96 @@ endif() endfunction() +# +# LIBWOLFSSL_SAVE_INFO(VAR_OUTPUT THIS_VAR VAR_RESULT) +# +# Save the THIS_VAR as a string in a macro called VAR_OUTPUT +# +# VAR_OUTPUT: the name of the macro to define +# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() +# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. +# +function ( LIBWOLFSSL_SAVE_INFO VAR_OUTPUT THIS_VAR VAR_RESULT ) + # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. + string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) + + # if we had a successful operation, save the THIS_VAR in VAR_OUTPUT + if(${IS_VALID_VALUE}) + + if(0) + # Optional debug + message(STATUS "Looking for LF in ${THIS_VAR}") + endif() + + # Check if the text to print in THIS_VAR is multi-line + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + list(LENGTH LINES LINE_COUNT) + + # Save var to "libwolfssl_output.h" header if multi-line, otherwise a simple compile def + if(LINE_COUNT GREATER 1) + message(STATUS "Setting HAVE_LIBWOLFSSL_OUTPUT_HEADER=1 for ${VAR_OUTPUT}") + add_compile_definitions(HAVE_LIBWOLFSSL_OUTPUT_HEADER=1) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#undef ${VAR_OUTPUT}\n") + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#define ${VAR_OUTPUT} \\\n") + + # Split into lines + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + foreach(LINE IN LISTS LINES) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\"${LINE}\\n\" \\\n") + endforeach() + + # Final empty line to close the macro + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\n") + + message(STATUS "COMPONENT_LIB=${COMPONENT_LIB}") + target_include_directories(${COMPONENT_LIB} PRIVATE "${CMAKE_BINARY_DIR}") + else() + message(STATUS "No HAS_LIBWOLFSSL_OUTPUT_HEADER") + # We should not have any, but just to be sure: + # Strip newline chars in THIS_VAR parameter and save in VAR_VALUE + string(REPLACE "\n" "" VAR_VALUE "${THIS_VAR}") + + # we'll could percolate the value to the parent for possible later use + # set(${VAR_OUTPUT} ${VAR_VALUE} PARENT_SCOPE) + + # but we're only using it here in this function + set(${VAR_OUTPUT} ${VAR_VALUE}) + + # we'll print what we found to the console + message(STATUS "Found ${VAR_OUTPUT}=${VAR_VALUE}") + + # the interesting part is defining the VAR_OUTPUT name a value to use in the app + add_compile_definitions(${VAR_OUTPUT}=\"${VAR_VALUE}\") + + endif() + else() + # if we get here, check the execute_process command and parameters. + message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") + set(${VAR_OUTPUT} "Unknown") + endif() + + +endfunction() # LIBWOLFSSL_SAVE_INFO + +# +# APPEND_LIBWOLFSSL_CMAKE_OUTPUT(THIS_MESSAGE OUTPUT_VALUE) +# +# Append the text in THIS_MESSAGE to LIBWOLFSSL_CMAKE_OUTPUT. +# String is available at runtime in app +# + +function( APPEND_LIBWOLFSSL_CMAKE_OUTPUT + THIS_MESSAGE ) + # Normally, we'd simply print a message: + message(STATUS "${THIS_MESSAGE}") + + # But here we'll pass the entire LIBWOLFSSL_CMAKE_OUTPUT as a string definition to the app + set(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n${THIS_MESSAGE}" PARENT_SCOPE) + + # We don't call LIBWOLFSSL_SAVE_INFO here as it would add duplicate definitions + # See single instance at the end of this file. +endfunction() + # Determine if this cmake file is located in the ESP-IDF component directory or not, # and if so, if it is being ignored (allowing the use of a local project one, instead). IS_ESP_IDF_COMPONENT( IS_WOLSSL_ESP_IDF_COMPONENT ) @@ -77,20 +206,6 @@ message(STATUS "Cleaned wolfssl path: ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") endif() -# The scope of this CMAKE_C_FLAGS is just this component: -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") - -set(CMAKE_CURRENT_SOURCE_DIR ".") -# set(COMPONENT_REQUIRES lwip) # we typically don't need lwip directly in wolfssl component - -# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: -# set(WOLFSSL_ROOT "c:/test/my_wolfssl" ) - -if ( "${WOLFSSL_ROOT}" STREQUAL "") - set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) -endif() - if( "$ENV{IDF_PATH}" STREQUAL "" ) message(FATAL_ERROR "IDF_PATH Environment variable not set!") else() @@ -185,7 +300,9 @@ # Check environment variable name EVARPARAM as [name] # If defined, and has a value of EVARVALUE as [value], # then assign a compiler definition "-D[name]=[value]" -function(ENVIRONMENT_VAR_TO_MACRO EVARPARAM EVARVALUE) +function( ENVIRONMENT_VAR_TO_MACRO + EVARPARAM # Environment variable parameter name + EVARVALUE) # Environment variable value # If the EVARPARAM environment variable name is set to EVARVALUE, # set the compiler flag definition to enable CSV output. if ( "$ENV{${EVARPARAM}}" STREQUAL "${EVARVALUE}") @@ -217,7 +334,8 @@ # function: IS_WOLFSSL_SOURCE # parameter: DIRECTORY_PARAMETER - the directory to test # output: RESULT = contains contents of DIRECTORY_PARAMETER for wolfssl directory, otherwise blank. -function( IS_WOLFSSL_SOURCE DIRECTORY_PARAMETER +function( IS_WOLFSSL_SOURCE + DIRECTORY_PARAMETER RESULT ) if (EXISTS "${DIRECTORY_PARAMETER}/wolfcrypt/src") set(${RESULT} "${DIRECTORY_PARAMETER}" PARENT_SCOPE) @@ -233,7 +351,8 @@ # Example usage: # FIND_WOLFSSL_DIRECTORY(WOLFSSL_ROOT) # ********************************************************************************************* -function(FIND_WOLFSSL_DIRECTORY OUTPUT_FOUND_WOLFSSL_DIRECTORY) +function( FIND_WOLFSSL_DIRECTORY + OUTPUT_FOUND_WOLFSSL_DIRECTORY) message(STATUS "Starting FIND_WOLFSSL_DIRECTORY: ${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}") if ( "${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}" STREQUAL "" ) @@ -673,9 +792,9 @@ # depending on the environment, we may need to swap backslashes with forward slashes string(REPLACE "\\" "/" RTOS_IDF_PATH "$ENV{IDF_PATH}/components/freertos/FreeRTOS-Kernel/include/freertos") - if(WOLFSSL_ROOT) - string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) - endif() + if(WOLFSSL_ROOT) + string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) + endif() if(IS_DIRECTORY "${RTOS_IDF_PATH}") message(STATUS "Found current RTOS path: ${RTOS_IDF_PATH}") @@ -726,6 +845,7 @@ "\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c + "\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/x509.c\"" "\"${WOLFSSL_ROOT}/src/x509_str.c\"" "\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default @@ -789,16 +909,35 @@ AND NOT CONFIG_WOLFSSL_CERTIFICATE_BUNDLE_DEFAULT_NONE AND NOT ("${CONFIG_TARGET_PLATFORM}" STREQUAL "esp8266") ) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("wolfSSL Certificate Bundles Enabled") + if (CMAKE_BUILD_EARLY_EXPANSION) - message(ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") + message(FATAL_ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") endif() # reminder: we need a value for wolfSSL root first! if( "${WOLFSSL_ROOT}" STREQUAL "" ) - message(ERROR "Certificate bundles need a value for WOLFSSL_ROOT") + message(FATAL_ERROR "Certificate bundles need a value for WOLFSSL_ROOT") endif() + + # Cert bundle in wolfSSL source unless otherwise specified later set(WOLFSSL_ESP_CRT_BUNDLE_DIR ${WOLFSSL_ROOT}/wolfcrypt/src/port/Espressif/esp_crt_bundle) message(STATUS "WOLFSSL_ESP_CRT_BUNDLE_DIR=${WOLFSSL_ESP_CRT_BUNDLE_DIR}") - if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + + if(DEFINED ENV{PLATFORMIO_PROJECT_DIR}) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO") + set(IS_PLATFORMIO 1) + else() + # Some environments may not have environment variable, so double check if we are in .pio + if("${CMAKE_BINARY_DIR}" MATCHES "/\\.pio/") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO via CMAKE_BINARY_DIR") + set(IS_PLATFORMIO 1) + else() + set(IS_PLATFORMIO 0) + endif() + endif() + + if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}" OR IS_PLATFORMIO) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Special processing for wolfSSL Certificate Bundles") set(bundle_name "x509_crt_bundle_wolfssl") # For now the certs are in the same directory @@ -824,9 +963,9 @@ get_filename_component(custom_bundle_path ${CONFIG_WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH} ABSOLUTE BASE_DIR "${project_dir}") list(APPEND crt_paths ${custom_bundle_path}) - message(STATUS "Using a custom wolfSSL bundle path: ${custom_bundle_path}") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Using a custom wolfSSL bundle path: ${custom_bundle_path}") else() - message(STATUS "Not using a custom wolfSSL bundle path.") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Not using a custom wolfSSL bundle path") endif() list(APPEND args --input ${crt_paths} -q) @@ -843,25 +982,107 @@ message(STATUS "args ${args}") message(STATUS "cert_bundle ${cert_bundle}") - # Generate bundle according to config - # File is generated at build time, not cmake load - add_custom_command(OUTPUT ${crt_bundle} - COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} - DEPENDS ${custom_bundle_path} - VERBATIM) + if (IS_PLATFORMIO) + # PlatformIO cannot generate a Certificate Bundle at build time + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("PlatformIO is using a predefined bundle rather than generating one") + + if ( "${WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "n") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Alternate Certificate Bundle Path and Name not enabled, assuming [project]/certs/x509_crt_bundle_wolfssl") + # Reminder this CMakeLists.txt should be in [project]/components/wolfssl, so ./certs is two directories up + set(crt_bundle_option "../../certs/x509_crt_bundle_wolfssl") + else() + string(SUBSTRING "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" 0 2 CERT_PATH_FIRST_TWO) + if(CERT_PATH_FIRST_TWO STREQUAL "./" OR CERT_PATH_FIRST_TWO STREQUAL ".\\") + set(IS_CERT_BUNDLE_RELATIVE_PATH 1) + message(STATUS "Alternate Cert Path is relative to project.") + else() + set(IS_CERT_BUNDLE_RELATIVE_PATH 0) + message(STATUS "Alternate Cert Path is not relative to project.") + endif() + + # The cert bundle is not a standard cert, so we con't add to the crt_paths. + # Still, we may have an alternate location, particulatly needed for PlatformIO: + if(IS_CERT_BUNDLE_RELATIVE_PATH) + message(STATUS "CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME = ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Relative alternate_bundle_path: ${alternate_bundle_path}") + + SET(crt_bundle_option "${CMAKE_SOURCE_DIR}/${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + else() + message(STATUS "alternate_bundle_path: ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Not using an alternate wolfSSL bundle file.") + SET(crt_bundle_option "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + endif() + endif() + + # Clean the path, removing any extra "./" etc. + # Number of spaces in message strings is to align path value outputs + message(STATUS "This crt_bundle_option value: ${crt_bundle_option}") + if(${CMAKE_VERSION} VERSION_LESS "3.19") + message("WARNING: CMake version is ${CMAKE_VERSION} ? file(REAL_PATH ...) is not supported. Falling back to manual path normalization.") + # optional fallback logic here + get_filename_component(crt_bundle_file_component "${crt_bundle_option}" ABSOLUTE) + message(STATUS "Interim crt_bundle_file_component: ${crt_bundle_file_component}") + file(TO_CMAKE_PATH "${crt_bundle_file_component}" crt_bundle) + message(STATUS "TO_CMAKE_PATH crt_bundle result: ${crt_bundle}") + # set(crt_bundle "C:/workspace/pio_wolfssl-upstream-test-wolfssl_cert_bundle/esp32-c6/certs/x509_crt_bundle_wolfssl") + else() + file(REAL_PATH "${crt_bundle_option}" crt_bundle) + endif() + + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Certificate Bundle: ${crt_bundle}") + message(STATUS "This cleaned crt_bundle value: ${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + message(STATUS "Reminder: platformio.ini will need this value set for board_build.embed_files =") + message(STATUS "${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + + # e.g. SET(crt_bundle "C:/workspace/pio_wolfssl/esp32-c6/certs/x509_crt_bundle_wolfssl") + # - if(EXISTS "${crt_bundle}") - message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + # Normally x509_crt_bundle_wolfssl built by python script called from cmake. + # See https://github.com/wolfSSL/wolfssl/blob/master/wolfcrypt/src/port/Espressif/esp_crt_bundle/gen_crt_bundle.py + # Reminder ESP-IDF scripts are NOT called from CMake for PlatformIO builds. + # + # The easiest way to generate the default file is to build with ESP-IDF and copy the files to [project]/main + # + # for example: + # build\VisualGDB\Debug\x509_crt_bundle_wolfssl.s + # build\VisualGDB\Debug\esp-idf\wolfssl\x509_crt_bundle_wolfssl + # + message(STATUS "Confirming cert bundle exists...") + if(EXISTS "${crt_bundle}") + # Number of spaces is to align path value outputs + message(STATUS "Bundle file found for PlatformIO: ${crt_bundle}") + else() + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("ERROR: Failed to find bundle file found for PlatformIO: ${crt_bundle}") + message(STATUS "Check for entry in platformio.ini: board_build.embed_files = certs/x509_crt_bundle_wolfssl ") + message(FATAL_ERROR "WOLFSSL_CERTIFICATE_BUNDLE is enabled for PlatformIO, but predefined file not found: ${crt_bundle}") + endif() else() - message(STATUS "Bundle file expected during next build: ${crt_bundle}") - endif() + # APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Generate bundle: ${GENERATE_CERT_BUNDLEPY} ${args}") + # Not PlatformIO + # Generate bundle according to config + # File is generated at build time, not cmake load + add_custom_command(OUTPUT ${crt_bundle} + COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} + DEPENDS ${custom_bundle_path} + VERBATIM) - # Reminder the file is generated at build time, not cmake load time. - message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + if(EXISTS "${crt_bundle}") + message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + else() + message(STATUS "Bundle file expected during next build: ${crt_bundle}") + endif() - add_custom_target(custom_wolfssl_bundle DEPENDS ${cert_bundle}) + # Reminder the file is generated at build time, not cmake load time. + message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + endif() + + add_custom_target(custom_wolfssl_bundle DEPENDS ${crt_bundle}) - # the wolfSSL crtificate bundle is baked into wolfSSL + # the wolfSSL certificate bundle is baked into wolfSSL add_dependencies(${COMPONENT_LIB} custom_wolfssl_bundle) # COMPONENT_LIB may vary: __idf_wolfssl, __idf_esp_wolfssl, etc @@ -871,7 +1092,12 @@ APPEND PROPERTY ADDITIONAL_CLEAN_FILES "${crt_bundle}") else() - message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + if(IS_PLATFORMIO) + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but cannot be generated in PlatformmIO") + else() + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + endif() + message(FATAL_ERROR "not detected") endif() endif() @@ -930,42 +1156,6 @@ # end multiple component check -# -# LIBWOLFSSL_SAVE_INFO(VAR_OUPUT THIS_VAR VAR_RESULT) -# -# Save the THIS_VAR as a string in a macro called VAR_OUPUT -# -# VAR_OUPUT: the name of the macro to define -# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() -# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. -# -function ( LIBWOLFSSL_SAVE_INFO VAR_OUPUT THIS_VAR VAR_RESULT ) - # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. - string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) - - # if we had a successful operation, save the THIS_VAR in VAR_OUPUT - if(${IS_VALID_VALUE}) - # strip newline chars in THIS_VAR parameter and save in VAR_VALUE - string(REPLACE "\n" "" VAR_VALUE ${THIS_VAR}) - - # we'll could percolate the value to the parent for possible later use - # set(${VAR_OUPUT} ${VAR_VALUE} PARENT_SCOPE) - - # but we're only using it here in this function - set(${VAR_OUPUT} ${VAR_VALUE}) - - # we'll print what we found to the console - message(STATUS "Found ${VAR_OUPUT}=${VAR_VALUE}") - - # the interesting part is defining the VAR_OUPUT name a value to use in the app - add_compile_definitions(${VAR_OUPUT}=\"${VAR_VALUE}\") - else() - # if we get here, check the execute_process command and parameters. - message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") - set(${VAR_OUPUT} "Unknown") - endif() -endfunction() # LIBWOLFSSL_SAVE_INFO - execute_process( COMMAND ${git_cmd} "rev-parse" "--is-inside-work-tree" OUTPUT_VARIABLE IS_GIT_REPO @@ -1049,6 +1239,14 @@ message(STATUS "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") endif() +# A single instance of potentially multiple cmake messages to send to app: +message(STATUS "LIBWOLFSSL_CMAKE_OUTPUT: ${LIBWOLFSSL_CMAKE_OUTPUT}") +LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}" "0") + +file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "\n" + "#endif\n" ) + message(STATUS "************************************************************************************************") message(STATUS "wolfSSL component config complete!") message(STATUS "************************************************************************************************") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/Kconfig mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/Kconfig --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/Kconfig 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/Kconfig 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -274,10 +274,28 @@ bool "Do not use the default certificate bundle" endchoice + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE + depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + default n + bool "Use alternate certificate bundle" + help + Typically only used for PlatformIO which cannot generate a certificate bundle at build time. + Enable this option to specify a fixed wolfSSL certificate file path and file name. + + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME + depends on WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + string "Default certificate bundle alternate path and name" + default "./certs/x509_crt_bundle_wolfssl" + help + Name of the default certificate bundle directory. Typically used only with PlatformIO. + Reminder PlatformIO cannot generate a bundle from cmake python script call. Relative + paths are with respect to root of this project. + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL default n bool "Add custom certificates to the default bundle" + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH depends on WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL string "Custom certificate bundle path" @@ -401,24 +419,25 @@ when performance is critical. See also metrics for counting instances. endmenu # wolfSSL Hardware Acceleration + # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- - menu "wolfSSL Experimental Options" + menu "wolfSSL Post Quantum Kyber KEM PQ" - config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS - bool "Enable wolfSSL Experimental Settings" + config ESP_WOLFSSL_ENABLE_MLKEM + bool "Enable ML-KEM (Kyber Post Quantum)" default n help - Enables experimental settings for wolfSSL. See documentation. + bool "Enable wolfSSL ML-KEM" - config ESP_WOLFSSL_ENABLE_KYBER - bool "Enable wolfSSL Kyber" + config WOLFSSL_ENABLE_KYBER + bool "Enable Kyber (Round 3)" default n help - Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + Enable old compatibility with Kyber Round 3 (enables experimental settings) - endmenu # wolfSSL Experimental Options + endmenu # wolfSSL Post Quantum Kyber KEM PQ # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- @@ -429,12 +448,23 @@ help Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + config ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING + bool "Suppress build-time warnings for main stack size" + default n + help + Useful only when wolfSSL is running in main task. See FreeRTOS stack size for custom tasks. + config ESP_WOLFSSL_TEST_LOOP bool "Run test apps in a loop until failure" default y help Enable a loop wrapper for benchmark, http_client, and wolfssl test apps. + config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS + bool "Enable wolfSSL Experimental Settings" + default n + help + Enables experimental settings for wolfSSL. See documentation. endmenu # wolfSSL Debug Options # ----------------------------------------------------------------------------------------------------------------- diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/README.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/README.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/README.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/README.md 2026-01-31 13:27:49.000000000 +0000 @@ -154,7 +154,7 @@ ## Licensing and Support -wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv2 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv2 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. +wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv3 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv3 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. See the LICENSE.txt, visit wolfssl.com/license, contact us at licensing@wolfssl.com or call +1 425 245 8247 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/component.mk mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/component.mk --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/component.mk 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/component.mk 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/include/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/include/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/include/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/include/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -30,7 +30,7 @@ /* This user_settings.h is for Espressif ESP-IDF * - * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1 + * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs * * Do not include any wolfssl headers here. * @@ -110,6 +110,7 @@ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ /* #define USE_WOLFSSL_ESP_SDK_WIFI */ #define TEST_ESPIDF_ALL_WOLFSSL + #define HAVE_HKDF #elif defined(CONFIG_WOLFSSL_EXAMPLE_NAME_BENCHMARK) /* See https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark */ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ @@ -208,18 +209,40 @@ /* the code is older or does not have application name defined. */ #endif /* Example wolfSSL Configuration app settings */ -/* Experimental Kyber */ -#ifdef CONFIG_WOLFSSL_ENABLE_KYBER +/* Optional MLKEM (Kyber Post Quantum) */ +/* ./configure --enable-mlkem */ +/* See Kconfig / menuconfig ESP_WOLFSSL_ENABLE_MLKEM */ +#ifdef CONFIG_ESP_WOLFSSL_ENABLE_MLKEM /* Kyber typically needs a minimum 10K stack */ - #define WOLFSSL_EXPERIMENTAL_SETTINGS #define WOLFSSL_HAVE_MLKEM #define WOLFSSL_WC_MLKEM - #define WOLFSSL_SHA3 + #define WOLFSSL_SHAKE128 + #define WOLFSSL_SHAKE256 + + /* Old code points to keep compatibility with Kyber Round 3. */ + /* ./configure --enable-kyber=all --enable-experimental */ + #if defined(CONFIG_WOLFSSL_ENABLE_KYBER) + #define WOLFSSL_MLKEM_KYBER + #define WOLFSSL_EXPERIMENTAL_SETTINGS + #endif + #if defined(CONFIG_IDF_TARGET_ESP8266) /* With limited RAM, we'll disable some of the Kyber sizes: */ #define WOLFSSL_NO_KYBER1024 #define WOLFSSL_NO_KYBER768 + #define WOLFSSL_NO_ML_KEM_1024 + #define WOLFSSL_NO_ML_KEM_768 #define NO_SESSION_CACHE + #else + /* Only needed for older wolfssl versions, see mlkem.h */ + #define WOLFSSL_KYBER1024 + /* optional alternative sizes: */ + /* #define WOLFSSL_KYBER768 */ + /* #define WOLFSSL_KYBER512 */ + /* -- or disable a specific one: */ + /* #define WOLFSSL_NO_ML_KEM_1024 */ + /* #define WOLFSSL_NO_ML_KEM_768 */ + /* #define WOLFSSL_NO_ML_KEM_512 */ #endif #endif @@ -234,11 +257,6 @@ #define WOLFSSL_AES_DIRECT #endif -/* Pick a cert buffer size: */ -/* #define USE_CERT_BUFFERS_2048 */ -/* #define USE_CERT_BUFFERS_1024 */ -#define USE_CERT_BUFFERS_2048 - /* The Espressif sdkconfig will have chipset info. ** ** Some possible values: @@ -354,10 +372,6 @@ /* #define DEBUG_WOLFSSL */ #define DEBUG_WOLFSSL_MALLOC -/* See test.c that sets cert buffers; we'll set them here: */ -#define USE_CERT_BUFFERS_256 -#define USE_CERT_BUFFERS_2048 - /* RSA_LOW_MEM: Half as much memory but twice as slow. */ #define RSA_LOW_MEM @@ -531,7 +545,7 @@ /* Adjust wait-timeout count if you see timeout in RSA HW acceleration. * Set to very large number and enable WOLFSSL_HW_METRICS to determine max. */ #ifndef ESP_RSA_TIMEOUT_CNT - #define ESP_RSA_TIMEOUT_CNT 0xFF0000 + #define ESP_RSA_TIMEOUT_CNT 0xFF0000 #endif /* hash limit for test.c */ @@ -559,8 +573,6 @@ defined(WOLFSSL_SP_RISCV32) #endif -#define WOLFSSL_SMALL_STACK - #define HAVE_VERSION_EXTENDED_INFO /* #define HAVE_WC_INTROSPECTION */ @@ -657,9 +669,6 @@ #undef HAVE_AESGCM #define HAVE_AESGCM -#else - /* default settings */ - #define USE_CERT_BUFFERS_2048 #endif /* Chipset detection from sdkconfig.h @@ -783,6 +792,15 @@ #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI /***** END CONFIG_IDF_TARGET_ESP32H2 *****/ +#elif defined(CONFIG_IDF_TARGET_ESP32P4) + #define WOLFSSL_ESP32 + /* wolfSSL Hardware Acceleration not yet implemented */ + #define NO_ESP32_CRYPT + #define NO_WOLFSSL_ESP32_CRYPT_HASH + #define NO_WOLFSSL_ESP32_CRYPT_AES + #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI + /***** END CONFIG_IDF_TARGET_ESP32P4 *****/ + #elif defined(CONFIG_IDF_TARGET_ESP8266) #define WOLFSSL_ESP8266 @@ -823,13 +841,18 @@ #ifndef NO_RSA #define ESP32_USE_RSA_PRIMITIVE - #if defined(CONFIG_IDF_TARGET_ESP32) - #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + /* See idf.py menuconfig for stack warning settings */ + #if !defined(CONFIG_ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING) #if CONFIG_ESP_MAIN_TASK_STACK_SIZE < 10500 - #warning "RSA may be difficult with less than 10KB Stack "/ + #warning "RSA may be difficult with less than 10KB Stack" #endif + #else + /* Implement your own stack warning here */ #endif + #endif + #if defined(CONFIG_IDF_TARGET_ESP32) /* NOTE HW unreliable for small values! */ /* threshold for performance adjustment for HW primitive use */ /* X bits of G^X mod P greater than */ @@ -926,6 +949,8 @@ #define ATCA_WOLFSSL */ +/* optional SM4 Ciphers. See github.com/wolfSSL/wolfsm */ + /***************************** Certificate Macros ***************************** * * The section below defines macros used in typically all of the wolfSSL @@ -1017,9 +1042,13 @@ #define WOLFSSL_BASE16 #else #if defined(USE_CERT_BUFFERS_2048) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_1024 + #error "USE_CERT_BUFFERS_1024 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_2048 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1039,9 +1068,13 @@ #define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #elif defined(USE_CERT_BUFFERS_1024) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_2048 + #error "USE_CERT_BUFFERS_2048 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_1024 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1061,7 +1094,6 @@ #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #else /* Optionally define custom cert arrays, sizes, and types here */ - #error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024" #endif #endif /* Conditional key and cert constant names */ diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/Kconfig.projbuild mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/Kconfig.projbuild --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/Kconfig.projbuild 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/Kconfig.projbuild 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/include/main.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/include/main.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/include/main.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/include/main.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/main/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -7,6 +7,19 @@ cmake_minimum_required(VERSION 3.16) +# For the main project using ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "Adding mlongcalls") + add_compile_options(-mlongcalls) + add_link_options(-mlongcalls) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls") + endif() +endif() + # Optional no watchdog typically used for test & benchmark if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1") @@ -144,5 +157,15 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake) +# Once the project is loaded, next check for ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "mlongcalls for all components") + idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND) + endif() +endif() + project(wolfssl_client) message(STATUS "end project") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/Makefile mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/Makefile --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/Makefile 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/Makefile 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -19,23 +19,62 @@ # # cmake for wolfssl Espressif projects # -# Version 5.7.2 Espressif ESP-IDF integration +# Version 5.8.0 Espressif ESP-IDF + PlatformIO integration (2) # # See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html # message(STATUS "Begin wolfssl ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") cmake_minimum_required(VERSION 3.16) +# The scope of this CMAKE_C_FLAGS is just this component: +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") + +set(CMAKE_CURRENT_SOURCE_DIR ".") + +# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: +# set(WOLFSSL_ROOT "c:/workspace/my_wolfssl" ) + +if ( "${WOLFSSL_ROOT}" STREQUAL "") + set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) +endif() + set(VERBOSE_COMPONENT_MESSAGES 1) # Optional requires include: # set(THIS_ESP_TLS "esp-tls") set(THIS_ESP_TLS "") +# LIBWOLFSSL_CMAKE_OUTPUT can be printed at runtime +set(LIBWOLFSSL_CMAKE_OUTPUT "") + + +if(CMAKE_BUILD_EARLY_EXPANSION) + message(STATUS "Skipping libwolfssl_output.h update during CMAKE_BUILD_EARLY_EXPANSION") +else() + # Initialize a new libwolfssl_output.h in the cmake build directory. + if( EXISTS "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + # The next WRITE replaces a file. + # This is here to remove any ambiguity on file removal & generation. + file(REMOVE "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + endif() + + file(WRITE "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "/* libwolfssl_output.h generated by wolfssl component */\n" + "#ifndef _LIBWOLFSSL_OUTPUT_H_\n" + "\n" + "#define _LIBWOLFSSL_OUTPUT_H_\n\n") +endif() + +# Append messages with: +# LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n"message" "0") +# See function: APPEND_LIBWOLFSSL_CMAKE_OUTPUT + # function: IS_ESP_IDF_COMPONENT # output: RESULT = 1 (true) if this component is located in the ESP-IDF components # otherwise 0 (false) -function( IS_ESP_IDF_COMPONENT RESULT ) +function( IS_ESP_IDF_COMPONENT + RESULT) # NOTE: Component location is based on the location of the CMakeList.txt # and *not* the location of the wolfSSL source code. (which may be anywhere) @@ -55,6 +94,96 @@ endif() endfunction() +# +# LIBWOLFSSL_SAVE_INFO(VAR_OUTPUT THIS_VAR VAR_RESULT) +# +# Save the THIS_VAR as a string in a macro called VAR_OUTPUT +# +# VAR_OUTPUT: the name of the macro to define +# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() +# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. +# +function ( LIBWOLFSSL_SAVE_INFO VAR_OUTPUT THIS_VAR VAR_RESULT ) + # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. + string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) + + # if we had a successful operation, save the THIS_VAR in VAR_OUTPUT + if(${IS_VALID_VALUE}) + + if(0) + # Optional debug + message(STATUS "Looking for LF in ${THIS_VAR}") + endif() + + # Check if the text to print in THIS_VAR is multi-line + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + list(LENGTH LINES LINE_COUNT) + + # Save var to "libwolfssl_output.h" header if multi-line, otherwise a simple compile def + if(LINE_COUNT GREATER 1) + message(STATUS "Setting HAVE_LIBWOLFSSL_OUTPUT_HEADER=1 for ${VAR_OUTPUT}") + add_compile_definitions(HAVE_LIBWOLFSSL_OUTPUT_HEADER=1) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#undef ${VAR_OUTPUT}\n") + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#define ${VAR_OUTPUT} \\\n") + + # Split into lines + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + foreach(LINE IN LISTS LINES) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\"${LINE}\\n\" \\\n") + endforeach() + + # Final empty line to close the macro + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\n") + + message(STATUS "COMPONENT_LIB=${COMPONENT_LIB}") + target_include_directories(${COMPONENT_LIB} PRIVATE "${CMAKE_BINARY_DIR}") + else() + message(STATUS "No HAS_LIBWOLFSSL_OUTPUT_HEADER") + # We should not have any, but just to be sure: + # Strip newline chars in THIS_VAR parameter and save in VAR_VALUE + string(REPLACE "\n" "" VAR_VALUE "${THIS_VAR}") + + # we'll could percolate the value to the parent for possible later use + # set(${VAR_OUTPUT} ${VAR_VALUE} PARENT_SCOPE) + + # but we're only using it here in this function + set(${VAR_OUTPUT} ${VAR_VALUE}) + + # we'll print what we found to the console + message(STATUS "Found ${VAR_OUTPUT}=${VAR_VALUE}") + + # the interesting part is defining the VAR_OUTPUT name a value to use in the app + add_compile_definitions(${VAR_OUTPUT}=\"${VAR_VALUE}\") + + endif() + else() + # if we get here, check the execute_process command and parameters. + message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") + set(${VAR_OUTPUT} "Unknown") + endif() + + +endfunction() # LIBWOLFSSL_SAVE_INFO + +# +# APPEND_LIBWOLFSSL_CMAKE_OUTPUT(THIS_MESSAGE OUTPUT_VALUE) +# +# Append the text in THIS_MESSAGE to LIBWOLFSSL_CMAKE_OUTPUT. +# String is available at runtime in app +# + +function( APPEND_LIBWOLFSSL_CMAKE_OUTPUT + THIS_MESSAGE ) + # Normally, we'd simply print a message: + message(STATUS "${THIS_MESSAGE}") + + # But here we'll pass the entire LIBWOLFSSL_CMAKE_OUTPUT as a string definition to the app + set(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n${THIS_MESSAGE}" PARENT_SCOPE) + + # We don't call LIBWOLFSSL_SAVE_INFO here as it would add duplicate definitions + # See single instance at the end of this file. +endfunction() + # Determine if this cmake file is located in the ESP-IDF component directory or not, # and if so, if it is being ignored (allowing the use of a local project one, instead). IS_ESP_IDF_COMPONENT( IS_WOLSSL_ESP_IDF_COMPONENT ) @@ -77,20 +206,6 @@ message(STATUS "Cleaned wolfssl path: ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") endif() -# The scope of this CMAKE_C_FLAGS is just this component: -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") - -set(CMAKE_CURRENT_SOURCE_DIR ".") -# set(COMPONENT_REQUIRES lwip) # we typically don't need lwip directly in wolfssl component - -# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: -# set(WOLFSSL_ROOT "c:/test/my_wolfssl" ) - -if ( "${WOLFSSL_ROOT}" STREQUAL "") - set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) -endif() - if( "$ENV{IDF_PATH}" STREQUAL "" ) message(FATAL_ERROR "IDF_PATH Environment variable not set!") else() @@ -185,7 +300,9 @@ # Check environment variable name EVARPARAM as [name] # If defined, and has a value of EVARVALUE as [value], # then assign a compiler definition "-D[name]=[value]" -function(ENVIRONMENT_VAR_TO_MACRO EVARPARAM EVARVALUE) +function( ENVIRONMENT_VAR_TO_MACRO + EVARPARAM # Environment variable parameter name + EVARVALUE) # Environment variable value # If the EVARPARAM environment variable name is set to EVARVALUE, # set the compiler flag definition to enable CSV output. if ( "$ENV{${EVARPARAM}}" STREQUAL "${EVARVALUE}") @@ -217,7 +334,8 @@ # function: IS_WOLFSSL_SOURCE # parameter: DIRECTORY_PARAMETER - the directory to test # output: RESULT = contains contents of DIRECTORY_PARAMETER for wolfssl directory, otherwise blank. -function( IS_WOLFSSL_SOURCE DIRECTORY_PARAMETER +function( IS_WOLFSSL_SOURCE + DIRECTORY_PARAMETER RESULT ) if (EXISTS "${DIRECTORY_PARAMETER}/wolfcrypt/src") set(${RESULT} "${DIRECTORY_PARAMETER}" PARENT_SCOPE) @@ -233,7 +351,8 @@ # Example usage: # FIND_WOLFSSL_DIRECTORY(WOLFSSL_ROOT) # ********************************************************************************************* -function(FIND_WOLFSSL_DIRECTORY OUTPUT_FOUND_WOLFSSL_DIRECTORY) +function( FIND_WOLFSSL_DIRECTORY + OUTPUT_FOUND_WOLFSSL_DIRECTORY) message(STATUS "Starting FIND_WOLFSSL_DIRECTORY: ${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}") if ( "${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}" STREQUAL "" ) @@ -673,9 +792,9 @@ # depending on the environment, we may need to swap backslashes with forward slashes string(REPLACE "\\" "/" RTOS_IDF_PATH "$ENV{IDF_PATH}/components/freertos/FreeRTOS-Kernel/include/freertos") - if(WOLFSSL_ROOT) - string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) - endif() + if(WOLFSSL_ROOT) + string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) + endif() if(IS_DIRECTORY "${RTOS_IDF_PATH}") message(STATUS "Found current RTOS path: ${RTOS_IDF_PATH}") @@ -726,6 +845,7 @@ "\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c + "\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/x509.c\"" "\"${WOLFSSL_ROOT}/src/x509_str.c\"" "\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default @@ -789,16 +909,35 @@ AND NOT CONFIG_WOLFSSL_CERTIFICATE_BUNDLE_DEFAULT_NONE AND NOT ("${CONFIG_TARGET_PLATFORM}" STREQUAL "esp8266") ) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("wolfSSL Certificate Bundles Enabled") + if (CMAKE_BUILD_EARLY_EXPANSION) - message(ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") + message(FATAL_ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") endif() # reminder: we need a value for wolfSSL root first! if( "${WOLFSSL_ROOT}" STREQUAL "" ) - message(ERROR "Certificate bundles need a value for WOLFSSL_ROOT") + message(FATAL_ERROR "Certificate bundles need a value for WOLFSSL_ROOT") endif() + + # Cert bundle in wolfSSL source unless otherwise specified later set(WOLFSSL_ESP_CRT_BUNDLE_DIR ${WOLFSSL_ROOT}/wolfcrypt/src/port/Espressif/esp_crt_bundle) message(STATUS "WOLFSSL_ESP_CRT_BUNDLE_DIR=${WOLFSSL_ESP_CRT_BUNDLE_DIR}") - if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + + if(DEFINED ENV{PLATFORMIO_PROJECT_DIR}) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO") + set(IS_PLATFORMIO 1) + else() + # Some environments may not have environment variable, so double check if we are in .pio + if("${CMAKE_BINARY_DIR}" MATCHES "/\\.pio/") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO via CMAKE_BINARY_DIR") + set(IS_PLATFORMIO 1) + else() + set(IS_PLATFORMIO 0) + endif() + endif() + + if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}" OR IS_PLATFORMIO) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Special processing for wolfSSL Certificate Bundles") set(bundle_name "x509_crt_bundle_wolfssl") # For now the certs are in the same directory @@ -824,9 +963,9 @@ get_filename_component(custom_bundle_path ${CONFIG_WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH} ABSOLUTE BASE_DIR "${project_dir}") list(APPEND crt_paths ${custom_bundle_path}) - message(STATUS "Using a custom wolfSSL bundle path: ${custom_bundle_path}") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Using a custom wolfSSL bundle path: ${custom_bundle_path}") else() - message(STATUS "Not using a custom wolfSSL bundle path.") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Not using a custom wolfSSL bundle path") endif() list(APPEND args --input ${crt_paths} -q) @@ -843,25 +982,107 @@ message(STATUS "args ${args}") message(STATUS "cert_bundle ${cert_bundle}") - # Generate bundle according to config - # File is generated at build time, not cmake load - add_custom_command(OUTPUT ${crt_bundle} - COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} - DEPENDS ${custom_bundle_path} - VERBATIM) + if (IS_PLATFORMIO) + # PlatformIO cannot generate a Certificate Bundle at build time + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("PlatformIO is using a predefined bundle rather than generating one") + + if ( "${WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "n") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Alternate Certificate Bundle Path and Name not enabled, assuming [project]/certs/x509_crt_bundle_wolfssl") + # Reminder this CMakeLists.txt should be in [project]/components/wolfssl, so ./certs is two directories up + set(crt_bundle_option "../../certs/x509_crt_bundle_wolfssl") + else() + string(SUBSTRING "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" 0 2 CERT_PATH_FIRST_TWO) + if(CERT_PATH_FIRST_TWO STREQUAL "./" OR CERT_PATH_FIRST_TWO STREQUAL ".\\") + set(IS_CERT_BUNDLE_RELATIVE_PATH 1) + message(STATUS "Alternate Cert Path is relative to project.") + else() + set(IS_CERT_BUNDLE_RELATIVE_PATH 0) + message(STATUS "Alternate Cert Path is not relative to project.") + endif() + + # The cert bundle is not a standard cert, so we con't add to the crt_paths. + # Still, we may have an alternate location, particulatly needed for PlatformIO: + if(IS_CERT_BUNDLE_RELATIVE_PATH) + message(STATUS "CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME = ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Relative alternate_bundle_path: ${alternate_bundle_path}") + + SET(crt_bundle_option "${CMAKE_SOURCE_DIR}/${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + else() + message(STATUS "alternate_bundle_path: ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Not using an alternate wolfSSL bundle file.") + SET(crt_bundle_option "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + endif() + endif() + + # Clean the path, removing any extra "./" etc. + # Number of spaces in message strings is to align path value outputs + message(STATUS "This crt_bundle_option value: ${crt_bundle_option}") + if(${CMAKE_VERSION} VERSION_LESS "3.19") + message("WARNING: CMake version is ${CMAKE_VERSION} ? file(REAL_PATH ...) is not supported. Falling back to manual path normalization.") + # optional fallback logic here + get_filename_component(crt_bundle_file_component "${crt_bundle_option}" ABSOLUTE) + message(STATUS "Interim crt_bundle_file_component: ${crt_bundle_file_component}") + file(TO_CMAKE_PATH "${crt_bundle_file_component}" crt_bundle) + message(STATUS "TO_CMAKE_PATH crt_bundle result: ${crt_bundle}") + # set(crt_bundle "C:/workspace/pio_wolfssl-upstream-test-wolfssl_cert_bundle/esp32-c6/certs/x509_crt_bundle_wolfssl") + else() + file(REAL_PATH "${crt_bundle_option}" crt_bundle) + endif() + + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Certificate Bundle: ${crt_bundle}") + message(STATUS "This cleaned crt_bundle value: ${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + message(STATUS "Reminder: platformio.ini will need this value set for board_build.embed_files =") + message(STATUS "${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + + # e.g. SET(crt_bundle "C:/workspace/pio_wolfssl/esp32-c6/certs/x509_crt_bundle_wolfssl") + # - if(EXISTS "${crt_bundle}") - message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + # Normally x509_crt_bundle_wolfssl built by python script called from cmake. + # See https://github.com/wolfSSL/wolfssl/blob/master/wolfcrypt/src/port/Espressif/esp_crt_bundle/gen_crt_bundle.py + # Reminder ESP-IDF scripts are NOT called from CMake for PlatformIO builds. + # + # The easiest way to generate the default file is to build with ESP-IDF and copy the files to [project]/main + # + # for example: + # build\VisualGDB\Debug\x509_crt_bundle_wolfssl.s + # build\VisualGDB\Debug\esp-idf\wolfssl\x509_crt_bundle_wolfssl + # + message(STATUS "Confirming cert bundle exists...") + if(EXISTS "${crt_bundle}") + # Number of spaces is to align path value outputs + message(STATUS "Bundle file found for PlatformIO: ${crt_bundle}") + else() + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("ERROR: Failed to find bundle file found for PlatformIO: ${crt_bundle}") + message(STATUS "Check for entry in platformio.ini: board_build.embed_files = certs/x509_crt_bundle_wolfssl ") + message(FATAL_ERROR "WOLFSSL_CERTIFICATE_BUNDLE is enabled for PlatformIO, but predefined file not found: ${crt_bundle}") + endif() else() - message(STATUS "Bundle file expected during next build: ${crt_bundle}") - endif() + # APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Generate bundle: ${GENERATE_CERT_BUNDLEPY} ${args}") + # Not PlatformIO + # Generate bundle according to config + # File is generated at build time, not cmake load + add_custom_command(OUTPUT ${crt_bundle} + COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} + DEPENDS ${custom_bundle_path} + VERBATIM) - # Reminder the file is generated at build time, not cmake load time. - message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + if(EXISTS "${crt_bundle}") + message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + else() + message(STATUS "Bundle file expected during next build: ${crt_bundle}") + endif() - add_custom_target(custom_wolfssl_bundle DEPENDS ${cert_bundle}) + # Reminder the file is generated at build time, not cmake load time. + message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + endif() + + add_custom_target(custom_wolfssl_bundle DEPENDS ${crt_bundle}) - # the wolfSSL crtificate bundle is baked into wolfSSL + # the wolfSSL certificate bundle is baked into wolfSSL add_dependencies(${COMPONENT_LIB} custom_wolfssl_bundle) # COMPONENT_LIB may vary: __idf_wolfssl, __idf_esp_wolfssl, etc @@ -871,7 +1092,12 @@ APPEND PROPERTY ADDITIONAL_CLEAN_FILES "${crt_bundle}") else() - message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + if(IS_PLATFORMIO) + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but cannot be generated in PlatformmIO") + else() + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + endif() + message(FATAL_ERROR "not detected") endif() endif() @@ -930,42 +1156,6 @@ # end multiple component check -# -# LIBWOLFSSL_SAVE_INFO(VAR_OUPUT THIS_VAR VAR_RESULT) -# -# Save the THIS_VAR as a string in a macro called VAR_OUPUT -# -# VAR_OUPUT: the name of the macro to define -# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() -# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. -# -function ( LIBWOLFSSL_SAVE_INFO VAR_OUPUT THIS_VAR VAR_RESULT ) - # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. - string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) - - # if we had a successful operation, save the THIS_VAR in VAR_OUPUT - if(${IS_VALID_VALUE}) - # strip newline chars in THIS_VAR parameter and save in VAR_VALUE - string(REPLACE "\n" "" VAR_VALUE ${THIS_VAR}) - - # we'll could percolate the value to the parent for possible later use - # set(${VAR_OUPUT} ${VAR_VALUE} PARENT_SCOPE) - - # but we're only using it here in this function - set(${VAR_OUPUT} ${VAR_VALUE}) - - # we'll print what we found to the console - message(STATUS "Found ${VAR_OUPUT}=${VAR_VALUE}") - - # the interesting part is defining the VAR_OUPUT name a value to use in the app - add_compile_definitions(${VAR_OUPUT}=\"${VAR_VALUE}\") - else() - # if we get here, check the execute_process command and parameters. - message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") - set(${VAR_OUPUT} "Unknown") - endif() -endfunction() # LIBWOLFSSL_SAVE_INFO - execute_process( COMMAND ${git_cmd} "rev-parse" "--is-inside-work-tree" OUTPUT_VARIABLE IS_GIT_REPO @@ -1049,6 +1239,14 @@ message(STATUS "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") endif() +# A single instance of potentially multiple cmake messages to send to app: +message(STATUS "LIBWOLFSSL_CMAKE_OUTPUT: ${LIBWOLFSSL_CMAKE_OUTPUT}") +LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}" "0") + +file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "\n" + "#endif\n" ) + message(STATUS "************************************************************************************************") message(STATUS "wolfSSL component config complete!") message(STATUS "************************************************************************************************") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/Kconfig mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/Kconfig --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/Kconfig 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/Kconfig 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -274,10 +274,28 @@ bool "Do not use the default certificate bundle" endchoice + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE + depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + default n + bool "Use alternate certificate bundle" + help + Typically only used for PlatformIO which cannot generate a certificate bundle at build time. + Enable this option to specify a fixed wolfSSL certificate file path and file name. + + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME + depends on WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + string "Default certificate bundle alternate path and name" + default "./certs/x509_crt_bundle_wolfssl" + help + Name of the default certificate bundle directory. Typically used only with PlatformIO. + Reminder PlatformIO cannot generate a bundle from cmake python script call. Relative + paths are with respect to root of this project. + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL default n bool "Add custom certificates to the default bundle" + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH depends on WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL string "Custom certificate bundle path" @@ -401,24 +419,25 @@ when performance is critical. See also metrics for counting instances. endmenu # wolfSSL Hardware Acceleration + # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- - menu "wolfSSL Experimental Options" + menu "wolfSSL Post Quantum Kyber KEM PQ" - config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS - bool "Enable wolfSSL Experimental Settings" + config ESP_WOLFSSL_ENABLE_MLKEM + bool "Enable ML-KEM (Kyber Post Quantum)" default n help - Enables experimental settings for wolfSSL. See documentation. + bool "Enable wolfSSL ML-KEM" - config ESP_WOLFSSL_ENABLE_KYBER - bool "Enable wolfSSL Kyber" + config WOLFSSL_ENABLE_KYBER + bool "Enable Kyber (Round 3)" default n help - Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + Enable old compatibility with Kyber Round 3 (enables experimental settings) - endmenu # wolfSSL Experimental Options + endmenu # wolfSSL Post Quantum Kyber KEM PQ # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- @@ -429,12 +448,23 @@ help Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + config ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING + bool "Suppress build-time warnings for main stack size" + default n + help + Useful only when wolfSSL is running in main task. See FreeRTOS stack size for custom tasks. + config ESP_WOLFSSL_TEST_LOOP bool "Run test apps in a loop until failure" default y help Enable a loop wrapper for benchmark, http_client, and wolfssl test apps. + config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS + bool "Enable wolfSSL Experimental Settings" + default n + help + Enables experimental settings for wolfSSL. See documentation. endmenu # wolfSSL Debug Options # ----------------------------------------------------------------------------------------------------------------- diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/README.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/README.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/README.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/README.md 2026-01-31 13:27:49.000000000 +0000 @@ -154,7 +154,7 @@ ## Licensing and Support -wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv2 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv2 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. +wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv3 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv3 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. See the LICENSE.txt, visit wolfssl.com/license, contact us at licensing@wolfssl.com or call +1 425 245 8247 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/component.mk mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/component.mk --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/component.mk 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/component.mk 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/include/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/include/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/include/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/components/wolfssl/include/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -30,7 +30,7 @@ /* This user_settings.h is for Espressif ESP-IDF * - * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1 + * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs * * Do not include any wolfssl headers here. * @@ -110,6 +110,7 @@ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ /* #define USE_WOLFSSL_ESP_SDK_WIFI */ #define TEST_ESPIDF_ALL_WOLFSSL + #define HAVE_HKDF #elif defined(CONFIG_WOLFSSL_EXAMPLE_NAME_BENCHMARK) /* See https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark */ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ @@ -208,18 +209,40 @@ /* the code is older or does not have application name defined. */ #endif /* Example wolfSSL Configuration app settings */ -/* Experimental Kyber */ -#ifdef CONFIG_WOLFSSL_ENABLE_KYBER +/* Optional MLKEM (Kyber Post Quantum) */ +/* ./configure --enable-mlkem */ +/* See Kconfig / menuconfig ESP_WOLFSSL_ENABLE_MLKEM */ +#ifdef CONFIG_ESP_WOLFSSL_ENABLE_MLKEM /* Kyber typically needs a minimum 10K stack */ - #define WOLFSSL_EXPERIMENTAL_SETTINGS #define WOLFSSL_HAVE_MLKEM #define WOLFSSL_WC_MLKEM - #define WOLFSSL_SHA3 + #define WOLFSSL_SHAKE128 + #define WOLFSSL_SHAKE256 + + /* Old code points to keep compatibility with Kyber Round 3. */ + /* ./configure --enable-kyber=all --enable-experimental */ + #if defined(CONFIG_WOLFSSL_ENABLE_KYBER) + #define WOLFSSL_MLKEM_KYBER + #define WOLFSSL_EXPERIMENTAL_SETTINGS + #endif + #if defined(CONFIG_IDF_TARGET_ESP8266) /* With limited RAM, we'll disable some of the Kyber sizes: */ #define WOLFSSL_NO_KYBER1024 #define WOLFSSL_NO_KYBER768 + #define WOLFSSL_NO_ML_KEM_1024 + #define WOLFSSL_NO_ML_KEM_768 #define NO_SESSION_CACHE + #else + /* Only needed for older wolfssl versions, see mlkem.h */ + #define WOLFSSL_KYBER1024 + /* optional alternative sizes: */ + /* #define WOLFSSL_KYBER768 */ + /* #define WOLFSSL_KYBER512 */ + /* -- or disable a specific one: */ + /* #define WOLFSSL_NO_ML_KEM_1024 */ + /* #define WOLFSSL_NO_ML_KEM_768 */ + /* #define WOLFSSL_NO_ML_KEM_512 */ #endif #endif @@ -234,11 +257,6 @@ #define WOLFSSL_AES_DIRECT #endif -/* Pick a cert buffer size: */ -/* #define USE_CERT_BUFFERS_2048 */ -/* #define USE_CERT_BUFFERS_1024 */ -#define USE_CERT_BUFFERS_2048 - /* The Espressif sdkconfig will have chipset info. ** ** Some possible values: @@ -354,10 +372,6 @@ /* #define DEBUG_WOLFSSL */ #define DEBUG_WOLFSSL_MALLOC -/* See test.c that sets cert buffers; we'll set them here: */ -#define USE_CERT_BUFFERS_256 -#define USE_CERT_BUFFERS_2048 - /* RSA_LOW_MEM: Half as much memory but twice as slow. */ #define RSA_LOW_MEM @@ -531,7 +545,7 @@ /* Adjust wait-timeout count if you see timeout in RSA HW acceleration. * Set to very large number and enable WOLFSSL_HW_METRICS to determine max. */ #ifndef ESP_RSA_TIMEOUT_CNT - #define ESP_RSA_TIMEOUT_CNT 0xFF0000 + #define ESP_RSA_TIMEOUT_CNT 0xFF0000 #endif /* hash limit for test.c */ @@ -559,8 +573,6 @@ defined(WOLFSSL_SP_RISCV32) #endif -#define WOLFSSL_SMALL_STACK - #define HAVE_VERSION_EXTENDED_INFO /* #define HAVE_WC_INTROSPECTION */ @@ -657,9 +669,6 @@ #undef HAVE_AESGCM #define HAVE_AESGCM -#else - /* default settings */ - #define USE_CERT_BUFFERS_2048 #endif /* Chipset detection from sdkconfig.h @@ -783,6 +792,15 @@ #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI /***** END CONFIG_IDF_TARGET_ESP32H2 *****/ +#elif defined(CONFIG_IDF_TARGET_ESP32P4) + #define WOLFSSL_ESP32 + /* wolfSSL Hardware Acceleration not yet implemented */ + #define NO_ESP32_CRYPT + #define NO_WOLFSSL_ESP32_CRYPT_HASH + #define NO_WOLFSSL_ESP32_CRYPT_AES + #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI + /***** END CONFIG_IDF_TARGET_ESP32P4 *****/ + #elif defined(CONFIG_IDF_TARGET_ESP8266) #define WOLFSSL_ESP8266 @@ -823,13 +841,18 @@ #ifndef NO_RSA #define ESP32_USE_RSA_PRIMITIVE - #if defined(CONFIG_IDF_TARGET_ESP32) - #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + /* See idf.py menuconfig for stack warning settings */ + #if !defined(CONFIG_ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING) #if CONFIG_ESP_MAIN_TASK_STACK_SIZE < 10500 - #warning "RSA may be difficult with less than 10KB Stack "/ + #warning "RSA may be difficult with less than 10KB Stack" #endif + #else + /* Implement your own stack warning here */ #endif + #endif + #if defined(CONFIG_IDF_TARGET_ESP32) /* NOTE HW unreliable for small values! */ /* threshold for performance adjustment for HW primitive use */ /* X bits of G^X mod P greater than */ @@ -926,6 +949,8 @@ #define ATCA_WOLFSSL */ +/* optional SM4 Ciphers. See github.com/wolfSSL/wolfsm */ + /***************************** Certificate Macros ***************************** * * The section below defines macros used in typically all of the wolfSSL @@ -1017,9 +1042,13 @@ #define WOLFSSL_BASE16 #else #if defined(USE_CERT_BUFFERS_2048) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_1024 + #error "USE_CERT_BUFFERS_1024 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_2048 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1039,9 +1068,13 @@ #define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #elif defined(USE_CERT_BUFFERS_1024) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_2048 + #error "USE_CERT_BUFFERS_2048 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_1024 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1061,7 +1094,6 @@ #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #else /* Optionally define custom cert arrays, sizes, and types here */ - #error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024" #endif #endif /* Conditional key and cert constant names */ diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/Kconfig.projbuild mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/Kconfig.projbuild --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/Kconfig.projbuild 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/Kconfig.projbuild 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/client-tls.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/client-tls.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/client-tls.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/client-tls.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -397,20 +397,47 @@ ESP_LOGI(TAG, "tls_smp_client_task heap @ %p = %d", &this_heap, this_heap); #endif + +#if defined(CONFIG_ESP_WOLFSSL_ENABLE_MLKEM) + /* Kconfig ESP_WOLFSSL_ENABLE_MLKEM triggers settings in user_setting.h */ + ESP_LOGI(TAG, "Espressif CONFIG_ESP_WOLFSSL_ENABLE_MLKEM is defined"); +#endif #if defined(WOLFSSL_HAVE_MLKEM) - #if defined(WOLFSSL_KYBER1024) - ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM is enabled, setting key share: " - "WOLFSSL_P256_KYBER_LEVEL5"); - ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_P521_KYBER_LEVEL5); - #elif defined(WOLFSSL_KYBER768) - ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM is enabled, setting key share: " + ESP_LOGI(TAG, "WOLFSSL_MLKEM_KYBER is defined"); + #if defined(WOLFSSL_KYBER1024) || !defined(WOLFSSL_NO_ML_KEM_1024) + #if defined(WOLFSSL_MLKEM_KYBER) + ESP_LOGW(TAG, "WOLFSSL_MLKEM_KYBER is enabled, setting key share: " + "WOLFSSL_P521_KYBER_LEVEL5"); + ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_P521_KYBER_LEVEL5); + #else + ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM is enabled, setting key share: " + "WOLFSSL_ML_KEM_1024"); + ESP_LOGW(TAG, "Note: Wireshark as of 4.4.6 reports as frodo976aes"); + ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_ML_KEM_1024); + #endif + #elif defined(WOLFSSL_KYBER768) || !defined(WOLFSSL_NO_ML_KEM_768) + #if defined(WOLFSSL_MLKEM_KYBER) + ESP_LOGW(TAG, "WOLFSSL_MLKEM_KYBER is enabled, setting key share: " "WOLFSSL_P256_KYBER_LEVEL3"); - ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_P256_KYBER_LEVEL3); - #elif defined(WOLFSSL_KYBER512) + ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_P256_KYBER_LEVEL3); + #else + ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM is enabled, setting key share: " + "WOLFSSL_ML_KEM_768"); + ESP_LOGW(TAG, "Note: Wireshark as of 4.4.6 reports as frodo976aes"); + ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_ML_KEM_768); + #endif + #elif defined(WOLFSSL_KYBER512) || !defined(WOLFSSL_NO_ML_KEM_512) /* This will typically be a low memory situation, such as ESP8266 */ - ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM is enabled, setting key share: " + #if defined(WOLFSSL_MLKEM_KYBER) + ESP_LOGW(TAG, "WOLFSSL_MLKEM_KYBER is enabled, setting key share: " "WOLFSSL_P256_KYBER_LEVEL1"); - ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_P256_KYBER_LEVEL1); + ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_P256_KYBER_LEVEL1); + #else + ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM is enabled, setting key share: " + "WOLFSSL_ML_KEM_512"); + ESP_LOGW(TAG, "Note: Wireshark as of 4.4.6 reports as frodo976aes"); + ret_i = wolfSSL_UseKeyShare(ssl, WOLFSSL_ML_KEM_512); + #endif #else ESP_LOGW(TAG, "WOLFSSL_HAVE_MLKEM enabled but no key size available."); ret_i = ESP_FAIL; diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/client-tls.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/client-tls.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/client-tls.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/client-tls.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -21,8 +21,23 @@ #ifndef _CLIENT_TLS_H_ #define _CLIENT_TLS_H_ -/* Local project, auto-generated configuration */ -#include "sdkconfig.h" +/* This example uses wolfssl test certificates */ +#if 1 + /* See wolfssl/certs_test.h */ + #if defined(CONFIG_IDF_TARGET_ESP32C2) || \ + defined(CONFIG_IDF_TARGET_ESP8684) || \ + defined(CONFIG_IDF_TARGET_ESP8266) + /* Use smaller certs for low-memory devices */ + #define USE_CERT_BUFFERS_1024 + #else + #define USE_CERT_BUFFERS_2048 + #endif + + /* always include smallest testing 32 byte RSA/ECC keys */ + #define USE_CERT_BUFFERS_256 +#else + /* define your own certificate macros; see user_settings.h */ +#endif #include #include diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/main.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/main.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/main.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/main.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/time_helper.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/time_helper.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/time_helper.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/time_helper.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/wifi_connect.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/wifi_connect.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/wifi_connect.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/include/wifi_connect.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/time_helper.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/time_helper.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/time_helper.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/time_helper.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/wifi_connect.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/wifi_connect.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/wifi_connect.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_client/main/wifi_connect.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -7,6 +7,19 @@ cmake_minimum_required(VERSION 3.16) +# For the main project using ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "Adding mlongcalls") + add_compile_options(-mlongcalls) + add_link_options(-mlongcalls) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls") + endif() +endif() + # Optional no watchdog typically used for test & benchmark if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1") @@ -144,5 +157,15 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake) +# Once the project is loaded, next check for ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "mlongcalls for all components") + idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND) + endif() +endif() + project(wolfssl_server) message(STATUS "end project") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -19,23 +19,62 @@ # # cmake for wolfssl Espressif projects # -# Version 5.7.2 Espressif ESP-IDF integration +# Version 5.8.0 Espressif ESP-IDF + PlatformIO integration (2) # # See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html # message(STATUS "Begin wolfssl ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") cmake_minimum_required(VERSION 3.16) +# The scope of this CMAKE_C_FLAGS is just this component: +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") + +set(CMAKE_CURRENT_SOURCE_DIR ".") + +# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: +# set(WOLFSSL_ROOT "c:/workspace/my_wolfssl" ) + +if ( "${WOLFSSL_ROOT}" STREQUAL "") + set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) +endif() + set(VERBOSE_COMPONENT_MESSAGES 1) # Optional requires include: # set(THIS_ESP_TLS "esp-tls") set(THIS_ESP_TLS "") +# LIBWOLFSSL_CMAKE_OUTPUT can be printed at runtime +set(LIBWOLFSSL_CMAKE_OUTPUT "") + + +if(CMAKE_BUILD_EARLY_EXPANSION) + message(STATUS "Skipping libwolfssl_output.h update during CMAKE_BUILD_EARLY_EXPANSION") +else() + # Initialize a new libwolfssl_output.h in the cmake build directory. + if( EXISTS "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + # The next WRITE replaces a file. + # This is here to remove any ambiguity on file removal & generation. + file(REMOVE "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + endif() + + file(WRITE "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "/* libwolfssl_output.h generated by wolfssl component */\n" + "#ifndef _LIBWOLFSSL_OUTPUT_H_\n" + "\n" + "#define _LIBWOLFSSL_OUTPUT_H_\n\n") +endif() + +# Append messages with: +# LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n"message" "0") +# See function: APPEND_LIBWOLFSSL_CMAKE_OUTPUT + # function: IS_ESP_IDF_COMPONENT # output: RESULT = 1 (true) if this component is located in the ESP-IDF components # otherwise 0 (false) -function( IS_ESP_IDF_COMPONENT RESULT ) +function( IS_ESP_IDF_COMPONENT + RESULT) # NOTE: Component location is based on the location of the CMakeList.txt # and *not* the location of the wolfSSL source code. (which may be anywhere) @@ -55,6 +94,96 @@ endif() endfunction() +# +# LIBWOLFSSL_SAVE_INFO(VAR_OUTPUT THIS_VAR VAR_RESULT) +# +# Save the THIS_VAR as a string in a macro called VAR_OUTPUT +# +# VAR_OUTPUT: the name of the macro to define +# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() +# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. +# +function ( LIBWOLFSSL_SAVE_INFO VAR_OUTPUT THIS_VAR VAR_RESULT ) + # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. + string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) + + # if we had a successful operation, save the THIS_VAR in VAR_OUTPUT + if(${IS_VALID_VALUE}) + + if(0) + # Optional debug + message(STATUS "Looking for LF in ${THIS_VAR}") + endif() + + # Check if the text to print in THIS_VAR is multi-line + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + list(LENGTH LINES LINE_COUNT) + + # Save var to "libwolfssl_output.h" header if multi-line, otherwise a simple compile def + if(LINE_COUNT GREATER 1) + message(STATUS "Setting HAVE_LIBWOLFSSL_OUTPUT_HEADER=1 for ${VAR_OUTPUT}") + add_compile_definitions(HAVE_LIBWOLFSSL_OUTPUT_HEADER=1) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#undef ${VAR_OUTPUT}\n") + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#define ${VAR_OUTPUT} \\\n") + + # Split into lines + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + foreach(LINE IN LISTS LINES) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\"${LINE}\\n\" \\\n") + endforeach() + + # Final empty line to close the macro + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\n") + + message(STATUS "COMPONENT_LIB=${COMPONENT_LIB}") + target_include_directories(${COMPONENT_LIB} PRIVATE "${CMAKE_BINARY_DIR}") + else() + message(STATUS "No HAS_LIBWOLFSSL_OUTPUT_HEADER") + # We should not have any, but just to be sure: + # Strip newline chars in THIS_VAR parameter and save in VAR_VALUE + string(REPLACE "\n" "" VAR_VALUE "${THIS_VAR}") + + # we'll could percolate the value to the parent for possible later use + # set(${VAR_OUTPUT} ${VAR_VALUE} PARENT_SCOPE) + + # but we're only using it here in this function + set(${VAR_OUTPUT} ${VAR_VALUE}) + + # we'll print what we found to the console + message(STATUS "Found ${VAR_OUTPUT}=${VAR_VALUE}") + + # the interesting part is defining the VAR_OUTPUT name a value to use in the app + add_compile_definitions(${VAR_OUTPUT}=\"${VAR_VALUE}\") + + endif() + else() + # if we get here, check the execute_process command and parameters. + message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") + set(${VAR_OUTPUT} "Unknown") + endif() + + +endfunction() # LIBWOLFSSL_SAVE_INFO + +# +# APPEND_LIBWOLFSSL_CMAKE_OUTPUT(THIS_MESSAGE OUTPUT_VALUE) +# +# Append the text in THIS_MESSAGE to LIBWOLFSSL_CMAKE_OUTPUT. +# String is available at runtime in app +# + +function( APPEND_LIBWOLFSSL_CMAKE_OUTPUT + THIS_MESSAGE ) + # Normally, we'd simply print a message: + message(STATUS "${THIS_MESSAGE}") + + # But here we'll pass the entire LIBWOLFSSL_CMAKE_OUTPUT as a string definition to the app + set(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n${THIS_MESSAGE}" PARENT_SCOPE) + + # We don't call LIBWOLFSSL_SAVE_INFO here as it would add duplicate definitions + # See single instance at the end of this file. +endfunction() + # Determine if this cmake file is located in the ESP-IDF component directory or not, # and if so, if it is being ignored (allowing the use of a local project one, instead). IS_ESP_IDF_COMPONENT( IS_WOLSSL_ESP_IDF_COMPONENT ) @@ -77,20 +206,6 @@ message(STATUS "Cleaned wolfssl path: ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") endif() -# The scope of this CMAKE_C_FLAGS is just this component: -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") - -set(CMAKE_CURRENT_SOURCE_DIR ".") -# set(COMPONENT_REQUIRES lwip) # we typically don't need lwip directly in wolfssl component - -# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: -# set(WOLFSSL_ROOT "c:/test/my_wolfssl" ) - -if ( "${WOLFSSL_ROOT}" STREQUAL "") - set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) -endif() - if( "$ENV{IDF_PATH}" STREQUAL "" ) message(FATAL_ERROR "IDF_PATH Environment variable not set!") else() @@ -185,7 +300,9 @@ # Check environment variable name EVARPARAM as [name] # If defined, and has a value of EVARVALUE as [value], # then assign a compiler definition "-D[name]=[value]" -function(ENVIRONMENT_VAR_TO_MACRO EVARPARAM EVARVALUE) +function( ENVIRONMENT_VAR_TO_MACRO + EVARPARAM # Environment variable parameter name + EVARVALUE) # Environment variable value # If the EVARPARAM environment variable name is set to EVARVALUE, # set the compiler flag definition to enable CSV output. if ( "$ENV{${EVARPARAM}}" STREQUAL "${EVARVALUE}") @@ -217,7 +334,8 @@ # function: IS_WOLFSSL_SOURCE # parameter: DIRECTORY_PARAMETER - the directory to test # output: RESULT = contains contents of DIRECTORY_PARAMETER for wolfssl directory, otherwise blank. -function( IS_WOLFSSL_SOURCE DIRECTORY_PARAMETER +function( IS_WOLFSSL_SOURCE + DIRECTORY_PARAMETER RESULT ) if (EXISTS "${DIRECTORY_PARAMETER}/wolfcrypt/src") set(${RESULT} "${DIRECTORY_PARAMETER}" PARENT_SCOPE) @@ -233,7 +351,8 @@ # Example usage: # FIND_WOLFSSL_DIRECTORY(WOLFSSL_ROOT) # ********************************************************************************************* -function(FIND_WOLFSSL_DIRECTORY OUTPUT_FOUND_WOLFSSL_DIRECTORY) +function( FIND_WOLFSSL_DIRECTORY + OUTPUT_FOUND_WOLFSSL_DIRECTORY) message(STATUS "Starting FIND_WOLFSSL_DIRECTORY: ${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}") if ( "${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}" STREQUAL "" ) @@ -673,9 +792,9 @@ # depending on the environment, we may need to swap backslashes with forward slashes string(REPLACE "\\" "/" RTOS_IDF_PATH "$ENV{IDF_PATH}/components/freertos/FreeRTOS-Kernel/include/freertos") - if(WOLFSSL_ROOT) - string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) - endif() + if(WOLFSSL_ROOT) + string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) + endif() if(IS_DIRECTORY "${RTOS_IDF_PATH}") message(STATUS "Found current RTOS path: ${RTOS_IDF_PATH}") @@ -726,6 +845,7 @@ "\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c + "\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/x509.c\"" "\"${WOLFSSL_ROOT}/src/x509_str.c\"" "\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default @@ -789,16 +909,35 @@ AND NOT CONFIG_WOLFSSL_CERTIFICATE_BUNDLE_DEFAULT_NONE AND NOT ("${CONFIG_TARGET_PLATFORM}" STREQUAL "esp8266") ) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("wolfSSL Certificate Bundles Enabled") + if (CMAKE_BUILD_EARLY_EXPANSION) - message(ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") + message(FATAL_ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") endif() # reminder: we need a value for wolfSSL root first! if( "${WOLFSSL_ROOT}" STREQUAL "" ) - message(ERROR "Certificate bundles need a value for WOLFSSL_ROOT") + message(FATAL_ERROR "Certificate bundles need a value for WOLFSSL_ROOT") endif() + + # Cert bundle in wolfSSL source unless otherwise specified later set(WOLFSSL_ESP_CRT_BUNDLE_DIR ${WOLFSSL_ROOT}/wolfcrypt/src/port/Espressif/esp_crt_bundle) message(STATUS "WOLFSSL_ESP_CRT_BUNDLE_DIR=${WOLFSSL_ESP_CRT_BUNDLE_DIR}") - if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + + if(DEFINED ENV{PLATFORMIO_PROJECT_DIR}) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO") + set(IS_PLATFORMIO 1) + else() + # Some environments may not have environment variable, so double check if we are in .pio + if("${CMAKE_BINARY_DIR}" MATCHES "/\\.pio/") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO via CMAKE_BINARY_DIR") + set(IS_PLATFORMIO 1) + else() + set(IS_PLATFORMIO 0) + endif() + endif() + + if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}" OR IS_PLATFORMIO) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Special processing for wolfSSL Certificate Bundles") set(bundle_name "x509_crt_bundle_wolfssl") # For now the certs are in the same directory @@ -824,9 +963,9 @@ get_filename_component(custom_bundle_path ${CONFIG_WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH} ABSOLUTE BASE_DIR "${project_dir}") list(APPEND crt_paths ${custom_bundle_path}) - message(STATUS "Using a custom wolfSSL bundle path: ${custom_bundle_path}") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Using a custom wolfSSL bundle path: ${custom_bundle_path}") else() - message(STATUS "Not using a custom wolfSSL bundle path.") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Not using a custom wolfSSL bundle path") endif() list(APPEND args --input ${crt_paths} -q) @@ -843,25 +982,107 @@ message(STATUS "args ${args}") message(STATUS "cert_bundle ${cert_bundle}") - # Generate bundle according to config - # File is generated at build time, not cmake load - add_custom_command(OUTPUT ${crt_bundle} - COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} - DEPENDS ${custom_bundle_path} - VERBATIM) + if (IS_PLATFORMIO) + # PlatformIO cannot generate a Certificate Bundle at build time + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("PlatformIO is using a predefined bundle rather than generating one") + + if ( "${WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "n") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Alternate Certificate Bundle Path and Name not enabled, assuming [project]/certs/x509_crt_bundle_wolfssl") + # Reminder this CMakeLists.txt should be in [project]/components/wolfssl, so ./certs is two directories up + set(crt_bundle_option "../../certs/x509_crt_bundle_wolfssl") + else() + string(SUBSTRING "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" 0 2 CERT_PATH_FIRST_TWO) + if(CERT_PATH_FIRST_TWO STREQUAL "./" OR CERT_PATH_FIRST_TWO STREQUAL ".\\") + set(IS_CERT_BUNDLE_RELATIVE_PATH 1) + message(STATUS "Alternate Cert Path is relative to project.") + else() + set(IS_CERT_BUNDLE_RELATIVE_PATH 0) + message(STATUS "Alternate Cert Path is not relative to project.") + endif() + + # The cert bundle is not a standard cert, so we con't add to the crt_paths. + # Still, we may have an alternate location, particulatly needed for PlatformIO: + if(IS_CERT_BUNDLE_RELATIVE_PATH) + message(STATUS "CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME = ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Relative alternate_bundle_path: ${alternate_bundle_path}") + + SET(crt_bundle_option "${CMAKE_SOURCE_DIR}/${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + else() + message(STATUS "alternate_bundle_path: ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Not using an alternate wolfSSL bundle file.") + SET(crt_bundle_option "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + endif() + endif() + + # Clean the path, removing any extra "./" etc. + # Number of spaces in message strings is to align path value outputs + message(STATUS "This crt_bundle_option value: ${crt_bundle_option}") + if(${CMAKE_VERSION} VERSION_LESS "3.19") + message("WARNING: CMake version is ${CMAKE_VERSION} ? file(REAL_PATH ...) is not supported. Falling back to manual path normalization.") + # optional fallback logic here + get_filename_component(crt_bundle_file_component "${crt_bundle_option}" ABSOLUTE) + message(STATUS "Interim crt_bundle_file_component: ${crt_bundle_file_component}") + file(TO_CMAKE_PATH "${crt_bundle_file_component}" crt_bundle) + message(STATUS "TO_CMAKE_PATH crt_bundle result: ${crt_bundle}") + # set(crt_bundle "C:/workspace/pio_wolfssl-upstream-test-wolfssl_cert_bundle/esp32-c6/certs/x509_crt_bundle_wolfssl") + else() + file(REAL_PATH "${crt_bundle_option}" crt_bundle) + endif() + + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Certificate Bundle: ${crt_bundle}") + message(STATUS "This cleaned crt_bundle value: ${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + message(STATUS "Reminder: platformio.ini will need this value set for board_build.embed_files =") + message(STATUS "${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + + # e.g. SET(crt_bundle "C:/workspace/pio_wolfssl/esp32-c6/certs/x509_crt_bundle_wolfssl") + # - if(EXISTS "${crt_bundle}") - message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + # Normally x509_crt_bundle_wolfssl built by python script called from cmake. + # See https://github.com/wolfSSL/wolfssl/blob/master/wolfcrypt/src/port/Espressif/esp_crt_bundle/gen_crt_bundle.py + # Reminder ESP-IDF scripts are NOT called from CMake for PlatformIO builds. + # + # The easiest way to generate the default file is to build with ESP-IDF and copy the files to [project]/main + # + # for example: + # build\VisualGDB\Debug\x509_crt_bundle_wolfssl.s + # build\VisualGDB\Debug\esp-idf\wolfssl\x509_crt_bundle_wolfssl + # + message(STATUS "Confirming cert bundle exists...") + if(EXISTS "${crt_bundle}") + # Number of spaces is to align path value outputs + message(STATUS "Bundle file found for PlatformIO: ${crt_bundle}") + else() + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("ERROR: Failed to find bundle file found for PlatformIO: ${crt_bundle}") + message(STATUS "Check for entry in platformio.ini: board_build.embed_files = certs/x509_crt_bundle_wolfssl ") + message(FATAL_ERROR "WOLFSSL_CERTIFICATE_BUNDLE is enabled for PlatformIO, but predefined file not found: ${crt_bundle}") + endif() else() - message(STATUS "Bundle file expected during next build: ${crt_bundle}") - endif() + # APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Generate bundle: ${GENERATE_CERT_BUNDLEPY} ${args}") + # Not PlatformIO + # Generate bundle according to config + # File is generated at build time, not cmake load + add_custom_command(OUTPUT ${crt_bundle} + COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} + DEPENDS ${custom_bundle_path} + VERBATIM) - # Reminder the file is generated at build time, not cmake load time. - message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + if(EXISTS "${crt_bundle}") + message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + else() + message(STATUS "Bundle file expected during next build: ${crt_bundle}") + endif() - add_custom_target(custom_wolfssl_bundle DEPENDS ${cert_bundle}) + # Reminder the file is generated at build time, not cmake load time. + message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + endif() + + add_custom_target(custom_wolfssl_bundle DEPENDS ${crt_bundle}) - # the wolfSSL crtificate bundle is baked into wolfSSL + # the wolfSSL certificate bundle is baked into wolfSSL add_dependencies(${COMPONENT_LIB} custom_wolfssl_bundle) # COMPONENT_LIB may vary: __idf_wolfssl, __idf_esp_wolfssl, etc @@ -871,7 +1092,12 @@ APPEND PROPERTY ADDITIONAL_CLEAN_FILES "${crt_bundle}") else() - message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + if(IS_PLATFORMIO) + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but cannot be generated in PlatformmIO") + else() + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + endif() + message(FATAL_ERROR "not detected") endif() endif() @@ -930,42 +1156,6 @@ # end multiple component check -# -# LIBWOLFSSL_SAVE_INFO(VAR_OUPUT THIS_VAR VAR_RESULT) -# -# Save the THIS_VAR as a string in a macro called VAR_OUPUT -# -# VAR_OUPUT: the name of the macro to define -# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() -# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. -# -function ( LIBWOLFSSL_SAVE_INFO VAR_OUPUT THIS_VAR VAR_RESULT ) - # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. - string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) - - # if we had a successful operation, save the THIS_VAR in VAR_OUPUT - if(${IS_VALID_VALUE}) - # strip newline chars in THIS_VAR parameter and save in VAR_VALUE - string(REPLACE "\n" "" VAR_VALUE ${THIS_VAR}) - - # we'll could percolate the value to the parent for possible later use - # set(${VAR_OUPUT} ${VAR_VALUE} PARENT_SCOPE) - - # but we're only using it here in this function - set(${VAR_OUPUT} ${VAR_VALUE}) - - # we'll print what we found to the console - message(STATUS "Found ${VAR_OUPUT}=${VAR_VALUE}") - - # the interesting part is defining the VAR_OUPUT name a value to use in the app - add_compile_definitions(${VAR_OUPUT}=\"${VAR_VALUE}\") - else() - # if we get here, check the execute_process command and parameters. - message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") - set(${VAR_OUPUT} "Unknown") - endif() -endfunction() # LIBWOLFSSL_SAVE_INFO - execute_process( COMMAND ${git_cmd} "rev-parse" "--is-inside-work-tree" OUTPUT_VARIABLE IS_GIT_REPO @@ -1049,6 +1239,14 @@ message(STATUS "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") endif() +# A single instance of potentially multiple cmake messages to send to app: +message(STATUS "LIBWOLFSSL_CMAKE_OUTPUT: ${LIBWOLFSSL_CMAKE_OUTPUT}") +LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}" "0") + +file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "\n" + "#endif\n" ) + message(STATUS "************************************************************************************************") message(STATUS "wolfSSL component config complete!") message(STATUS "************************************************************************************************") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/Kconfig mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/Kconfig --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/Kconfig 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/Kconfig 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -274,10 +274,28 @@ bool "Do not use the default certificate bundle" endchoice + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE + depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + default n + bool "Use alternate certificate bundle" + help + Typically only used for PlatformIO which cannot generate a certificate bundle at build time. + Enable this option to specify a fixed wolfSSL certificate file path and file name. + + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME + depends on WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + string "Default certificate bundle alternate path and name" + default "./certs/x509_crt_bundle_wolfssl" + help + Name of the default certificate bundle directory. Typically used only with PlatformIO. + Reminder PlatformIO cannot generate a bundle from cmake python script call. Relative + paths are with respect to root of this project. + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL default n bool "Add custom certificates to the default bundle" + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH depends on WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL string "Custom certificate bundle path" @@ -401,24 +419,25 @@ when performance is critical. See also metrics for counting instances. endmenu # wolfSSL Hardware Acceleration + # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- - menu "wolfSSL Experimental Options" + menu "wolfSSL Post Quantum Kyber KEM PQ" - config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS - bool "Enable wolfSSL Experimental Settings" + config ESP_WOLFSSL_ENABLE_MLKEM + bool "Enable ML-KEM (Kyber Post Quantum)" default n help - Enables experimental settings for wolfSSL. See documentation. + bool "Enable wolfSSL ML-KEM" - config ESP_WOLFSSL_ENABLE_KYBER - bool "Enable wolfSSL Kyber" + config WOLFSSL_ENABLE_KYBER + bool "Enable Kyber (Round 3)" default n help - Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + Enable old compatibility with Kyber Round 3 (enables experimental settings) - endmenu # wolfSSL Experimental Options + endmenu # wolfSSL Post Quantum Kyber KEM PQ # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- @@ -429,12 +448,23 @@ help Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + config ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING + bool "Suppress build-time warnings for main stack size" + default n + help + Useful only when wolfSSL is running in main task. See FreeRTOS stack size for custom tasks. + config ESP_WOLFSSL_TEST_LOOP bool "Run test apps in a loop until failure" default y help Enable a loop wrapper for benchmark, http_client, and wolfssl test apps. + config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS + bool "Enable wolfSSL Experimental Settings" + default n + help + Enables experimental settings for wolfSSL. See documentation. endmenu # wolfSSL Debug Options # ----------------------------------------------------------------------------------------------------------------- diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/README.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/README.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/README.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/README.md 2026-01-31 13:27:49.000000000 +0000 @@ -154,7 +154,7 @@ ## Licensing and Support -wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv2 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv2 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. +wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv3 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv3 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. See the LICENSE.txt, visit wolfssl.com/license, contact us at licensing@wolfssl.com or call +1 425 245 8247 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/component.mk mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/component.mk --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/component.mk 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/component.mk 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/include/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/include/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/include/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/components/wolfssl/include/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -30,7 +30,7 @@ /* This user_settings.h is for Espressif ESP-IDF * - * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1 + * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs * * Do not include any wolfssl headers here. * @@ -110,6 +110,7 @@ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ /* #define USE_WOLFSSL_ESP_SDK_WIFI */ #define TEST_ESPIDF_ALL_WOLFSSL + #define HAVE_HKDF #elif defined(CONFIG_WOLFSSL_EXAMPLE_NAME_BENCHMARK) /* See https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark */ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ @@ -208,18 +209,40 @@ /* the code is older or does not have application name defined. */ #endif /* Example wolfSSL Configuration app settings */ -/* Experimental Kyber */ -#ifdef CONFIG_WOLFSSL_ENABLE_KYBER +/* Optional MLKEM (Kyber Post Quantum) */ +/* ./configure --enable-mlkem */ +/* See Kconfig / menuconfig ESP_WOLFSSL_ENABLE_MLKEM */ +#ifdef CONFIG_ESP_WOLFSSL_ENABLE_MLKEM /* Kyber typically needs a minimum 10K stack */ - #define WOLFSSL_EXPERIMENTAL_SETTINGS #define WOLFSSL_HAVE_MLKEM #define WOLFSSL_WC_MLKEM - #define WOLFSSL_SHA3 + #define WOLFSSL_SHAKE128 + #define WOLFSSL_SHAKE256 + + /* Old code points to keep compatibility with Kyber Round 3. */ + /* ./configure --enable-kyber=all --enable-experimental */ + #if defined(CONFIG_WOLFSSL_ENABLE_KYBER) + #define WOLFSSL_MLKEM_KYBER + #define WOLFSSL_EXPERIMENTAL_SETTINGS + #endif + #if defined(CONFIG_IDF_TARGET_ESP8266) /* With limited RAM, we'll disable some of the Kyber sizes: */ #define WOLFSSL_NO_KYBER1024 #define WOLFSSL_NO_KYBER768 + #define WOLFSSL_NO_ML_KEM_1024 + #define WOLFSSL_NO_ML_KEM_768 #define NO_SESSION_CACHE + #else + /* Only needed for older wolfssl versions, see mlkem.h */ + #define WOLFSSL_KYBER1024 + /* optional alternative sizes: */ + /* #define WOLFSSL_KYBER768 */ + /* #define WOLFSSL_KYBER512 */ + /* -- or disable a specific one: */ + /* #define WOLFSSL_NO_ML_KEM_1024 */ + /* #define WOLFSSL_NO_ML_KEM_768 */ + /* #define WOLFSSL_NO_ML_KEM_512 */ #endif #endif @@ -234,11 +257,6 @@ #define WOLFSSL_AES_DIRECT #endif -/* Pick a cert buffer size: */ -/* #define USE_CERT_BUFFERS_2048 */ -/* #define USE_CERT_BUFFERS_1024 */ -#define USE_CERT_BUFFERS_2048 - /* The Espressif sdkconfig will have chipset info. ** ** Some possible values: @@ -354,10 +372,6 @@ /* #define DEBUG_WOLFSSL */ #define DEBUG_WOLFSSL_MALLOC -/* See test.c that sets cert buffers; we'll set them here: */ -#define USE_CERT_BUFFERS_256 -#define USE_CERT_BUFFERS_2048 - /* RSA_LOW_MEM: Half as much memory but twice as slow. */ #define RSA_LOW_MEM @@ -531,7 +545,7 @@ /* Adjust wait-timeout count if you see timeout in RSA HW acceleration. * Set to very large number and enable WOLFSSL_HW_METRICS to determine max. */ #ifndef ESP_RSA_TIMEOUT_CNT - #define ESP_RSA_TIMEOUT_CNT 0xFF0000 + #define ESP_RSA_TIMEOUT_CNT 0xFF0000 #endif /* hash limit for test.c */ @@ -559,8 +573,6 @@ defined(WOLFSSL_SP_RISCV32) #endif -#define WOLFSSL_SMALL_STACK - #define HAVE_VERSION_EXTENDED_INFO /* #define HAVE_WC_INTROSPECTION */ @@ -657,9 +669,6 @@ #undef HAVE_AESGCM #define HAVE_AESGCM -#else - /* default settings */ - #define USE_CERT_BUFFERS_2048 #endif /* Chipset detection from sdkconfig.h @@ -783,6 +792,15 @@ #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI /***** END CONFIG_IDF_TARGET_ESP32H2 *****/ +#elif defined(CONFIG_IDF_TARGET_ESP32P4) + #define WOLFSSL_ESP32 + /* wolfSSL Hardware Acceleration not yet implemented */ + #define NO_ESP32_CRYPT + #define NO_WOLFSSL_ESP32_CRYPT_HASH + #define NO_WOLFSSL_ESP32_CRYPT_AES + #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI + /***** END CONFIG_IDF_TARGET_ESP32P4 *****/ + #elif defined(CONFIG_IDF_TARGET_ESP8266) #define WOLFSSL_ESP8266 @@ -823,13 +841,18 @@ #ifndef NO_RSA #define ESP32_USE_RSA_PRIMITIVE - #if defined(CONFIG_IDF_TARGET_ESP32) - #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + /* See idf.py menuconfig for stack warning settings */ + #if !defined(CONFIG_ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING) #if CONFIG_ESP_MAIN_TASK_STACK_SIZE < 10500 - #warning "RSA may be difficult with less than 10KB Stack "/ + #warning "RSA may be difficult with less than 10KB Stack" #endif + #else + /* Implement your own stack warning here */ #endif + #endif + #if defined(CONFIG_IDF_TARGET_ESP32) /* NOTE HW unreliable for small values! */ /* threshold for performance adjustment for HW primitive use */ /* X bits of G^X mod P greater than */ @@ -926,6 +949,8 @@ #define ATCA_WOLFSSL */ +/* optional SM4 Ciphers. See github.com/wolfSSL/wolfsm */ + /***************************** Certificate Macros ***************************** * * The section below defines macros used in typically all of the wolfSSL @@ -1017,9 +1042,13 @@ #define WOLFSSL_BASE16 #else #if defined(USE_CERT_BUFFERS_2048) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_1024 + #error "USE_CERT_BUFFERS_1024 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_2048 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1039,9 +1068,13 @@ #define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #elif defined(USE_CERT_BUFFERS_1024) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_2048 + #error "USE_CERT_BUFFERS_2048 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_1024 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1061,7 +1094,6 @@ #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #else /* Optionally define custom cert arrays, sizes, and types here */ - #error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024" #endif #endif /* Conditional key and cert constant names */ diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/Kconfig.projbuild mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/Kconfig.projbuild --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/Kconfig.projbuild 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/Kconfig.projbuild 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/main.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/main.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/main.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/main.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/server-tls.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/server-tls.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/server-tls.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/server-tls.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -21,6 +21,24 @@ #ifndef _SERVER_TLS_ #define _SERVER_TLS_ +/* This example uses wolfssl test certificates */ +#if 1 + /* See wolfssl/certs_test.h */ + #if defined(CONFIG_IDF_TARGET_ESP32C2) || \ + defined(CONFIG_IDF_TARGET_ESP8684) || \ + defined(CONFIG_IDF_TARGET_ESP8266) + /* Use smaller certs for low-memory devices */ + #define USE_CERT_BUFFERS_1024 + #else + #define USE_CERT_BUFFERS_2048 + #endif + + /* always include smallest testing 32 byte RSA/ECC keys */ + #define USE_CERT_BUFFERS_256 +#else + /* define your own certificate macros; see user_settings.h */ +#endif + #include /* includes wolfSSL user-settings.h */ #include #include "sdkconfig.h" diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/time_helper.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/time_helper.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/time_helper.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/time_helper.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/wifi_connect.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/wifi_connect.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/wifi_connect.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/include/wifi_connect.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/server-tls.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/server-tls.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/server-tls.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/server-tls.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -130,6 +130,7 @@ int connd; int shutdown = 0; int ret; + int ret_i; /* interim return values */ socklen_t size = sizeof(clientAddr); size_t len; #if 0 @@ -329,20 +330,40 @@ if ((ssl = wolfSSL_new(ctx)) == NULL) { ESP_LOGE(TAG, "ERROR: failed to create WOLFSSL object"); } + else { +#ifdef DEBUG_WOLFSSL + ESP_LOGI(TAG, "\nCreated WOLFSSL object:"); + ShowCiphers(ssl); + this_heap = esp_get_free_heap_size(); + ESP_LOGI(TAG, "tls_smp_client_task heap @ %p = %d", + &this_heap, this_heap); +#endif #if defined(WOLFSSL_HAVE_MLKEM) + /* Client sets the keyshare; we at the server only need to enable it. */ + ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM is enabled"); + ret_i = WOLFSSL_SUCCESS; + + #if defined(WOLFSSL_KYBER1024) + ESP_LOGI(TAG, "WOLFSSL_KYBER1024 is enabled"); + #elif defined(WOLFSSL_KYBER768) + ESP_LOGI(TAG, "WOLFSSL_KYBER768 is enabled"); + #elif defined(WOLFSSL_KYBER512) + ESP_LOGI(TAG, "WOLFSSL_KYBER512 is enabled"); + #else + ESP_LOGW(TAG, "WOLFSSL_HAVE_MLKEM enabled but no key size available."); + ret_i = ESP_FAIL; + #endif + + if (ret_i == WOLFSSL_SUCCESS) { + ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM success"); + } else { - /* If success creating CTX and Kyber enabled, set key share: */ - ret = wolfSSL_UseKeyShare(ssl, WOLFSSL_P521_KYBER_LEVEL5); - if (ret == SSL_SUCCESS) { - ESP_LOGI(TAG, "UseKeyShare WOLFSSL_P521_KYBER_LEVEL5 success"); - } - else { - ESP_LOGE(TAG, "UseKeyShare WOLFSSL_P521_KYBER_LEVEL5 failed"); - } + ESP_LOGE(TAG, "WOLFSSL_HAVE_MLKEM failed"); } #else ESP_LOGI(TAG, "WOLFSSL_HAVE_MLKEM is not enabled, not using PQ."); #endif + } /* show what cipher connected for this WOLFSSL* object */ ShowCiphers(ssl); @@ -353,6 +374,8 @@ ret = wolfSSL_accept(ssl); if (ret == SSL_SUCCESS) { ShowCiphers(ssl); + const char* curve = wolfSSL_get_curve_name(ssl); + ESP_LOGI(TAG, "Server negotiated key share group: %s", curve); } else { ESP_LOGE(TAG, "wolfSSL_accept error %d", diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/time_helper.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/time_helper.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/time_helper.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/time_helper.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/wifi_connect.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/wifi_connect.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/wifi_connect.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_server/main/wifi_connect.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -7,6 +7,19 @@ cmake_minimum_required(VERSION 3.16) +# For the main project using ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "Adding mlongcalls") + add_compile_options(-mlongcalls) + add_link_options(-mlongcalls) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlongcalls") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlongcalls") + endif() +endif() + # Optional no watchdog typically used for test & benchmark if (idf_target STREQUAL "esp8266" OR IDF_TARGET STREQUAL "esp8266" OR IDF_VERSION_MAJOR VERSION_LESS "5.0") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_ESP_NO_WATCHDOG=1") @@ -144,5 +157,15 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake) +# Once the project is loaded, next check for ESP-IDF version 6 or greater. +# Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered +# So we'll allow long calls with the `-mlongcalls` compiler option for all components. +if(IDF_VERSION_MAJOR GREATER_EQUAL 6) + if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") + message(STATUS "mlongcalls for all components") + idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND) + endif() +endif() + project(wolfssl_test) message(STATUS "end project") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -19,23 +19,62 @@ # # cmake for wolfssl Espressif projects # -# Version 5.7.2 Espressif ESP-IDF integration +# Version 5.8.0 Espressif ESP-IDF + PlatformIO integration (2) # # See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html # message(STATUS "Begin wolfssl ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") cmake_minimum_required(VERSION 3.16) +# The scope of this CMAKE_C_FLAGS is just this component: +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") + +set(CMAKE_CURRENT_SOURCE_DIR ".") + +# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: +# set(WOLFSSL_ROOT "c:/workspace/my_wolfssl" ) + +if ( "${WOLFSSL_ROOT}" STREQUAL "") + set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) +endif() + set(VERBOSE_COMPONENT_MESSAGES 1) # Optional requires include: # set(THIS_ESP_TLS "esp-tls") set(THIS_ESP_TLS "") +# LIBWOLFSSL_CMAKE_OUTPUT can be printed at runtime +set(LIBWOLFSSL_CMAKE_OUTPUT "") + + +if(CMAKE_BUILD_EARLY_EXPANSION) + message(STATUS "Skipping libwolfssl_output.h update during CMAKE_BUILD_EARLY_EXPANSION") +else() + # Initialize a new libwolfssl_output.h in the cmake build directory. + if( EXISTS "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + # The next WRITE replaces a file. + # This is here to remove any ambiguity on file removal & generation. + file(REMOVE "${CMAKE_BINARY_DIR}/libwolfssl_output.h") + endif() + + file(WRITE "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "/* libwolfssl_output.h generated by wolfssl component */\n" + "#ifndef _LIBWOLFSSL_OUTPUT_H_\n" + "\n" + "#define _LIBWOLFSSL_OUTPUT_H_\n\n") +endif() + +# Append messages with: +# LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n"message" "0") +# See function: APPEND_LIBWOLFSSL_CMAKE_OUTPUT + # function: IS_ESP_IDF_COMPONENT # output: RESULT = 1 (true) if this component is located in the ESP-IDF components # otherwise 0 (false) -function( IS_ESP_IDF_COMPONENT RESULT ) +function( IS_ESP_IDF_COMPONENT + RESULT) # NOTE: Component location is based on the location of the CMakeList.txt # and *not* the location of the wolfSSL source code. (which may be anywhere) @@ -55,6 +94,96 @@ endif() endfunction() +# +# LIBWOLFSSL_SAVE_INFO(VAR_OUTPUT THIS_VAR VAR_RESULT) +# +# Save the THIS_VAR as a string in a macro called VAR_OUTPUT +# +# VAR_OUTPUT: the name of the macro to define +# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() +# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. +# +function ( LIBWOLFSSL_SAVE_INFO VAR_OUTPUT THIS_VAR VAR_RESULT ) + # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. + string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) + + # if we had a successful operation, save the THIS_VAR in VAR_OUTPUT + if(${IS_VALID_VALUE}) + + if(0) + # Optional debug + message(STATUS "Looking for LF in ${THIS_VAR}") + endif() + + # Check if the text to print in THIS_VAR is multi-line + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + list(LENGTH LINES LINE_COUNT) + + # Save var to "libwolfssl_output.h" header if multi-line, otherwise a simple compile def + if(LINE_COUNT GREATER 1) + message(STATUS "Setting HAVE_LIBWOLFSSL_OUTPUT_HEADER=1 for ${VAR_OUTPUT}") + add_compile_definitions(HAVE_LIBWOLFSSL_OUTPUT_HEADER=1) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#undef ${VAR_OUTPUT}\n") + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "#define ${VAR_OUTPUT} \\\n") + + # Split into lines + string(REPLACE "\n" ";" LINES "${THIS_VAR}") + foreach(LINE IN LISTS LINES) + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\"${LINE}\\n\" \\\n") + endforeach() + + # Final empty line to close the macro + file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" "\n") + + message(STATUS "COMPONENT_LIB=${COMPONENT_LIB}") + target_include_directories(${COMPONENT_LIB} PRIVATE "${CMAKE_BINARY_DIR}") + else() + message(STATUS "No HAS_LIBWOLFSSL_OUTPUT_HEADER") + # We should not have any, but just to be sure: + # Strip newline chars in THIS_VAR parameter and save in VAR_VALUE + string(REPLACE "\n" "" VAR_VALUE "${THIS_VAR}") + + # we'll could percolate the value to the parent for possible later use + # set(${VAR_OUTPUT} ${VAR_VALUE} PARENT_SCOPE) + + # but we're only using it here in this function + set(${VAR_OUTPUT} ${VAR_VALUE}) + + # we'll print what we found to the console + message(STATUS "Found ${VAR_OUTPUT}=${VAR_VALUE}") + + # the interesting part is defining the VAR_OUTPUT name a value to use in the app + add_compile_definitions(${VAR_OUTPUT}=\"${VAR_VALUE}\") + + endif() + else() + # if we get here, check the execute_process command and parameters. + message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") + set(${VAR_OUTPUT} "Unknown") + endif() + + +endfunction() # LIBWOLFSSL_SAVE_INFO + +# +# APPEND_LIBWOLFSSL_CMAKE_OUTPUT(THIS_MESSAGE OUTPUT_VALUE) +# +# Append the text in THIS_MESSAGE to LIBWOLFSSL_CMAKE_OUTPUT. +# String is available at runtime in app +# + +function( APPEND_LIBWOLFSSL_CMAKE_OUTPUT + THIS_MESSAGE ) + # Normally, we'd simply print a message: + message(STATUS "${THIS_MESSAGE}") + + # But here we'll pass the entire LIBWOLFSSL_CMAKE_OUTPUT as a string definition to the app + set(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}\n${THIS_MESSAGE}" PARENT_SCOPE) + + # We don't call LIBWOLFSSL_SAVE_INFO here as it would add duplicate definitions + # See single instance at the end of this file. +endfunction() + # Determine if this cmake file is located in the ESP-IDF component directory or not, # and if so, if it is being ignored (allowing the use of a local project one, instead). IS_ESP_IDF_COMPONENT( IS_WOLSSL_ESP_IDF_COMPONENT ) @@ -77,20 +206,6 @@ message(STATUS "Cleaned wolfssl path: ${CONFIG_CUSTOM_SETTING_WOLFSSL_ROOT}") endif() -# The scope of this CMAKE_C_FLAGS is just this component: -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") - -set(CMAKE_CURRENT_SOURCE_DIR ".") -# set(COMPONENT_REQUIRES lwip) # we typically don't need lwip directly in wolfssl component - -# Optionally set your source to wolfSSL in your project CMakeLists.txt like this: -# set(WOLFSSL_ROOT "c:/test/my_wolfssl" ) - -if ( "${WOLFSSL_ROOT}" STREQUAL "") - set(WOLFSSL_ROOT "$ENV{WOLFSSL_ROOT}" ) -endif() - if( "$ENV{IDF_PATH}" STREQUAL "" ) message(FATAL_ERROR "IDF_PATH Environment variable not set!") else() @@ -185,7 +300,9 @@ # Check environment variable name EVARPARAM as [name] # If defined, and has a value of EVARVALUE as [value], # then assign a compiler definition "-D[name]=[value]" -function(ENVIRONMENT_VAR_TO_MACRO EVARPARAM EVARVALUE) +function( ENVIRONMENT_VAR_TO_MACRO + EVARPARAM # Environment variable parameter name + EVARVALUE) # Environment variable value # If the EVARPARAM environment variable name is set to EVARVALUE, # set the compiler flag definition to enable CSV output. if ( "$ENV{${EVARPARAM}}" STREQUAL "${EVARVALUE}") @@ -217,7 +334,8 @@ # function: IS_WOLFSSL_SOURCE # parameter: DIRECTORY_PARAMETER - the directory to test # output: RESULT = contains contents of DIRECTORY_PARAMETER for wolfssl directory, otherwise blank. -function( IS_WOLFSSL_SOURCE DIRECTORY_PARAMETER +function( IS_WOLFSSL_SOURCE + DIRECTORY_PARAMETER RESULT ) if (EXISTS "${DIRECTORY_PARAMETER}/wolfcrypt/src") set(${RESULT} "${DIRECTORY_PARAMETER}" PARENT_SCOPE) @@ -233,7 +351,8 @@ # Example usage: # FIND_WOLFSSL_DIRECTORY(WOLFSSL_ROOT) # ********************************************************************************************* -function(FIND_WOLFSSL_DIRECTORY OUTPUT_FOUND_WOLFSSL_DIRECTORY) +function( FIND_WOLFSSL_DIRECTORY + OUTPUT_FOUND_WOLFSSL_DIRECTORY) message(STATUS "Starting FIND_WOLFSSL_DIRECTORY: ${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}") if ( "${${OUTPUT_FOUND_WOLFSSL_DIRECTORY}}" STREQUAL "" ) @@ -673,9 +792,9 @@ # depending on the environment, we may need to swap backslashes with forward slashes string(REPLACE "\\" "/" RTOS_IDF_PATH "$ENV{IDF_PATH}/components/freertos/FreeRTOS-Kernel/include/freertos") - if(WOLFSSL_ROOT) - string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) - endif() + if(WOLFSSL_ROOT) + string(REPLACE "\\" "/" WOLFSSL_ROOT ${WOLFSSL_ROOT}) + endif() if(IS_DIRECTORY "${RTOS_IDF_PATH}") message(STATUS "Found current RTOS path: ${RTOS_IDF_PATH}") @@ -726,6 +845,7 @@ "\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c + "\"${WOLFSSL_ROOT}/src/ssl_sk.c\"" # included by ssl.c "\"${WOLFSSL_ROOT}/src/x509.c\"" "\"${WOLFSSL_ROOT}/src/x509_str.c\"" "\"${WOLFSSL_ROOT}/wolfcrypt/src/ext_kyber.c\"" # external non-wolfssl Kyber disabled by default @@ -789,16 +909,35 @@ AND NOT CONFIG_WOLFSSL_CERTIFICATE_BUNDLE_DEFAULT_NONE AND NOT ("${CONFIG_TARGET_PLATFORM}" STREQUAL "esp8266") ) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("wolfSSL Certificate Bundles Enabled") + if (CMAKE_BUILD_EARLY_EXPANSION) - message(ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") + message(FATAL_ERROR "Bundle Cert initialization must occur during CMAKE_BUILD_EARLY_EXPANSION") endif() # reminder: we need a value for wolfSSL root first! if( "${WOLFSSL_ROOT}" STREQUAL "" ) - message(ERROR "Certificate bundles need a value for WOLFSSL_ROOT") + message(FATAL_ERROR "Certificate bundles need a value for WOLFSSL_ROOT") endif() + + # Cert bundle in wolfSSL source unless otherwise specified later set(WOLFSSL_ESP_CRT_BUNDLE_DIR ${WOLFSSL_ROOT}/wolfcrypt/src/port/Espressif/esp_crt_bundle) message(STATUS "WOLFSSL_ESP_CRT_BUNDLE_DIR=${WOLFSSL_ESP_CRT_BUNDLE_DIR}") - if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + + if(DEFINED ENV{PLATFORMIO_PROJECT_DIR}) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO") + set(IS_PLATFORMIO 1) + else() + # Some environments may not have environment variable, so double check if we are in .pio + if("${CMAKE_BINARY_DIR}" MATCHES "/\\.pio/") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Detected PlatformIO via CMAKE_BINARY_DIR") + set(IS_PLATFORMIO 1) + else() + set(IS_PLATFORMIO 0) + endif() + endif() + + if(EXISTS "${WOLFSSL_ESP_CRT_BUNDLE_DIR}" OR IS_PLATFORMIO) + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Special processing for wolfSSL Certificate Bundles") set(bundle_name "x509_crt_bundle_wolfssl") # For now the certs are in the same directory @@ -824,9 +963,9 @@ get_filename_component(custom_bundle_path ${CONFIG_WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH} ABSOLUTE BASE_DIR "${project_dir}") list(APPEND crt_paths ${custom_bundle_path}) - message(STATUS "Using a custom wolfSSL bundle path: ${custom_bundle_path}") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Using a custom wolfSSL bundle path: ${custom_bundle_path}") else() - message(STATUS "Not using a custom wolfSSL bundle path.") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Not using a custom wolfSSL bundle path") endif() list(APPEND args --input ${crt_paths} -q) @@ -843,25 +982,107 @@ message(STATUS "args ${args}") message(STATUS "cert_bundle ${cert_bundle}") - # Generate bundle according to config - # File is generated at build time, not cmake load - add_custom_command(OUTPUT ${crt_bundle} - COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} - DEPENDS ${custom_bundle_path} - VERBATIM) + if (IS_PLATFORMIO) + # PlatformIO cannot generate a Certificate Bundle at build time + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("PlatformIO is using a predefined bundle rather than generating one") + + if ( "${WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "" OR "$(WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE)" STREQUAL "n") + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Alternate Certificate Bundle Path and Name not enabled, assuming [project]/certs/x509_crt_bundle_wolfssl") + # Reminder this CMakeLists.txt should be in [project]/components/wolfssl, so ./certs is two directories up + set(crt_bundle_option "../../certs/x509_crt_bundle_wolfssl") + else() + string(SUBSTRING "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}" 0 2 CERT_PATH_FIRST_TWO) + if(CERT_PATH_FIRST_TWO STREQUAL "./" OR CERT_PATH_FIRST_TWO STREQUAL ".\\") + set(IS_CERT_BUNDLE_RELATIVE_PATH 1) + message(STATUS "Alternate Cert Path is relative to project.") + else() + set(IS_CERT_BUNDLE_RELATIVE_PATH 0) + message(STATUS "Alternate Cert Path is not relative to project.") + endif() + + # The cert bundle is not a standard cert, so we con't add to the crt_paths. + # Still, we may have an alternate location, particulatly needed for PlatformIO: + if(IS_CERT_BUNDLE_RELATIVE_PATH) + message(STATUS "CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME = ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Relative alternate_bundle_path: ${alternate_bundle_path}") + + SET(crt_bundle_option "${CMAKE_SOURCE_DIR}/${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + else() + message(STATUS "alternate_bundle_path: ${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + message(STATUS "Not using an alternate wolfSSL bundle file.") + SET(crt_bundle_option "${CONFIG_WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME}") + endif() + endif() + + # Clean the path, removing any extra "./" etc. + # Number of spaces in message strings is to align path value outputs + message(STATUS "This crt_bundle_option value: ${crt_bundle_option}") + if(${CMAKE_VERSION} VERSION_LESS "3.19") + message("WARNING: CMake version is ${CMAKE_VERSION} ? file(REAL_PATH ...) is not supported. Falling back to manual path normalization.") + # optional fallback logic here + get_filename_component(crt_bundle_file_component "${crt_bundle_option}" ABSOLUTE) + message(STATUS "Interim crt_bundle_file_component: ${crt_bundle_file_component}") + file(TO_CMAKE_PATH "${crt_bundle_file_component}" crt_bundle) + message(STATUS "TO_CMAKE_PATH crt_bundle result: ${crt_bundle}") + # set(crt_bundle "C:/workspace/pio_wolfssl-upstream-test-wolfssl_cert_bundle/esp32-c6/certs/x509_crt_bundle_wolfssl") + else() + file(REAL_PATH "${crt_bundle_option}" crt_bundle) + endif() + + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Certificate Bundle: ${crt_bundle}") + message(STATUS "This cleaned crt_bundle value: ${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + message(STATUS "Reminder: platformio.ini will need this value set for board_build.embed_files =") + message(STATUS "${crt_bundle}") + message(STATUS "=============================================================================================================") + message(STATUS "=============================================================================================================") + + # e.g. SET(crt_bundle "C:/workspace/pio_wolfssl/esp32-c6/certs/x509_crt_bundle_wolfssl") + # - if(EXISTS "${crt_bundle}") - message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + # Normally x509_crt_bundle_wolfssl built by python script called from cmake. + # See https://github.com/wolfSSL/wolfssl/blob/master/wolfcrypt/src/port/Espressif/esp_crt_bundle/gen_crt_bundle.py + # Reminder ESP-IDF scripts are NOT called from CMake for PlatformIO builds. + # + # The easiest way to generate the default file is to build with ESP-IDF and copy the files to [project]/main + # + # for example: + # build\VisualGDB\Debug\x509_crt_bundle_wolfssl.s + # build\VisualGDB\Debug\esp-idf\wolfssl\x509_crt_bundle_wolfssl + # + message(STATUS "Confirming cert bundle exists...") + if(EXISTS "${crt_bundle}") + # Number of spaces is to align path value outputs + message(STATUS "Bundle file found for PlatformIO: ${crt_bundle}") + else() + APPEND_LIBWOLFSSL_CMAKE_OUTPUT("ERROR: Failed to find bundle file found for PlatformIO: ${crt_bundle}") + message(STATUS "Check for entry in platformio.ini: board_build.embed_files = certs/x509_crt_bundle_wolfssl ") + message(FATAL_ERROR "WOLFSSL_CERTIFICATE_BUNDLE is enabled for PlatformIO, but predefined file not found: ${crt_bundle}") + endif() else() - message(STATUS "Bundle file expected during next build: ${crt_bundle}") - endif() + # APPEND_LIBWOLFSSL_CMAKE_OUTPUT("Generate bundle: ${GENERATE_CERT_BUNDLEPY} ${args}") + # Not PlatformIO + # Generate bundle according to config + # File is generated at build time, not cmake load + add_custom_command(OUTPUT ${crt_bundle} + COMMAND ${GENERATE_CERT_BUNDLEPY} ARGS ${args} + DEPENDS ${custom_bundle_path} + VERBATIM) - # Reminder the file is generated at build time, not cmake load time. - message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + if(EXISTS "${crt_bundle}") + message(STATUS "Bundle file exists from prior build: ${crt_bundle}") + else() + message(STATUS "Bundle file expected during next build: ${crt_bundle}") + endif() - add_custom_target(custom_wolfssl_bundle DEPENDS ${cert_bundle}) + # Reminder the file is generated at build time, not cmake load time. + message(STATUS "wolfSSL Cert Bundle File to be created at build time in: ${crt_bundle}") + endif() + + add_custom_target(custom_wolfssl_bundle DEPENDS ${crt_bundle}) - # the wolfSSL crtificate bundle is baked into wolfSSL + # the wolfSSL certificate bundle is baked into wolfSSL add_dependencies(${COMPONENT_LIB} custom_wolfssl_bundle) # COMPONENT_LIB may vary: __idf_wolfssl, __idf_esp_wolfssl, etc @@ -871,7 +1092,12 @@ APPEND PROPERTY ADDITIONAL_CLEAN_FILES "${crt_bundle}") else() - message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + if(IS_PLATFORMIO) + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but cannot be generated in PlatformmIO") + else() + message(STATUS "WARNING: CONFIG_WOLFSSL_CERTIFICATE_BUNDLE enabled but directory not found: ${WOLFSSL_ESP_CRT_BUNDLE_DIR}") + endif() + message(FATAL_ERROR "not detected") endif() endif() @@ -930,42 +1156,6 @@ # end multiple component check -# -# LIBWOLFSSL_SAVE_INFO(VAR_OUPUT THIS_VAR VAR_RESULT) -# -# Save the THIS_VAR as a string in a macro called VAR_OUPUT -# -# VAR_OUPUT: the name of the macro to define -# THIS_VAR: the OUTPUT_VARIABLE result from a execute_process() -# VAR_RESULT: the RESULT_VARIABLE from a execute_process(); "0" if successful. -# -function ( LIBWOLFSSL_SAVE_INFO VAR_OUPUT THIS_VAR VAR_RESULT ) - # is the RESULT_VARIABLE output value 0? If so, IS_VALID_VALUE is true. - string(COMPARE EQUAL "${VAR_RESULT}" "0" IS_VALID_VALUE) - - # if we had a successful operation, save the THIS_VAR in VAR_OUPUT - if(${IS_VALID_VALUE}) - # strip newline chars in THIS_VAR parameter and save in VAR_VALUE - string(REPLACE "\n" "" VAR_VALUE ${THIS_VAR}) - - # we'll could percolate the value to the parent for possible later use - # set(${VAR_OUPUT} ${VAR_VALUE} PARENT_SCOPE) - - # but we're only using it here in this function - set(${VAR_OUPUT} ${VAR_VALUE}) - - # we'll print what we found to the console - message(STATUS "Found ${VAR_OUPUT}=${VAR_VALUE}") - - # the interesting part is defining the VAR_OUPUT name a value to use in the app - add_compile_definitions(${VAR_OUPUT}=\"${VAR_VALUE}\") - else() - # if we get here, check the execute_process command and parameters. - message(STATUS "LIBWOLFSSL_SAVE_INFO encountered a non-zero VAR_RESULT") - set(${VAR_OUPUT} "Unknown") - endif() -endfunction() # LIBWOLFSSL_SAVE_INFO - execute_process( COMMAND ${git_cmd} "rev-parse" "--is-inside-work-tree" OUTPUT_VARIABLE IS_GIT_REPO @@ -1049,6 +1239,14 @@ message(STATUS "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") endif() +# A single instance of potentially multiple cmake messages to send to app: +message(STATUS "LIBWOLFSSL_CMAKE_OUTPUT: ${LIBWOLFSSL_CMAKE_OUTPUT}") +LIBWOLFSSL_SAVE_INFO(LIBWOLFSSL_CMAKE_OUTPUT "${LIBWOLFSSL_CMAKE_OUTPUT}" "0") + +file(APPEND "${CMAKE_BINARY_DIR}/libwolfssl_output.h" + "\n" + "#endif\n" ) + message(STATUS "************************************************************************************************") message(STATUS "wolfSSL component config complete!") message(STATUS "************************************************************************************************") diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/Kconfig mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/Kconfig --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/Kconfig 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/Kconfig 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -274,10 +274,28 @@ bool "Do not use the default certificate bundle" endchoice + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE + depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + default n + bool "Use alternate certificate bundle" + help + Typically only used for PlatformIO which cannot generate a certificate bundle at build time. + Enable this option to specify a fixed wolfSSL certificate file path and file name. + + config WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE_PATH_AND_NAME + depends on WOLFSSL_ALTERNATE_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL + string "Default certificate bundle alternate path and name" + default "./certs/x509_crt_bundle_wolfssl" + help + Name of the default certificate bundle directory. Typically used only with PlatformIO. + Reminder PlatformIO cannot generate a bundle from cmake python script call. Relative + paths are with respect to root of this project. + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE depends on WOLFSSL_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL default n bool "Add custom certificates to the default bundle" + config WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE_PATH depends on WOLFSSL_CUSTOM_CERTIFICATE_BUNDLE && ESP_TLS_USING_WOLFSSL string "Custom certificate bundle path" @@ -401,24 +419,25 @@ when performance is critical. See also metrics for counting instances. endmenu # wolfSSL Hardware Acceleration + # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- - menu "wolfSSL Experimental Options" + menu "wolfSSL Post Quantum Kyber KEM PQ" - config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS - bool "Enable wolfSSL Experimental Settings" + config ESP_WOLFSSL_ENABLE_MLKEM + bool "Enable ML-KEM (Kyber Post Quantum)" default n help - Enables experimental settings for wolfSSL. See documentation. + bool "Enable wolfSSL ML-KEM" - config ESP_WOLFSSL_ENABLE_KYBER - bool "Enable wolfSSL Kyber" + config WOLFSSL_ENABLE_KYBER + bool "Enable Kyber (Round 3)" default n help - Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + Enable old compatibility with Kyber Round 3 (enables experimental settings) - endmenu # wolfSSL Experimental Options + endmenu # wolfSSL Post Quantum Kyber KEM PQ # ----------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------- @@ -429,12 +448,23 @@ help Enable debugging messages for wolfSSL. See user_settings.h for additional debug options. + config ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING + bool "Suppress build-time warnings for main stack size" + default n + help + Useful only when wolfSSL is running in main task. See FreeRTOS stack size for custom tasks. + config ESP_WOLFSSL_TEST_LOOP bool "Run test apps in a loop until failure" default y help Enable a loop wrapper for benchmark, http_client, and wolfssl test apps. + config ESP_WOLFSSL_EXPERIMENTAL_SETTINGS + bool "Enable wolfSSL Experimental Settings" + default n + help + Enables experimental settings for wolfSSL. See documentation. endmenu # wolfSSL Debug Options # ----------------------------------------------------------------------------------------------------------------- diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/README.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/README.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/README.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/README.md 2026-01-31 13:27:49.000000000 +0000 @@ -154,7 +154,7 @@ ## Licensing and Support -wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv2 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv2 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. +wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use under the GPLv3 (or at your option any later version) or a standard commercial license. For our users who cannot use wolfSSL under GPLv3 (or any later version), a commercial license to wolfSSL and wolfCrypt is available. See the LICENSE.txt, visit wolfssl.com/license, contact us at licensing@wolfssl.com or call +1 425 245 8247 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/component.mk mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/component.mk --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/component.mk 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/component.mk 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/include/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/include/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/include/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/components/wolfssl/include/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -30,7 +30,7 @@ /* This user_settings.h is for Espressif ESP-IDF * - * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.7.0-1 + * Standardized wolfSSL Espressif ESP32 + ESP8266 user_settings.h V5.8.2-1 certs * * Do not include any wolfssl headers here. * @@ -110,6 +110,7 @@ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ /* #define USE_WOLFSSL_ESP_SDK_WIFI */ #define TEST_ESPIDF_ALL_WOLFSSL + #define HAVE_HKDF #elif defined(CONFIG_WOLFSSL_EXAMPLE_NAME_BENCHMARK) /* See https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark */ /* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */ @@ -208,18 +209,40 @@ /* the code is older or does not have application name defined. */ #endif /* Example wolfSSL Configuration app settings */ -/* Experimental Kyber */ -#ifdef CONFIG_WOLFSSL_ENABLE_KYBER +/* Optional MLKEM (Kyber Post Quantum) */ +/* ./configure --enable-mlkem */ +/* See Kconfig / menuconfig ESP_WOLFSSL_ENABLE_MLKEM */ +#ifdef CONFIG_ESP_WOLFSSL_ENABLE_MLKEM /* Kyber typically needs a minimum 10K stack */ - #define WOLFSSL_EXPERIMENTAL_SETTINGS #define WOLFSSL_HAVE_MLKEM #define WOLFSSL_WC_MLKEM - #define WOLFSSL_SHA3 + #define WOLFSSL_SHAKE128 + #define WOLFSSL_SHAKE256 + + /* Old code points to keep compatibility with Kyber Round 3. */ + /* ./configure --enable-kyber=all --enable-experimental */ + #if defined(CONFIG_WOLFSSL_ENABLE_KYBER) + #define WOLFSSL_MLKEM_KYBER + #define WOLFSSL_EXPERIMENTAL_SETTINGS + #endif + #if defined(CONFIG_IDF_TARGET_ESP8266) /* With limited RAM, we'll disable some of the Kyber sizes: */ #define WOLFSSL_NO_KYBER1024 #define WOLFSSL_NO_KYBER768 + #define WOLFSSL_NO_ML_KEM_1024 + #define WOLFSSL_NO_ML_KEM_768 #define NO_SESSION_CACHE + #else + /* Only needed for older wolfssl versions, see mlkem.h */ + #define WOLFSSL_KYBER1024 + /* optional alternative sizes: */ + /* #define WOLFSSL_KYBER768 */ + /* #define WOLFSSL_KYBER512 */ + /* -- or disable a specific one: */ + /* #define WOLFSSL_NO_ML_KEM_1024 */ + /* #define WOLFSSL_NO_ML_KEM_768 */ + /* #define WOLFSSL_NO_ML_KEM_512 */ #endif #endif @@ -234,11 +257,6 @@ #define WOLFSSL_AES_DIRECT #endif -/* Pick a cert buffer size: */ -/* #define USE_CERT_BUFFERS_2048 */ -/* #define USE_CERT_BUFFERS_1024 */ -#define USE_CERT_BUFFERS_2048 - /* The Espressif sdkconfig will have chipset info. ** ** Some possible values: @@ -354,10 +372,6 @@ /* #define DEBUG_WOLFSSL */ #define DEBUG_WOLFSSL_MALLOC -/* See test.c that sets cert buffers; we'll set them here: */ -#define USE_CERT_BUFFERS_256 -#define USE_CERT_BUFFERS_2048 - /* RSA_LOW_MEM: Half as much memory but twice as slow. */ #define RSA_LOW_MEM @@ -531,7 +545,7 @@ /* Adjust wait-timeout count if you see timeout in RSA HW acceleration. * Set to very large number and enable WOLFSSL_HW_METRICS to determine max. */ #ifndef ESP_RSA_TIMEOUT_CNT - #define ESP_RSA_TIMEOUT_CNT 0xFF0000 + #define ESP_RSA_TIMEOUT_CNT 0xFF0000 #endif /* hash limit for test.c */ @@ -559,6 +573,7 @@ defined(WOLFSSL_SP_RISCV32) #endif + #define HAVE_VERSION_EXTENDED_INFO /* #define HAVE_WC_INTROSPECTION */ @@ -654,9 +669,6 @@ #undef HAVE_AESGCM #define HAVE_AESGCM -#else - /* default settings */ - #define USE_CERT_BUFFERS_2048 #endif /* Chipset detection from sdkconfig.h @@ -829,13 +841,18 @@ #ifndef NO_RSA #define ESP32_USE_RSA_PRIMITIVE - #if defined(CONFIG_IDF_TARGET_ESP32) - #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + #ifdef CONFIG_ESP_MAIN_TASK_STACK_SIZE + /* See idf.py menuconfig for stack warning settings */ + #if !defined(CONFIG_ESP_WOLFSSL_NO_STACK_SIZE_BUILD_WARNING) #if CONFIG_ESP_MAIN_TASK_STACK_SIZE < 10500 - #warning "RSA may be difficult with less than 10KB Stack "/ + #warning "RSA may be difficult with less than 10KB Stack" #endif + #else + /* Implement your own stack warning here */ #endif + #endif + #if defined(CONFIG_IDF_TARGET_ESP32) /* NOTE HW unreliable for small values! */ /* threshold for performance adjustment for HW primitive use */ /* X bits of G^X mod P greater than */ @@ -932,6 +949,8 @@ #define ATCA_WOLFSSL */ +/* optional SM4 Ciphers. See github.com/wolfSSL/wolfsm */ + /***************************** Certificate Macros ***************************** * * The section below defines macros used in typically all of the wolfSSL @@ -1023,9 +1042,13 @@ #define WOLFSSL_BASE16 #else #if defined(USE_CERT_BUFFERS_2048) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_1024 + #error "USE_CERT_BUFFERS_1024 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_2048 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1045,9 +1068,13 @@ #define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #elif defined(USE_CERT_BUFFERS_1024) - #define USE_CERT_BUFFERS_256 - /* Be sure to include in app when using example certs: */ - /* #include */ + #ifdef USE_CERT_BUFFERS_2048 + #error "USE_CERT_BUFFERS_2048 is already defined. Pick one." + #endif + + /* Be sure to include in app, not here, when using example certs: */ + /* #include */ + #define CTX_CA_CERT ca_cert_der_1024 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 @@ -1067,7 +1094,6 @@ #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #else /* Optionally define custom cert arrays, sizes, and types here */ - #error "Must define USE_CERT_BUFFERS_2048 or USE_CERT_BUFFERS_1024" #endif #endif /* Conditional key and cert constant names */ diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/Kconfig.projbuild mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/Kconfig.projbuild --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/Kconfig.projbuild 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/Kconfig.projbuild 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/include/main.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/include/main.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/include/main.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/include/main.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test/main/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main_wip.c.ex mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main_wip.c.ex --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main_wip.c.ex 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/main_wip.c.ex 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/examples/wolfssl_test_idf/main/time_helper.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -79,6 +79,7 @@ "./src/ssl_misc.c" # included by ssl.c "./src/ssl_p7p12.c" # included by ssl.c "./src/ssl_sess.c" # included by ssl.c + "./src/ssl_sk.c" # included by ssl.c "./src/x509.c" "./src/x509_str.c" "./wolfcrypt/src/evp.c" diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/component.mk mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/component.mk --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/component.mk 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/libs/component.mk 2026-01-31 13:27:49.000000000 +0000 @@ -5,7 +5,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, @@ -18,6 +18,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA #/ #/ +#/ # # # Component Makefile diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Header/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Header/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Header/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Header/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, @@ -521,7 +521,7 @@ #define USE_WOLF_STRTOK #define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr)) - #define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n)) + #define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n)) #define XMEMCPY(d,s,l) memcpy((d),(s),(l)) #define XMEMSET(b,c,l) memset((b),(c),(l)) diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/armtarget.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/armtarget.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/armtarget.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/armtarget.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/benchmark_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/benchmark_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/benchmark_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/benchmark_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/test_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/test_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/test_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/test_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_client.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_client.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_client.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_client.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_server.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_server.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_server.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/tls_server.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/wolf_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/wolf_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/wolf_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/GCC-ARM/Source/wolf_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Gaisler-BCC/README.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Gaisler-BCC/README.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Gaisler-BCC/README.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Gaisler-BCC/README.md 2026-01-31 13:27:49.000000000 +0000 @@ -31,6 +31,11 @@ ```c #define WOLFSSL_GAISLER_BCC #define WOLFSSL_GENSEED_FORTEST +#define NO_ASN_TIME +``` +and comment out the following line: +``` +// #define NO_MAIN_DRIVER ``` The first `#define` is only required to compile the wolfCrypt benchmark. @@ -39,13 +44,13 @@ entropy for the RNG. It is recommended an external entropy source is used when developing for production. -You can then compile with the following. Change `leon5` to the LEON CPU version -used: +You can then compile with the following. Change the `mcpu` and `qbsp` according +to the LEON CPU version and board used: ```sh export CC=/opt/sparc-bcc-2.3.1-gcc/bin/sparc-gaisler-elf-gcc export CXX=/opt/sparc-bcc-2.3.1-gcc/bin/sparc-gaisler-elf-g++ -export CFLAGS="-mcpu=leon5" +export CFLAGS="-qbsp=gr740 -mcpu=leon3" ./configure --host=sparc --enable-usersettings --disable-examples --enable-static make @@ -53,12 +58,12 @@ ### Linux -To compile for Linux on the LEON use the following commands: +To compile for Linux on the LEON use the following commands, make sure to use the right `mcpu` option: ```sh export CC=/opt/sparc-gaisler-linux5.10/bin/sparc-gaisler-linux5.10-gcc export CXX=/opt/sparc-gaisler-linux5.10/bin/sparc-gaisler-linux5.10-g++ -export CFLAGS="-mcpu=leon5" +export CFLAGS="-mcpu=leon3" ./configure --host=sparc-linux make diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/HEXAGON/DSP/Makefile mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/DSP/Makefile --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/HEXAGON/DSP/Makefile 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/DSP/Makefile 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/HEXAGON/Makefile mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/Makefile --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/HEXAGON/Makefile 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/Makefile 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify-benchmark.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify-benchmark.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify-benchmark.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify-benchmark.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/HEXAGON/ecc-verify.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/benchmark-main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/benchmark-main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/benchmark-main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/benchmark-main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/current_time.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/current_time.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/current_time.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/benchmark/current_time.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/common/minimum-startup.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/common/minimum-startup.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/common/minimum-startup.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/common/minimum-startup.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/test/test-main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/test/test-main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/test/test-main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-EWARM/Projects/test/test-main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-MSP430/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-MSP430/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-MSP430/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-MSP430/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-MSP430/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-MSP430/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/IAR-MSP430/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/IAR-MSP430/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/Makefile mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/Makefile --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/Makefile 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,516 @@ +# Makefile for the INtime wolfSSL library component +# +SWENGENV := $(RMX_SRC_BASE)/tools/swenghg +# +# makefile -- defines the macros, directives and rules necessary to build the +# wolfSSL library. +# +# NOTES: +# 1. This makefile is a "wrapper" makefile for the Visual Studio 80 +# INtime package project. The makefile provides RCS and component +# release support not provided by the project's native visual Studio +# makefile. +# +# 2. The SWENG environment assumes makefile execution from a Windows NT +# environment. +# +# 3. The SWENG environment assumes that a user has Microsoft Network +# access to the ESO server directories. +# +# 4. A SWENG makefile makes no assumptions concerning a user's command +# path. All command pathnames are explicit. Furthermore, the +# directory component of a pathname is defined by a macro that can be +# overridden at makefile invocation. +# +# The same cannot be said for MS Developer Studio makefiles -- they +# assume MSVC and Windows NT commands are in the user's path. +# +# 5. A SWENG makefile makes no assumptions concerning a user's environment +# variable definitions. +# +# The same cannot be said for MS Developer Studio makefiles -- they +# assume various environment variables are set properly to build their +# components. +# +# 6. A SWENG makefile executes standard MKS and MSVC tools. Other tool +# sets require additional macro and rule definition. +# + +# Default macros and directives. +# +# NOTES: +# 1. These files must always be included before all component-specific +# macros and directives. + +.INCLUDE:$(SWENGENV)/macros.wnt +.INCLUDE:$(SWENGENV)/intimemacros.wnt + +# Component and version number macros: +# +# COMPONENT: The name of the product component built by this makefile. +# DUE TO THE IDIOSYNCRATIC NATURE OF RCS, THIS MACRO MUST NOT +# CONTAIN ANY SPECIAL CHARACTERS, INCLUDING " " AND "."! For +# example, the macro for the Real-Time Application Loader +# could be defined as: +# +# COMPONENT := Real_Time_Application_Loader +# +# In the SWENG environment, a PRODUCT is the complete software +# package sent to a customer (e.g., INtime V1.00). A PRODUCT +# is composed of one or more COMPONENTs (e.g., Real-Time +# Application Loader, NTX Library, etc.) +# +# When choosing names for new components, ensure that they +# are unique. +# +# VERSION: The version number associated with the component(s) built +# by this makefile. DUE TO THE IDIOSYNCRATIC NATURE OF RCS, +# THIS MACRO MUST NOT CONTAIN ANY SPECIAL CHARACTERS, +# INCLUDING " " AND "."! For example, the macro for version +# 1.00 is defined: +# +# VERSION := 100 +# +# NAME: A string used to name both the engineering version of the +# component built by this makefile and the source files used +# to build it. +# +# NOTES: +# 1. These macros must not be deleted or renamed. Their values should be +# modified to match the components built by this makefile. +# +# 2. The "engineer" target will not complete unless the COMPONENT, +# VERSION, and NAME macros are defined. + +COMPONENT := wolfssl_intime +VERSION := 572 +NAME := $(COMPONENT)_$(VERSION) + +# MS Developer Studio project name and directory macros. +# +# PROJECT: The project name for this component. +# +# SUB_PROJECTS: The sub-project name(s) for this component. +# +# TARG_DIR: The target directory for component files, relative to the +# project and sub-project directories (generally, "Debug" or +# "Release"). +# +# TARG_TYPE: The target type for the project and sub-projects +# (generally, "Debug" or "Release"). +# +# NOTES: +# 1. These macros must not be deleted or renamed. Their values should be +# modified to match the project/directory structure of the component(s) +# built by this makefile. Unused macros values should be defined as +# $(NULL). + +PROJECT := wolfssl +SUB_PROJECTS := $(NULL) +.IF $(DEBUG) +TARG_DIR := Debug +TARG_TYPE := Debug +.ELSE +TARG_DIR := Release +TARG_TYPE := Release +.END + +# MKS make search path for machine-generated files. +# +# NOTES: +# 1. All machine-generated target files that do not reside in the current +# working directory require a .SOURCE directive. Otherwise, a .SOURCE +# directive is optional (but will improve makefile performance). + +.SOURCE.lib: $(TARG_DIR) + +# File list macros: +# +# TARGETS: The component(s) built by this makefile. These are the files +# built by the default rule ("make" or "make all"). +# LOGFILE: A log file containing revision data for the project members +# (files) used to build the TARGETS. The file is built by the +# "engineer" rule. +# MAKEFILE: Makefile used to build the TARGETS (this file). +# ASM: Assembly source code files used to build the TARGETS (.asm). +# C: C source code files used to build the TARGETS (.c) +# CPP: C++ source code files used to build the TARGETS (.cpp). +# SRCS: The concatenation of ASM, C, and CPP. +# HDRS: Header files used to build the TARGETS (.h, .hpp, .inc). +# OBJ: Object files used to build the TARGETS (.obj). +# DEBRIS: Machine-generated files to be deleted by the "clean" rule. +# +# NOTES: +# 1. These macros must not be deleted or renamed. Their values may be +# modified to match the files used to build the component(s) associated +# with this makefile. +# +# 2. The "engineer" rule will not complete unless the LOGFILE macro is +# defined. + +EXEC_TARGS := libwolfssl572.lib + +SRC_TARGS := user_settings.h +TARGETS := $(EXEC_TARGS) +LOGFILE := $(PROJECT).txt +MAKEFILE := makefile +ASM := +C := +CPP := +RCFILE := + +SRCS := +OBJ := +CFGS := + +DEBRIS := $(LOGFILE) release* debug* *.sdf *.user *.aps *.bak *~ + +INCL_TARGS := wolfssl/callbacks.h \ + wolfssl/certs_test.h \ + wolfssl/crl.h \ + wolfssl/error-ssl.h \ + wolfssl/include.am \ + wolfssl/internal.h \ + wolfssl/ocsp.h \ + wolfssl/options.h \ + wolfssl/options.h.in \ + wolfssl/quic.h \ + wolfssl/sniffer.h \ + wolfssl/sniffer_error.h \ + wolfssl/sniffer_error.rc \ + wolfssl/ssl.h \ + wolfssl/test.h \ + wolfssl/version.h \ + wolfssl/version.h.in \ + wolfssl/wolfio.h \ + wolfssl/openssl/aes.h \ + wolfssl/openssl/asn1.h \ + wolfssl/openssl/asn1t.h \ + wolfssl/openssl/bio.h \ + wolfssl/openssl/bn.h \ + wolfssl/openssl/buffer.h \ + wolfssl/openssl/camellia.h \ + wolfssl/openssl/cmac.h \ + wolfssl/openssl/cms.h \ + wolfssl/openssl/compat_types.h \ + wolfssl/openssl/conf.h \ + wolfssl/openssl/crypto.h \ + wolfssl/openssl/des.h \ + wolfssl/openssl/dh.h \ + wolfssl/openssl/dsa.h \ + wolfssl/openssl/ec.h \ + wolfssl/openssl/ec448.h \ + wolfssl/openssl/ec25519.h \ + wolfssl/openssl/ecdh.h \ + wolfssl/openssl/ecdsa.h \ + wolfssl/openssl/ecdh.h \ + wolfssl/openssl/ecdsa.h \ + wolfssl/openssl/ed448.h \ + wolfssl/openssl/ed25519.h \ + wolfssl/openssl/engine.h \ + wolfssl/openssl/err.h \ + wolfssl/openssl/evp.h \ + wolfssl/openssl/fips_rand.h \ + wolfssl/openssl/hmac.h \ + wolfssl/openssl/include.am \ + wolfssl/openssl/kdf.h \ + wolfssl/openssl/lhash.h \ + wolfssl/openssl/md4.h \ + wolfssl/openssl/md5.h \ + wolfssl/openssl/modes.h \ + wolfssl/openssl/obj_mac.h \ + wolfssl/openssl/objects.h \ + wolfssl/openssl/ocsp.h \ + wolfssl/openssl/opensslconf.h \ + wolfssl/openssl/opensslv.h \ + wolfssl/openssl/ossl_typ.h \ + wolfssl/openssl/pem.h \ + wolfssl/openssl/pkcs7.h \ + wolfssl/openssl/pkcs12.h \ + wolfssl/openssl/rand.h \ + wolfssl/openssl/rc4.h \ + wolfssl/openssl/ripemd.h \ + wolfssl/openssl/rsa.h \ + wolfssl/openssl/sha.h \ + wolfssl/openssl/sha3.h \ + wolfssl/openssl/srp.h \ + wolfssl/openssl/ssl.h \ + wolfssl/openssl/ssl23.h \ + wolfssl/openssl/stack.h \ + wolfssl/openssl/tls1.h \ + wolfssl/openssl/txt_db.h \ + wolfssl/openssl/ui.h \ + wolfssl/openssl/x509.h \ + wolfssl/openssl/x509_vfy.h \ + wolfssl/openssl/x509v3.h \ + wolfssl/wolfcrypt/aes.h \ + wolfssl/wolfcrypt/arc4.h \ + wolfssl/wolfcrypt/asn.h \ + wolfssl/wolfcrypt/asn_public.h \ + wolfssl/wolfcrypt/async.h \ + wolfssl/wolfcrypt/blake2.h \ + wolfssl/wolfcrypt/blake2-impl.h \ + wolfssl/wolfcrypt/blake2-int.h \ + wolfssl/wolfcrypt/camellia.h \ + wolfssl/wolfcrypt/chacha.h \ + wolfssl/wolfcrypt/chacha20_poly1305.h \ + wolfssl/wolfcrypt/cmac.h \ + wolfssl/wolfcrypt/coding.h \ + wolfssl/wolfcrypt/compress.h \ + wolfssl/wolfcrypt/cpuid.h \ + wolfssl/wolfcrypt/cryptocb.h \ + wolfssl/wolfcrypt/curve448.h \ + wolfssl/wolfcrypt/curve25519.h \ + wolfssl/wolfcrypt/des3.h \ + wolfssl/wolfcrypt/dh.h \ + wolfssl/wolfcrypt/dilithium.h \ + wolfssl/wolfcrypt/dsa.h \ + wolfssl/wolfcrypt/ecc.h \ + wolfssl/wolfcrypt/eccsi.h \ + wolfssl/wolfcrypt/ed448.h \ + wolfssl/wolfcrypt/ed25519.h \ + wolfssl/wolfcrypt/error-crypt.h \ + wolfssl/wolfcrypt/ext_kyber.h \ + wolfssl/wolfcrypt/ext_lms.h \ + wolfssl/wolfcrypt/ext_xmss.h \ + wolfssl/wolfcrypt/falcon.h \ + wolfssl/wolfcrypt/fe_448.h \ + wolfssl/wolfcrypt/fe_operations.h \ + wolfssl/wolfcrypt/fips.h \ + wolfssl/wolfcrypt/fips_test.h \ + wolfssl/wolfcrypt/ge_448.h \ + wolfssl/wolfcrypt/ge_operations.h \ + wolfssl/wolfcrypt/hash.h \ + wolfssl/wolfcrypt/hmac.h \ + wolfssl/wolfcrypt/hpke.h \ + wolfssl/wolfcrypt/include.am \ + wolfssl/wolfcrypt/integer.h \ + wolfssl/wolfcrypt/kdf.h \ + wolfssl/wolfcrypt/kyber.h \ + wolfssl/wolfcrypt/lms.h \ + wolfssl/wolfcrypt/logging.h \ + wolfssl/wolfcrypt/md2.h \ + wolfssl/wolfcrypt/md4.h \ + wolfssl/wolfcrypt/md5.h \ + wolfssl/wolfcrypt/mem_track.h \ + wolfssl/wolfcrypt/memory.h \ + wolfssl/wolfcrypt/misc.h \ + wolfssl/wolfcrypt/mpi_class.h \ + wolfssl/wolfcrypt/mpi_superclass.h \ + wolfssl/wolfcrypt/pkcs7.h \ + wolfssl/wolfcrypt/pkcs11.h \ + wolfssl/wolfcrypt/pkcs12.h \ + wolfssl/wolfcrypt/poly1305.h \ + wolfssl/wolfcrypt/pwdbased.h \ + wolfssl/wolfcrypt/random.h \ + wolfssl/wolfcrypt/rc2.h \ + wolfssl/wolfcrypt/ripemd.h \ + wolfssl/wolfcrypt/rsa.h \ + wolfssl/wolfcrypt/sakke.h \ + wolfssl/wolfcrypt/selftest.h \ + wolfssl/wolfcrypt/settings.h \ + wolfssl/wolfcrypt/sha.h \ + wolfssl/wolfcrypt/sha3.h \ + wolfssl/wolfcrypt/sha256.h \ + wolfssl/wolfcrypt/sha512.h \ + wolfssl/wolfcrypt/signature.h \ + wolfssl/wolfcrypt/siphash.h \ + wolfssl/wolfcrypt/sm2.h \ + wolfssl/wolfcrypt/sm3.h \ + wolfssl/wolfcrypt/sm4.h \ + wolfssl/wolfcrypt/sp.h \ + wolfssl/wolfcrypt/sp_int.h \ + wolfssl/wolfcrypt/sphincs.h \ + wolfssl/wolfcrypt/srp.h \ + wolfssl/wolfcrypt/tfm.h \ + wolfssl/wolfcrypt/types.h \ + wolfssl/wolfcrypt/visibility.h \ + wolfssl/wolfcrypt/wc_encrypt.h \ + wolfssl/wolfcrypt/wc_kyber.h \ + wolfssl/wolfcrypt/wc_pkcs11.h \ + wolfssl/wolfcrypt/wc_port.h \ + wolfssl/wolfcrypt/wolfevent.h \ + wolfssl/wolfcrypt/wolfmath.h \ + wolfssl/wolfcrypt/xmss.h \ + wolfssl/wolfcrypt/port/nrf51.h \ + wolfssl/wolfcrypt/port/af_alg/afalg_hash.h \ + wolfssl/wolfcrypt/port/af_alg/wc_afalg.h \ + wolfssl/wolfcrypt/port/aria/aria-crypt.h \ + wolfssl/wolfcrypt/port/aria/aria-cryptocb.h \ + wolfssl/wolfcrypt/port/arm/cryptoCell.h \ + wolfssl/wolfcrypt/port/atmel/atmel.h \ + wolfssl/wolfcrypt/port/autosar/CryIf.h \ + wolfssl/wolfcrypt/port/autosar/Crypto.h \ + wolfssl/wolfcrypt/port/autosar/Csm.h \ + wolfssl/wolfcrypt/port/autosar/StandardTypes.h \ + wolfssl/wolfcrypt/port/caam/caam_driver.h \ + wolfssl/wolfcrypt/port/caam/caam_error.h \ + wolfssl/wolfcrypt/port/caam/caam_qnx.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_aes.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_cmac.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_ecdsa.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_fsl_nxp.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_hash.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_qnx.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_rsa.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_seco.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_sha.h \ + wolfssl/wolfcrypt/port/caam/wolfcaam_x25519.h \ + wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h \ + wolfssl/wolfcrypt/port/cavium/cavium_octeon_sync.h \ + wolfssl/wolfcrypt/port/cypress/psoc6_crypto.h \ + wolfssl/wolfcrypt/port/devcrypto/wc_devcrypto.h \ + wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h \ + wolfssl/wolfcrypt/port/Espressif/esp-sdk-lib.h \ + wolfssl/wolfcrypt/port/intel/quickassist.h \ + wolfssl/wolfcrypt/port/intel/quickassist_mem.h \ + wolfssl/wolfcrypt/port/intel/quickassist_sync.h \ + wolfssl/wolfcrypt/port/iotsafe/iotsafe.h \ + wolfssl/wolfcrypt/port/kcapi/kcapi_dh.h \ + wolfssl/wolfcrypt/port/kcapi/kcapi_ecc.h \ + wolfssl/wolfcrypt/port/kcapi/kcapi_hash.h \ + wolfssl/wolfcrypt/port/kcapi/kcapi_hmac.h \ + wolfssl/wolfcrypt/port/kcapi/kcapi_rsa.h \ + wolfssl/wolfcrypt/port/kcapi/wc_kcapi.h \ + wolfssl/wolfcrypt/port/liboqs/liboqs.h \ + wolfssl/wolfcrypt/port/maxim/maxq10xx.h \ + wolfssl/wolfcrypt/port/nxp/dcp_port.h \ + wolfssl/wolfcrypt/port/nxp/ksdk_port.h \ + wolfssl/wolfcrypt/port/nxp/se050_port.h \ + wolfssl/wolfcrypt/port/pic32/pic32mz-crypt.h \ + wolfssl/wolfcrypt/port/psa/psa.h \ + wolfssl/wolfcrypt/port/Renesas/renesas_cmn.h \ + wolfssl/wolfcrypt/port/Renesas/renesas_sync.h \ + wolfssl/wolfcrypt/port/Renesas/renesas_tsip_types.h \ + wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-crypt.h \ + wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-types.h \ + wolfssl/wolfcrypt/port/Renesas/renesas-tsip-crypt.h \ + wolfssl/wolfcrypt/port/riscv/riscv-64-asm.h \ + wolfssl/wolfcrypt/port/silabs/silabs_aes.h \ + wolfssl/wolfcrypt/port/silabs/silabs_ecc.h \ + wolfssl/wolfcrypt/port/silabs/silabs_hash.h \ + wolfssl/wolfcrypt/port/silabs/silabs_random.h \ + wolfssl/wolfcrypt/port/st/stm32.h \ + wolfssl/wolfcrypt/port/st/stsafe.h \ + wolfssl/wolfcrypt/port/ti/ti-ccm.h \ + wolfssl/wolfcrypt/port/ti/ti-hash.h \ + wolfssl/wolfcrypt/port/xilinx/xil-sha3.h \ + wolfssl/wolfcrypt/port/xilinx/xil-versal-glue.h \ + wolfssl/wolfcrypt/port/xilinx/xil-versal-trng.h + + +# Default rules. +# +# NOTES: +# 1. These files must always be included after the macro definitions and +# before the component-specific rules. + +.INCLUDE:$(SWENGENV)/rules.wnt +.INCLUDE:$(SWENGENV)/intimerules.wnt + +# Component-specific rules, including: +# +# prodeng: checks TARGETS into an engineering release directory using the +# "puttarg.ksh" script. +# +# NOTES: +# 1. The "prodeng" rule must not be renamed or deleted! It should, +# however, be modified to reflect the engineering release requirements +# of the TARGETS. +# +# 2. Rules for each of the TARGETS should be added here. +# +# 3. Additional rules may be added as necessary. Care should be taken so +# that rules defined in the rules.wnt file are not redefined here. + +prodeng: "$(PROD_ENG)/rt/include/wolfssl572/wolfssl" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/openssl" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/af_alg" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/aria" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/arm" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/atmel" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/autosar" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/caam" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cavium" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cypress" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/devcrypto" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/espressif" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/intel" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/iotsafe" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/kcapi" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/liboqs" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/maxim" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/nxp" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/pic32" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/psa" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/Renesas" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/riscv" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/silabs" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/st" \ + "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/ti" "$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/xilinx" \ + "$(PROD_ENG)/rt/lib" +[@ +for f in $(EXEC_TARGS); do +$(SWENGENV)/puttarg $(PROD_ENG)/rt/lib $(TARG_DIR)/$$f Engineer $(NAME) "$(MESSAGE)" +done +for f in $(SRC_TARGS); do +$(SWENGENV)/puttarg $(PROD_ENG)/rt/include/wolfssl572 $$f Engineer $(NAME) "$(MESSAGE)" +done + +for f in $(INCL_TARGS); do +dir=`dirname $$f | gres "wolfssl(.*)" "\1"` +if [ ! -d $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir ] ; then + mkdir $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir +fi +$(SWENGENV)/puttarg $(PROD_ENG)/rt/include/wolfssl572/wolfssl$$dir ../../$$f Engineer $(NAME) "$(MESSAGE)" +done +] + +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/openssl" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfcrypt/port/af_alg" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/aria" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/arm" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/atmel" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/autosar" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/caam" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cavium" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/cypress" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/devcrypto" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/espressif" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/intel" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/iotsafe" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/kcapi" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/liboqs" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/maxim" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/nxp" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/pic32" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/psa" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/Renesas" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/riscv" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/silabs" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/st" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/ti" \ +"$(PROD_ENG)/rt/include/wolfssl572/wolfssl/wolfcrypt/port/xilinx" \ +"$(PROD_ENG)/rt/lib": + $(MKSBIN)/mkdir -p $@ + +# Build project binaries, project help files, and sub-project binaries. +# +# NOTES: +# 1. To ensure that the correct environment is present when invoking a MS +# Developer Studio makefile, the rule initializes the required +# environment variables in a sub-shell before invoking the makefile. +# +# 2. Path vectors are converted to Microsoft-style pathname slashes +# via 'redmond.ksh' before passing them as environment variables to +# Microsoft tools. + +SOLUTIONFILE = wolfssl-lib.sln +.INCLUDE: $(SWENGENV)/vs2019.wnt + +$(EXEC_TARGS) .PROLOG: rt_tree +[@ +rm -f msbuild.log +msbuild $(SOLUTIONFILE) /t:Rebuild /p:Configuration=$(TARG_TYPE) /fileLogger +ec=$$? +if [ $$ec -ne 0 ]; then + echo Failed to build $(@) +else + echo Success! +fi +exit $$ec +] + diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/include.am mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/include.am --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/include.am 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/include.am 2026-01-31 13:27:49.000000000 +0000 @@ -10,4 +10,7 @@ IDE/INTIME-RTOS/wolfExamples.c \ IDE/INTIME-RTOS/wolfExamples.h \ IDE/INTIME-RTOS/wolfExamples.vcxproj \ - IDE/INTIME-RTOS/wolfExamples.sln + IDE/INTIME-RTOS/wolfExamples.sln \ + IDE/INTIME-RTOS/wolfssl-lib.sln \ + IDE/INTIME-RTOS/wolfssl-lib.vcxproj \ + IDE/INTIME-RTOS/Makefile diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/libwolfssl.vcxproj mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/libwolfssl.vcxproj --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/libwolfssl.vcxproj 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/libwolfssl.vcxproj 2026-01-31 13:27:49.000000000 +0000 @@ -1,210 +1,234 @@ - - - - - Debug - INtime - - - Release - INtime - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {1731767D-573F-45C9-A466-191DA0D180CF} - 8.1 - - - - StaticLibrary - NotSet - v140 - - - StaticLibrary - false - NotSet - v140 - - - - - - - - - - - - $(Configuration)_$(ProjectName)\ - - - $(Configuration)_$(ProjectName)\ - - - - - - 21076.20052 - /SAFESEH:NO %(AdditionalOptions) - rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib - $(SolutionDir)$(Configuration)\\libwolfssl.rsl - - - Async - _USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions) - $(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories) - - - - - - - 21076.20052 - /SAFESEH:NO %(AdditionalOptions) - rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib - $(SolutionDir)$(Configuration)\\libwolfssl.rsl - - - Async - _USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions) - $(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories) - - - - - - + + + + + Debug + INtime + + + Release + INtime + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {1731767D-573F-45C9-A466-191DA0D180CF} + 8.1 + + + + StaticLibrary + NotSet + v142 + + + StaticLibrary + false + NotSet + v142 + + + + + + + + + + + + $(Configuration)_$(ProjectName)\ + + + $(Configuration)_$(ProjectName)\ + + + + + + 21076.20052 + /SAFESEH:NO %(AdditionalOptions) + rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib + $(SolutionDir)$(Configuration)\\libwolfssl.rsl + + + Async + _USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories) + + + + + + + 21076.20052 + /SAFESEH:NO %(AdditionalOptions) + rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib + $(SolutionDir)$(Configuration)\\libwolfssl.rsl + + + Async + _USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories) + + + + + + \ No newline at end of file diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -284,6 +284,9 @@ #undef OPENSSL_EXTRA #define OPENSSL_EXTRA +#undef OPENSSL_ALL +#define OPENSSL_ALL + #undef WOLFSSL_BASE64_ENCODE #define WOLFSSL_BASE64_ENCODE diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfExamples.vcxproj mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfExamples.vcxproj --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfExamples.vcxproj 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfExamples.vcxproj 2026-01-31 13:27:49.000000000 +0000 @@ -1,93 +1,93 @@ - - - - - Debug - INtime - - - Release - INtime - - - - - - - - - - - - - - - - {557A7EFD-2627-478A-A855-50F518DD13EE} - wolfExamples - 8.1 - - - - Application - NotSet - v140 - - - Application - false - NotSet - v140 - - - - - - - - - - - - $(Configuration)_$(ProjectName)\ - - - $(Configuration)_$(ProjectName)\ - - - - - - 21076.20053 - /SAFESEH:NO %(AdditionalOptions) - rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib - $(SolutionDir)$(Configuration)\\wolfExamples.rta - $(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories) - - - Async - WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions) - $(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories) - - - - - - - 21076.20053 - /SAFESEH:NO %(AdditionalOptions) - rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib - $(SolutionDir)$(Configuration)\\wolfExamples.rta - $(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories) - - - Async - WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions) - $(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories) - $(IntDir)vc$(PlatformToolsetVersion).pdb - - - - - - + + + + + Debug + INtime + + + Release + INtime + + + + + + + + + + + + + + + + {557A7EFD-2627-478A-A855-50F518DD13EE} + wolfExamples + 8.1 + + + + Application + NotSet + v142 + + + Application + false + NotSet + v142 + + + + + + + + + + + + $(Configuration)_$(ProjectName)\ + + + $(Configuration)_$(ProjectName)\ + + + + + + 21076.20053 + /SAFESEH:NO %(AdditionalOptions) + rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib + $(SolutionDir)$(Configuration)\\wolfExamples.rta + $(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories) + + + Async + WOLFSSL_USER_SETTINGS;_USE_64BIT_TIME_T;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories) + + + + + + + 21076.20053 + /SAFESEH:NO %(AdditionalOptions) + rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib;libwolfssl.lib + $(SolutionDir)$(Configuration)\\wolfExamples.rta + $(ProjectDir)$(Configuration);%(AdditionalLibraryDirectories) + + + Async + WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories) + $(IntDir)vc$(PlatformToolsetVersion).pdb + + + + + + \ No newline at end of file diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.sln mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.sln --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.sln 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.sln 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfssl-lib", "wolfssl-lib.vcxproj", "{3BBA3633-A077-4A57-A242-0A22328E5CF6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|INtime = Debug|INtime + Release|INtime = Release|INtime + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3BBA3633-A077-4A57-A242-0A22328E5CF6}.Debug|INtime.ActiveCfg = Debug|INtime + {3BBA3633-A077-4A57-A242-0A22328E5CF6}.Debug|INtime.Build.0 = Debug|INtime + {3BBA3633-A077-4A57-A242-0A22328E5CF6}.Release|INtime.ActiveCfg = Release|INtime + {3BBA3633-A077-4A57-A242-0A22328E5CF6}.Release|INtime.Build.0 = Release|INtime + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.vcxproj mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.vcxproj --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.vcxproj 1970-01-01 00:00:00.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/INTIME-RTOS/wolfssl-lib.vcxproj 2026-01-31 13:27:49.000000000 +0000 @@ -0,0 +1,367 @@ + + + + + Debug + INtime + + + Release + INtime + + + + + + + + true + true + + + true + true + + + + + true + true + + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + + + + true + true + + + true + true + + + + + + + + + + + true + true + + + + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {3BBA3633-A077-4A57-A242-0A22328E5CF6} + 10.0 + + + + StaticLibrary + NotSet + v140 + + + StaticLibrary + false + NotSet + v140 + + + + + + + + + + + + + 0 + Local + 0 + libwolfssl572 + + + 0 + Local + 0 + libwolfssl572 + + + + NotUsing + false + Default + MultiThreaded + DEBUG_WOLFSSL;_USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;_DEBUG;INTIME_RTOS;%(PreprocessorDefinitions) + Async + true + false + false + false + false + + + Prompt + $(ProjectDir);$(ProjectDir)..\..\;$(intime)\rt\include\network7;$(intime)\rt\include;%(AdditionalIncludeDirectories) + + + Console + true + rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib + 0 + 21076.20052 + + + false + false + 0 + 0 + 0 + false + PromptImmediately + false + /SAFESEH:NO %(AdditionalOptions) + + + $(SolutionDir)$(Configuration)\$(TargetName).lib + + + + + NotUsing + MultiThreaded + true + false + _USRDLL;WOLFSSL_DLL;BUILDING_WOLFSSL;WOLFSSL_USER_SETTINGS;INTIME_RTOS;%(PreprocessorDefinitions) + Async + OnlyExplicitInline + true + false + false + false + + + Prompt + $(ProjectDir);$(ProjectDir)..\..\;$(intime)\rt\include\network7;$(intime)\rt\include;%(AdditionalIncludeDirectories) + None + + + Console + false + rt.lib;pcibus.lib;netlib.lib;clib.lib;vshelper.lib + 0 + 21076.20052 + + + false + false + 0 + 0 + 0 + PromptImmediately + false + /SAFESEH:NO %(AdditionalOptions) + + + $(SolutionDir)$(Configuration)\$(TargetName).lib + + + + + + diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Infineon/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Infineon/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Infineon/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Infineon/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LINUX-SGX/build.sh mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/build.sh --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LINUX-SGX/build.sh 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/build.sh 2026-01-31 13:27:49.000000000 +0000 @@ -1,9 +1,22 @@ #!/bin/sh -CFLAGS_NEW="-DDEBUG_WOLFSSL" +CFLAGS_NEW="-DDEBUG_WOLFSSL -I/usr/lib/gcc/x86_64-linux-gnu/$(gcc -dumpversion)/include" export CFLAGS="${CFLAGS} ${CFLAGS_NEW}" echo ${CFLAGS} -make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 HAVE_WOLFSSL_SP=1 +# create an empty options.h file if none exist +if [ ! -f ../../wolfssl/options.h ]; then + touch ../../wolfssl/options.h +fi + +NEW_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/lib/gcc/x86_64-linux-gnu/$(gcc -dumpversion)/include" +export C_INCLUDE_PATH="$NEW_INCLUDE_PATH" + + +# Build without assembly optimizations +#make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 HAVE_WOLFSSL_SP=1 + +# Build with assembly optimizations +make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 HAVE_WOLFSSL_SP=1 HAVE_WOLFSSL_ASSEMBLY=1 diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LINUX-SGX/clean.sh mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/clean.sh --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LINUX-SGX/clean.sh 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/clean.sh 2026-01-31 13:27:49.000000000 +0000 @@ -1,3 +1,4 @@ #!/bin/sh -make -f sgx_t_static.mk clean +make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 HAVE_WOLFSSL_SP=1 HAVE_WOLFSSL_ASSEMBLY=1 clean + diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LINUX-SGX/sgx_t_static.mk mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/sgx_t_static.mk --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LINUX-SGX/sgx_t_static.mk 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LINUX-SGX/sgx_t_static.mk 2026-01-31 13:27:49.000000000 +0000 @@ -44,7 +44,8 @@ Crypto_Library_Name := sgx_tcrypto -Wolfssl_C_Extra_Flags := -DWOLFSSL_SGX +Wolfssl_C_Extra_Flags := -DWOLFSSL_SGX\ + -DWOLFSSL_CUSTOM_CONFIG Wolfssl_C_Files :=$(WOLFSSL_ROOT)/wolfcrypt/src/aes.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/arc4.c\ @@ -52,6 +53,7 @@ $(WOLFSSL_ROOT)/wolfcrypt/src/blake2b.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/camellia.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/coding.c\ + $(WOLFSSL_ROOT)/wolfcrypt/src/cpuid.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/chacha.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/chacha20_poly1305.c\ $(WOLFSSL_ROOT)/src/crl.c\ @@ -88,11 +90,40 @@ $(WOLFSSL_ROOT)/wolfcrypt/src/signature.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/sp_c32.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/sp_c64.c\ + $(WOLFSSL_ROOT)/wolfcrypt/src/sp_x86_64.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/sp_int.c\ $(WOLFSSL_ROOT)/src/ssl.c\ $(WOLFSSL_ROOT)/src/tls.c\ $(WOLFSSL_ROOT)/wolfcrypt/src/wc_encrypt.c\ - $(WOLFSSL_ROOT)/wolfcrypt/src/wolfevent.c\ + $(WOLFSSL_ROOT)/wolfcrypt/src/wolfevent.c + + +ifeq ($(HAVE_WOLFSSL_ASSEMBLY), 1) + Wolfssl_ASM_Files := $(WOLFSSL_ROOT)/wolfcrypt/src/aes_asm.asm\ + $(WOLFSSL_ROOT)/wolfcrypt/src/sp_x86_64_asm.asm + + Wolfssl_S_Files := $(WOLFSSL_ROOT)/wolfcrypt/src/aes_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/aes_gcm_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/poly1305_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/sha256_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/sp_x86_64_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/aes_xts_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/sha3_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/wc_mlkem_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/chacha_asm.S\ + $(WOLFSSL_ROOT)/wolfcrypt/src/sha512_asm.S + + + Wolfssl_C_Extra_Flags += -DWOLFSSL_X86_64_BUILD\ + -DWOLFSSL_AESNI\ + -maes -mavx -mavx2 -msse4.2 + +ifeq ($(HAVE_WOLFSSL_SP), 1) + Wolfssl_C_Extra_Flags += -DWOLFSSL_SP_X86_64_ASM\ + -DWOLFSSL_SP_X86_64\ + -DWOLFSSL_SP_ASM +endif +endif Wolfssl_Include_Paths := -I$(WOLFSSL_ROOT)/ \ -I$(WOLFSSL_ROOT)/wolfcrypt/ \ @@ -111,7 +142,8 @@ ifeq ($(HAVE_WOLFSSL_SP), 1) Wolfssl_C_Extra_Flags += -DWOLFSSL_HAVE_SP_RSA \ -DWOLFSSL_HAVE_SP_DH \ - -DWOLFSSL_HAVE_SP_ECC + -DWOLFSSL_HAVE_SP_ECC \ + -DWOLFSSL_SP_MATH_ALL endif @@ -128,6 +160,8 @@ -Wl,--version-script=trusted/wolfcrypt.lds Wolfssl_C_Objects := $(Wolfssl_C_Files:.c=.o) +Wolfssl_C_Objects += $(Wolfssl_S_Files:.S=.o) +Wolfssl_C_Objects += $(Wolfssl_ASM_Files:.asm=.o) ifeq ($(SGX_MODE), HW) ifneq ($(SGX_DEBUG), 1) @@ -137,17 +171,17 @@ endif endif -override CFLAGS += $(Wolfssl_C_Flags) +override CPPFLAGS += $(Wolfssl_C_Flags) .PHONY: all run all: libwolfssl.sgx.static.lib.a ######## WolfSSL Objects ######## - libwolfssl.sgx.static.lib.a: $(Wolfssl_C_Objects) ar rcs libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects) @echo "LINK => $@" + @echo "Built with AES-NI ? $(HAVE_WOLFSSL_ASSEMBLY)" clean: @rm -f $(WOLFSSL_ROOT)/wolfcrypt/benchmark/*.o $(WOLFSSL_ROOT)/wolfcrypt/test/*.o static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects) diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/lib_wolfssl/lpc_18xx_port.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/lib_wolfssl/lpc_18xx_port.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/lib_wolfssl/lpc_18xx_port.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/lib_wolfssl/lpc_18xx_port.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/wolf_example/src/lpc_18xx_startup.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/wolf_example/src/lpc_18xx_startup.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/wolf_example/src/lpc_18xx_startup.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/LPCXPRESSO/wolf_example/src/lpc_18xx_startup.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/M68K/benchmark/main.cpp mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/M68K/benchmark/main.cpp --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/M68K/benchmark/main.cpp 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/M68K/benchmark/main.cpp 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/M68K/testwolfcrypt/main.cpp mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/M68K/testwolfcrypt/main.cpp --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/M68K/testwolfcrypt/main.cpp 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/M68K/testwolfcrypt/main.cpp 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/wolfcrypt_test.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/wolfcrypt_test.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/wolfcrypt_test.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MCUEXPRESSO/wolfcrypt_test.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/LPC43xx/time-LCP43xx.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/LPC43xx/time-LCP43xx.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/LPC43xx/time-LCP43xx.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/LPC43xx/time-LCP43xx.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/cert_data.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/cert_data.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/cert_data.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/cert_data.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-BARE-METAL.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-BARE-METAL.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-BARE-METAL.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-BARE-METAL.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-FS.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-FS.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-FS.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-FS.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-RTX-TCP-FS.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-RTX-TCP-FS.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-RTX-TCP-FS.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config-RTX-TCP-FS.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/config.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/shell.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/shell.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/shell.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/shell.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-CortexM3-4.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-CortexM3-4.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-CortexM3-4.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-CortexM3-4.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-dummy.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-dummy.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-dummy.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/time-dummy.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/MDK-ARM/wolfSSL/wolfssl_MDK_ARM.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/time-STM32F2xx.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/time-STM32F2xx.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/time-STM32F2xx.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/time-STM32F2xx.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Conf/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Conf/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Conf/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Conf/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptTest/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptTest/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptTest/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/CryptTest/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoClient/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoClient/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoClient/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoClient/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoServer/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoServer/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoServer/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/EchoServer/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleClient/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleClient/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleClient/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleClient/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleServer/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleServer/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleServer/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/SimpleServer/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/shell.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/shell.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/shell.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/shell.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/time-CortexM3-4.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/time-CortexM3-4.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/time-CortexM3-4.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Projects/wolfSSL-Full/time-CortexM3-4.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Src/ssl-dummy.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Src/ssl-dummy.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Src/ssl-dummy.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MDK5-ARM/Src/ssl-dummy.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MPLABX16/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MPLABX16/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MPLABX16/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MPLABX16/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MQX/client-tls.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/client-tls.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MQX/client-tls.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/client-tls.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MQX/server-tls.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/server-tls.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MQX/server-tls.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/server-tls.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MQX/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MQX/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MQX/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -59,3 +59,14 @@ #define FREESCALE_MQX #define FREESCALE_NO_RNG +/* FREESCALE forced-on algorithms - moved from settings.h */ +#ifndef NO_AES + #undef HAVE_AESCCM + #define HAVE_AESCCM + #undef HAVE_AESGCM + #define HAVE_AESGCM + #undef WOLFSSL_AES_COUNTER + #define WOLFSSL_AES_COUNTER + #undef WOLFSSL_AES_DIRECT + #define WOLFSSL_AES_DIRECT +#endif diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/client/client.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/server/server.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/shared/util.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/shared/util.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/shared/util.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/shared/util.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/CMakeLists.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/CMakeLists.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/CMakeLists.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/CMakeLists.txt 2026-01-31 13:27:49.000000000 +0000 @@ -45,6 +45,7 @@ list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_misc.c ) list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_p7p12.c ) list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_sess.c ) +list( REMOVE_ITEM SSL_SOURCES ../../../src/ssl_sk.c ) aux_source_directory( ${CRYPTO_SRC_DIR} CRYPTO_SOURCES ) list( REMOVE_ITEM CRYPTO_SOURCES ../../../wolfcrypt/src/evp.c ) list( REMOVE_ITEM CRYPTO_SOURCES ../../../wolfcrypt/src/misc.c ) diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/avnet_mt3620_sk/inc/hw/template_appliance.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/avnet_mt3620_sk/inc/hw/template_appliance.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/avnet_mt3620_sk/inc/hw/template_appliance.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/avnet_mt3620_sk/inc/hw/template_appliance.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/mt3620_rdb/inc/hw/template_appliance.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/mt3620_rdb/inc/hw/template_appliance.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/mt3620_rdb/inc/hw/template_appliance.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/mt3620_rdb/inc/hw/template_appliance.h 2026-01-31 13:27:49.000000000 +0000 @@ -4,7 +4,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/seeed_mt3620_mdb/inc/hw/template_appliance.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/seeed_mt3620_mdb/inc/hw/template_appliance.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/seeed_mt3620_mdb/inc/hw/template_appliance.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/HardwareDefinitions/seeed_mt3620_mdb/inc/hw/template_appliance.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MSVS-2019-AZSPHERE/wolfssl_new_azsphere/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfCrypt.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfCrypt.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfCrypt.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfCrypt.txt 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfSSL.txt mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfSSL.txt --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfSSL.txt 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/MYSQL/CMakeLists_wolfSSL.txt 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ # # wolfSSL is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert2425 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert2425 --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert2425 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert2425 2026-01-31 13:27:49.000000000 +0000 @@ -1,12 +1,12 @@ /* user_settings.h * - * Copyright (C) 2006-2024 wolfSSL Inc. + * Copyright (C) 2006-2025 wolfSSL Inc. * * This file is part of wolfSSL. * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert3389 mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert3389 --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert3389 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/user_settings.h-cert3389 2026-01-31 13:27:49.000000000 +0000 @@ -1,12 +1,12 @@ /* user_settings.h * - * Copyright (C) 2006-2024 wolfSSL Inc. + * Copyright (C) 2006-2025 wolfSSL Inc. * * This file is part of wolfSSL. * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/NETOS/wolfssl_netos_custom.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/wolfssl_netos_custom.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/NETOS/wolfssl_netos_custom.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/NETOS/wolfssl_netos_custom.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/include/main.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/include/main.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/include/main.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/include/main.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/src/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/src/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/src/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_benchmark/src/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/include/main.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/include/main.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/include/main.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/include/main.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/src/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/src/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/src/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/PlatformIO/examples/wolfssl_test/src/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/QNX/CAAM-DRIVER/Makefile mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/CAAM-DRIVER/Makefile --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/QNX/CAAM-DRIVER/Makefile 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/CAAM-DRIVER/Makefile 2026-01-31 13:27:49.000000000 +0000 @@ -30,6 +30,9 @@ # For IMX6Q devices CCFLAGS += -DWOLFSSL_CAAM_IMX6Q +# wolfSSL header included for version number +CCFLAGS += -DWOLFSSL_CUSTOM_CONFIG + #Compiler flags for build profiles CCFLAGS_release += -O2 CCFLAGS_debug += -g -O0 -fno-builtin diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/QNX/example-client/client-tls.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-client/client-tls.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/QNX/example-client/client-tls.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-client/client-tls.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/QNX/example-cmac/cmac-test.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-cmac/cmac-test.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/QNX/example-cmac/cmac-test.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-cmac/cmac-test.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/QNX/example-server/server-tls.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-server/server-tls.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/QNX/example-server/server-tls.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/QNX/example-server/server-tls.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/RISCV/SIFIVE-HIFIVE1/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/arm_startup.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/arm_startup.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/arm_startup.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/arm_startup.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/benchmark_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/benchmark_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/benchmark_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/benchmark_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/kinetis_hw.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/kinetis_hw.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/kinetis_hw.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/kinetis_hw.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/retarget.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/retarget.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/retarget.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/retarget.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/test_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/test_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/test_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/test_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -18,6 +18,9 @@ #undef SINGLE_THREADED #define SINGLE_THREADED +#undef WOLFSSL_NO_SOCK +#define WOLFSSL_NO_SOCK + #undef WOLFSSL_SMALL_STACK //#define WOLFSSL_SMALL_STACK diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/strings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/strings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/strings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/strings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/unistd.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/unistd.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/unistd.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/unistd.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/wolfssl_dummy.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/wolfssl_dummy.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/wolfssl_dummy.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/common/wolfssl_dummy.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_client.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_client.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_client.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_client.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_server.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_server.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_server.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/t4_demo/wolf_server.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/test/test_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/test/test_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/test/test_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/cs+/Projects/test/test_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/example_server-template/src/app_entry.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/example_server-template/src/app_entry.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/example_server-template/src/app_entry.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/example_server-template/src/app_entry.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/wolfcrypttest-template/src/app_entry.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/wolfcrypttest-template/src/app_entry.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/wolfcrypttest-template/src/app_entry.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/DK-S7G2/wolfcrypttest-template/src/app_entry.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/strings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/strings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/strings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/strings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/unistd.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/unistd.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/unistd.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/unistd.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/user_settings.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/user_settings.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/user_settings.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/user_settings.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/wolfssl_dummy.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/wolfssl_dummy.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/wolfssl_dummy.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/common/wolfssl_dummy.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/key_data.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/test_main.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/test_main.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/test_main.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/test_main.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_client.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_client.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_client.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_client.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_server.c mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_server.c --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_server.c 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolf_server.c 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolfssl_demo.h mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolfssl_demo.h --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolfssl_demo.h 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/Projects/test/src/wolfssl_demo.h 2026-01-31 13:27:49.000000000 +0000 @@ -6,7 +6,7 @@ * * wolfSSL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfSSL is distributed in the hope that it will be useful, diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/README.md mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/README.md --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/README.md 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/README.md 2026-01-31 13:27:49.000000000 +0000 @@ -21,25 +21,25 @@ |Board|EK-RA6M3| |Device|R7FA6M3AH3CFC| |Toolchain|GCC ARM Embedded| -|FSP Version|3.5.0| +|FSP Version|6.1.0| #### Selected software components |Components|Version| |:--|:--| -|Board Support Package Common Files|v3.5.0| -|Arm CMSIS Version 5 - Core (M)|v5.8.0+renesas.0.fsp.3.5.0| -|FreeRTOS|v10.4.3-LTS.Patch.2+fsp.3.5.0| -|RA6M3-EK Board Support Files|v3.5.0| -|Board support package for R7FA6M3AH3CFC|v3.5.0| -|Board support package for RA6M3|v3.5.0| -|Board support package for RA6M3 - FSP Data|v3.5.0| -|FreeRTOS - Memory Management - Heap 4|v10.4.3-LTS.Patch.2+fsp.3.5.0| -|r_ether to FreeRTOS+TCP Wrapper|v3.5.0| -|Ethernet|v3.5.0| -|Ethernet PHY|v3.5.0| -|FreeRTOS+TCP|v2.3.2-LTS.Patch.1+fsp.3.5.0| -|FreeRTOS - Buffer Allocation 2|v2.3.2-LTS.Patch.1+fsp.3.5.0| +|Board Support Package Common Files|v6.1.0| +|Arm CMSIS Version 5 - Core (M)|v6.1.0+renesas.0.fsp.6.1.0| +|FreeRTOS|v11.1.0+fsp.6.1.0| +|RA6M3-EK Board Support Files|v6.1.0| +|Board support package for R7FA6M3AH3CFC|v6.1.0| +|Board support package for RA6M3|v6.1.0| +|Board support package for RA6M3 - FSP Data|v6.1.0| +|FreeRTOS - Memory Management - Heap 4|v11.1.0+fsp.6.1.0| +|r_ether to FreeRTOS+TCP Wrapper|v6.1.0| +|Ethernet|v6.1.0| +|Ethernet PHY|v6.1.0| +|FreeRTOS+TCP|v4.3.3+fsp.6.1.0| +|FreeRTOS - Buffer Allocation 2|v4.3.3+fsp.6.1.0| ## Setup Steps @@ -51,11 +51,11 @@ 1.) Create a 'dummy' Renesas RA C Library Project. + Click File->New->`RA C/C++ Project` -+ Click `Renesas RA C Library Project`. Click Next + Enter `dummy_library` as the project name. Click Next. + Under `Board: Custom User Board`, select `EK-RA6M3`. -+ Under `RTOS: No RTOS`, select `FreeRTOS`. -+ Click Next. Select `FreeRTOS - Minimal - Static Allocation` ++ Select `None`. Click Next. ++ Select `Static Library`. Under `RTOS: No RTOS`, select `FreeRTOS`. Click Next ++ Select `FreeRTOS - Minimal - Static Allocation` + Click Finish. + Open Smart Configurator by clicking configuration.xml in the project + Go to `BSP` tab and increase Heap Size under `RA Common` on Properties page, e.g. 0x1000 @@ -64,17 +64,18 @@ |Property|Value| |:--|:--| -|Thread Symbol|wolfssl_tst_thread| -|Thread Name|wolf_tst_thread| +|Thread Symbol|wolfssl_tst_thd| +|Thread Name|wolf_tst_thd| |Thread Stack size|increase depending on your environment
e.g. 0xA000| -|Thread MemoryAllocation|Dynamic| +|Thread Memory Allocation Support Dynamic Allocation|Enabled| +|Memory Allocation Total Heap Size|increase depending on your environment
e.g. 0x20000| |Common General Use Mutexes|Enabled| |Common General Enable Backward Compatibility|Enabled| -|Common Memory Allocation Support Dynamic Allocation|Enabled| -|Common Memory Allocation Total Heap Size|increase depending on your environment
e.g. 0x20000| + + Add `Heap 4` stack to sce_tst_thread from `New Stack` -> `RTOS` -> `FreeRTOS Heap 4` -+ Add `FreeRTOS + TCP` stack to sce_tst_thread from `New Stack` -> `Networking` -> `FreeRTOS+TCP` and set properties ++ Add `FreeRTOS + TCP` stack to sce_tst_thread from `New Stack` -> `Networking` -> `FreeRTOS+TCP` and set properties. Go to `Add Ethernet Driver` box, and click the box to select `New` -> `Ethernet (r_ether)` +. Set properties. |Property|Value| |:--|:--| @@ -84,9 +85,10 @@ 2.) Create a 'dummy' Renesas RA C Project Using RA Library. + Click File->New->`RA C/C++ Project` -+ Click `Renesas RA C Project Using RA Library`. Click Next + Enter `dummy_app` as the project name. Click Next. -+ Under `Executable Using an RA Static library` ++ Under `Board: Custom User Board`, select `EK-RA6M3`. ++ Select `None`. Click Next. ++ Select `Executable Using an RA Static library`, and `No RTOS`. Click Finish + Enter `dummy_app` as the project name. Click Next + Select `dummy_library` from Select Renesas RA library project. + Click Finish. @@ -125,6 +127,7 @@ + Select and Copy the following folder inside dummy_app\ `script/` + `Debug/` + Paste the copied folders into each executable projects which are Crypt test, benchmark, client and server projects\ + The `dummy_app` project can now be deleted. diff -Nru mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/benchmark-wolfcrypt/.cproject mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/benchmark-wolfcrypt/.cproject --- mariadb-11.8.3/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/benchmark-wolfcrypt/.cproject 2025-07-28 19:35:07.000000000 +0000 +++ mariadb-11.8.6/extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RA6M3/benchmark-wolfcrypt/.cproject 2026-01-31 13:27:49.000000000 +0000 @@ -54,7 +54,7 @@