git: 5693fdfa89b9 - main - security/wolfssl: Update to v5.6.4

From: Santhosh Raju <fox_at_FreeBSD.org>
Date: Sun, 19 Nov 2023 10:41:36 UTC
The branch main has been updated by fox:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5693fdfa89b9468ce6ddf9bacbfda0bfbd54d22f

commit 5693fdfa89b9468ce6ddf9bacbfda0bfbd54d22f
Author:     Santhosh Raju <fox@FreeBSD.org>
AuthorDate: 2023-11-19 10:33:26 +0000
Commit:     Santhosh Raju <fox@FreeBSD.org>
CommitDate: 2023-11-19 10:36:45 +0000

    security/wolfssl: Update to v5.6.4
    
    Changes since v5.6.3:
    
    wolfSSL Release 5.6.4 (October 30, 2023)
    
    NOTE: * --enable-heapmath is being deprecated and will be removed by 2024
    * Old CyaSSL/CtaoCrypt shim layer was removed in this release (5.6.4)
    
    Vulnerabilities
    
      * [Medium] A fix was added, but still under review for completeness, for a
        Bleichenbacher style attack, leading to being able to decrypt a saved TLS
        connection and potentially forge a signature after probing with a large
        number of trial connections. This issue is around RSA decryption and
        affects static RSA cipher suites on the server side, which are not
        recommended to be used and are off by default. Static RSA cipher suites
        were also removed from the TLS 1.3 protocol and only present in TLS 1.2
        and lower. All padding versions of RSA decrypt are affected since the code
        under review is outside of the padding processing. Information about the
        private keys is NOT compromised in affected code. It's recommended to
        disable static RSA cipher suites and update the version of wolfSSL used if
        using RSA private decryption alone outside of TLS. The fix is located in
        this pull request (#6896)
    
    New Feature Additions
    
      * DTLS 1.3 PQC: support fragmenting the second ClientHello message. This
        allows arbitrarily long keys to be used, opening up support for all PQC
        ciphersuites in DTLS 1.3.
      * SM2/SM3/SM4: Chinese cipher support including TLS 1.3 and 1.2 cipher
        suites. SM2 SP implementation available.
      * Ability to parse ASN1 only with SMIME_read_PKCS7
      * Added support for MemUse Entropy on Windows
      * Added Ada Bindings for wolfSSL
      * Added a PEM example that converts to and from DER/PEM.
      * Added LMS/HSS and XMSS/XMSS^MT wolfcrypt hooks, both normal and
        verify-only options.
      * Added support for the AES EAX mode of operation
      * Port for use with Hitch (https://github.com/varnish/hitch) added
      * Add XTS API's to handle multiple sectors in new port ot VeraCrypt
    
    Enhancements and Optimizations
    
      * Turned on SNI by default on hosts with resources
      * Improved support for Silicon Labs Simplicity Studio and the ERF32 Gecko
        SDK
      * Thumb-2 and ARM32 Curve25519 and Ed25519 assembly have significantly
        improved performance.
      * Thumb-2 AES assembly code added.
      * Thumb-2 and ARM32 SP implementations of RSA, DH and ECC have
        significantly improved performance.
      * Minor performance improvements to SP ECC for Intel x64.
      * AES-XTS assembly code added for Intel x64, Aarch64 and ARM32.
      * Added support for X963 KDFs to ECIES.
      * Added 32-bit type only implementation of AES GMULT using tables.
      * Add support for nginx version 1.25.0
      * Add support for Kerberos version 5 1.21.1
      * Check all CRL entries in case a single issuer has multiple CRL's loaded
      * CRL verify the entire chain including loaded CA's
      * Added example for building wolfSSL as an Apple universal binary
        framework using configure
      * Sniffer tool now supports decrypting TLS sessions using secrets obtained
        from a SSLKEYLOGFILE
      * Updates made for EBSNET port
      * Update "--enable-jni" to include additional defines for expanded JNI
        support. Also includes JCE and JSSE builds under the single enable option
        now.
    
    Fixes
    
      * Fixed error handling when decrypted pre-master secret is too long when
        using static RSA.
      * Added a fix for keymod use with i.MX RT1170 CAAM blobs
      * Added a fix for AES-GCM use with Petalinux Xilinx
      * Fixed wc_SignatureGenerate_ex to not call verify twice
      * Fixed wolfCrypt FIPS DLL on Win32
      * Fixed TFM math library big-endian reading implementation when a zero
        length buffer is passed in.
      * Fixed NO_CERT configurations to build correctly.
      * Fixed ARM AES-GCM streaming assembly when –enable-opensslextra defined.
      * Added modulus checks to heap math implementation of mp_exptmod().
      * Fixed Windows assembly code to handle that certain XMM registers are
        non-volatile.
      * Aarch64 SP ECC implementation of sp_256_mont_dbl_4 has the register list
        for the assembly code fixed to include all used registers.
      * mp_sqrt_mod_prime fixed to limit the number of iterations of a loop to
        handle malicious non-prime values being passed in.
      * Ignore session ID's shorter than 32 bytes instead of erroring out
---
 security/wolfssl/Makefile  |   2 +-
 security/wolfssl/distinfo  |   6 +--
 security/wolfssl/pkg-plist | 106 ++++++---------------------------------------
 3 files changed, 17 insertions(+), 97 deletions(-)

diff --git a/security/wolfssl/Makefile b/security/wolfssl/Makefile
index f97642f2c6ca..ffda672e8341 100644
--- a/security/wolfssl/Makefile
+++ b/security/wolfssl/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	wolfssl
-PORTVERSION=	5.6.3
+PORTVERSION=	5.6.4
 CATEGORIES=	security devel
 MASTER_SITES=	https://www.wolfssl.com/ \
 		LOCAL/fox
diff --git a/security/wolfssl/distinfo b/security/wolfssl/distinfo
index 096d7fe8d385..49fbe7237f8e 100644
--- a/security/wolfssl/distinfo
+++ b/security/wolfssl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1688221308
-SHA256 (wolfssl-5.6.3.zip) = 890ff45a2d6ff544b226b4adcda7b60aef3d62ae975e426c1e99faeb130496cf
-SIZE (wolfssl-5.6.3.zip) = 23603783
+TIMESTAMP = 1700387996
+SHA256 (wolfssl-5.6.4.zip) = 3700dd2006f7833d926be9d786f28f22db195b09b8de8c4f3e6c5201f0843475
+SIZE (wolfssl-5.6.4.zip) = 24103922
diff --git a/security/wolfssl/pkg-plist b/security/wolfssl/pkg-plist
index 34ed59249735..e8211819cb24 100644
--- a/security/wolfssl/pkg-plist
+++ b/security/wolfssl/pkg-plist
@@ -1,95 +1,4 @@
 bin/wolfssl-config
-include/cyassl/callbacks.h
-include/cyassl/certs_test.h
-include/cyassl/crl.h
-include/cyassl/ctaocrypt/aes.h
-include/cyassl/ctaocrypt/arc4.h
-include/cyassl/ctaocrypt/asn.h
-include/cyassl/ctaocrypt/asn_public.h
-include/cyassl/ctaocrypt/blake2-impl.h
-include/cyassl/ctaocrypt/blake2-int.h
-include/cyassl/ctaocrypt/blake2.h
-include/cyassl/ctaocrypt/camellia.h
-include/cyassl/ctaocrypt/chacha.h
-include/cyassl/ctaocrypt/coding.h
-include/cyassl/ctaocrypt/compress.h
-include/cyassl/ctaocrypt/des3.h
-include/cyassl/ctaocrypt/dh.h
-include/cyassl/ctaocrypt/dsa.h
-include/cyassl/ctaocrypt/ecc.h
-include/cyassl/ctaocrypt/error-crypt.h
-include/cyassl/ctaocrypt/fips_test.h
-include/cyassl/ctaocrypt/hmac.h
-include/cyassl/ctaocrypt/integer.h
-include/cyassl/ctaocrypt/logging.h
-include/cyassl/ctaocrypt/md2.h
-include/cyassl/ctaocrypt/md4.h
-include/cyassl/ctaocrypt/md5.h
-include/cyassl/ctaocrypt/memory.h
-include/cyassl/ctaocrypt/misc.h
-include/cyassl/ctaocrypt/mpi_class.h
-include/cyassl/ctaocrypt/mpi_superclass.h
-include/cyassl/ctaocrypt/pkcs7.h
-include/cyassl/ctaocrypt/poly1305.h
-include/cyassl/ctaocrypt/pwdbased.h
-include/cyassl/ctaocrypt/random.h
-include/cyassl/ctaocrypt/ripemd.h
-include/cyassl/ctaocrypt/rsa.h
-include/cyassl/ctaocrypt/settings.h
-include/cyassl/ctaocrypt/settings_comp.h
-include/cyassl/ctaocrypt/sha.h
-include/cyassl/ctaocrypt/sha256.h
-include/cyassl/ctaocrypt/sha512.h
-include/cyassl/ctaocrypt/tfm.h
-include/cyassl/ctaocrypt/types.h
-include/cyassl/ctaocrypt/visibility.h
-include/cyassl/ctaocrypt/wc_port.h
-include/cyassl/error-ssl.h
-include/cyassl/ocsp.h
-include/cyassl/openssl/asn1.h
-include/cyassl/openssl/bio.h
-include/cyassl/openssl/bn.h
-include/cyassl/openssl/conf.h
-include/cyassl/openssl/crypto.h
-include/cyassl/openssl/des.h
-include/cyassl/openssl/dh.h
-include/cyassl/openssl/dsa.h
-include/cyassl/openssl/ec.h
-include/cyassl/openssl/ec25519.h
-include/cyassl/openssl/ec448.h
-include/cyassl/openssl/ecdh.h
-include/cyassl/openssl/ecdsa.h
-include/cyassl/openssl/ed25519.h
-include/cyassl/openssl/ed448.h
-include/cyassl/openssl/engine.h
-include/cyassl/openssl/err.h
-include/cyassl/openssl/evp.h
-include/cyassl/openssl/hmac.h
-include/cyassl/openssl/lhash.h
-include/cyassl/openssl/md4.h
-include/cyassl/openssl/md5.h
-include/cyassl/openssl/ocsp.h
-include/cyassl/openssl/opensslconf.h
-include/cyassl/openssl/opensslv.h
-include/cyassl/openssl/ossl_typ.h
-include/cyassl/openssl/pem.h
-include/cyassl/openssl/pkcs12.h
-include/cyassl/openssl/rand.h
-include/cyassl/openssl/ripemd.h
-include/cyassl/openssl/rsa.h
-include/cyassl/openssl/sha.h
-include/cyassl/openssl/ssl.h
-include/cyassl/openssl/ssl23.h
-include/cyassl/openssl/stack.h
-include/cyassl/openssl/ui.h
-include/cyassl/openssl/x509.h
-include/cyassl/openssl/x509v3.h
-include/cyassl/options.h
-include/cyassl/sniffer.h
-include/cyassl/sniffer_error.h
-include/cyassl/ssl.h
-include/cyassl/test.h
-include/cyassl/version.h
 include/wolfssl/callbacks.h
 include/wolfssl/certs_test.h
 include/wolfssl/crl.h
@@ -186,6 +95,8 @@ include/wolfssl/wolfcrypt/ed25519.h
 include/wolfssl/wolfcrypt/ed448.h
 include/wolfssl/wolfcrypt/error-crypt.h
 include/wolfssl/wolfcrypt/ext_kyber.h
+include/wolfssl/wolfcrypt/ext_lms.h
+include/wolfssl/wolfcrypt/ext_xmss.h
 include/wolfssl/wolfcrypt/falcon.h
 include/wolfssl/wolfcrypt/fe_448.h
 include/wolfssl/wolfcrypt/fe_operations.h
@@ -198,6 +109,7 @@ include/wolfssl/wolfcrypt/hpke.h
 include/wolfssl/wolfcrypt/integer.h
 include/wolfssl/wolfcrypt/kdf.h
 include/wolfssl/wolfcrypt/kyber.h
+include/wolfssl/wolfcrypt/lms.h
 include/wolfssl/wolfcrypt/logging.h
 include/wolfssl/wolfcrypt/md2.h
 include/wolfssl/wolfcrypt/md4.h
@@ -223,6 +135,9 @@ include/wolfssl/wolfcrypt/sha3.h
 include/wolfssl/wolfcrypt/sha512.h
 include/wolfssl/wolfcrypt/signature.h
 include/wolfssl/wolfcrypt/siphash.h
+include/wolfssl/wolfcrypt/sm2.h
+include/wolfssl/wolfcrypt/sm3.h
+include/wolfssl/wolfcrypt/sm4.h
 include/wolfssl/wolfcrypt/sp_int.h
 include/wolfssl/wolfcrypt/sphincs.h
 include/wolfssl/wolfcrypt/srp.h
@@ -231,17 +146,22 @@ include/wolfssl/wolfcrypt/types.h
 include/wolfssl/wolfcrypt/visibility.h
 include/wolfssl/wolfcrypt/wc_encrypt.h
 include/wolfssl/wolfcrypt/wc_kyber.h
+include/wolfssl/wolfcrypt/wc_lms.h
 include/wolfssl/wolfcrypt/wc_port.h
+include/wolfssl/wolfcrypt/wc_xmss.h
 include/wolfssl/wolfcrypt/wolfevent.h
 include/wolfssl/wolfcrypt/wolfmath.h
+include/wolfssl/wolfcrypt/xmss.h
 include/wolfssl/wolfio.h
 lib/libwolfssl.a
 lib/libwolfssl.so
-lib/libwolfssl.so.35
-lib/libwolfssl.so.35.5.1
+lib/libwolfssl.so.41
+lib/libwolfssl.so.41.0.0
 libdata/pkgconfig/wolfssl.pc
 %%PORTDOCS%%%%DOCSDIR%%/QUIC.md
 %%PORTDOCS%%%%DOCSDIR%%/README.txt
+%%PORTDOCS%%%%DOCSDIR%%/example/async_client.c
+%%PORTDOCS%%%%DOCSDIR%%/example/async_server.c
 %%PORTDOCS%%%%DOCSDIR%%/example/client.c
 %%PORTDOCS%%%%DOCSDIR%%/example/echoclient.c
 %%PORTDOCS%%%%DOCSDIR%%/example/echoserver.c