From 882eaa5df8bf3e0fbe0e317906bd108f4e542ed1 Mon Sep 17 00:00:00 2001 From: Lealem Amedie Date: Tue, 22 Apr 2025 16:56:32 -0600 Subject: [PATCH 1/3] Attempt wolfssl_read_bio_file in read_bio even when XFSEEK is available --- src/ssl_misc.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/ssl_misc.c b/src/ssl_misc.c index 56a71e804..f34def497 100644 --- a/src/ssl_misc.c +++ b/src/ssl_misc.c @@ -30,7 +30,6 @@ #if defined(OPENSSL_EXTRA) && !defined(WOLFCRYPT_ONLY) #ifndef NO_BIO -#ifdef WOLFSSL_NO_FSEEK /* Amount of memory to allocate/add. */ #define READ_BIO_FILE_CHUNK 128 @@ -109,7 +108,6 @@ static int wolfssl_read_bio_file(WOLFSSL_BIO* bio, char** data) *data = mem; return ret; } -#endif /* Read exactly the required amount into a newly allocated buffer. * @@ -171,15 +169,7 @@ static int wolfssl_read_bio(WOLFSSL_BIO* bio, char** data, int* dataSz, } *memAlloced = 0; } -#ifndef WOLFSSL_NO_FSEEK /* Get pending or, when a file BIO, get length of file. */ - else if ((sz = wolfSSL_BIO_get_len(bio)) > 0) { - ret = wolfssl_read_bio_len(bio, sz, data); - if (ret > 0) { - *memAlloced = 1; - } - } -#else else if ((sz = wolfSSL_BIO_pending(bio)) > 0) { ret = wolfssl_read_bio_len(bio, sz, data); if (ret > 0) { @@ -192,7 +182,6 @@ static int wolfssl_read_bio(WOLFSSL_BIO* bio, char** data, int* dataSz, *memAlloced = 1; } } -#endif else { WOLFSSL_ERROR_MSG("No data read from bio"); *memAlloced = 0; From 5fe086b388a080307caeb52fa0366188ac52ae66 Mon Sep 17 00:00:00 2001 From: Lealem Amedie Date: Tue, 22 Apr 2025 16:58:04 -0600 Subject: [PATCH 2/3] Skip PKCS8 header check in wc_CreatePKCS8Key with WOLFSSL_NO_ASN_STRICT --- wolfcrypt/src/asn.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 8148a2cba..148634f4a 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -8231,11 +8231,16 @@ int wc_CreatePKCS8Key(byte* out, word32* outSz, byte* key, word32 keySz, ret = BAD_FUNC_ARG; } +#ifndef WOLFSSL_NO_ASN_STRICT /* Sanity check: make sure key doesn't have PKCS #8 header. */ if (ToTraditionalInline_ex(key, &keyIdx, keySz, &tmpAlgId) >= 0) { (void)tmpAlgId; ret = ASN_PARSE_E; } +#else + (void)keyIdx; + (void)tmpAlgId; +#endif CALLOC_ASNSETDATA(dataASN, pkcs8KeyASN_Length-1, ret, NULL); From 579e22f8431ae40ee0c4592efa00bb7c37645230 Mon Sep 17 00:00:00 2001 From: Lealem Amedie Date: Tue, 6 May 2025 15:39:18 -0400 Subject: [PATCH 3/3] Remove WOLFSSL_NO_FSEEK from known macros --- .wolfssl_known_macro_extras | 1 - 1 file changed, 1 deletion(-) diff --git a/.wolfssl_known_macro_extras b/.wolfssl_known_macro_extras index adb7cb60f..d3c3f05f2 100644 --- a/.wolfssl_known_macro_extras +++ b/.wolfssl_known_macro_extras @@ -726,7 +726,6 @@ 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