forked from wolfSSL/wolfssl
Merge pull request #8703 from lealem47/zd19592
Attempt wolfssl_read_bio_file in read_bio even when XFSEEK is available
This commit is contained in:
@@ -744,7 +744,6 @@ WOLFSSL_NO_DH_GEN_PUB
|
|||||||
WOLFSSL_NO_DTLS_SIZE_CHECK
|
WOLFSSL_NO_DTLS_SIZE_CHECK
|
||||||
WOLFSSL_NO_ETM_ALERT
|
WOLFSSL_NO_ETM_ALERT
|
||||||
WOLFSSL_NO_FENCE
|
WOLFSSL_NO_FENCE
|
||||||
WOLFSSL_NO_FSEEK
|
|
||||||
WOLFSSL_NO_INIT_CTX_KEY
|
WOLFSSL_NO_INIT_CTX_KEY
|
||||||
WOLFSSL_NO_ISSUERHASH_TDPEER
|
WOLFSSL_NO_ISSUERHASH_TDPEER
|
||||||
WOLFSSL_NO_KCAPI_AES_CBC
|
WOLFSSL_NO_KCAPI_AES_CBC
|
||||||
|
@@ -30,7 +30,6 @@
|
|||||||
#if defined(OPENSSL_EXTRA) && !defined(WOLFCRYPT_ONLY)
|
#if defined(OPENSSL_EXTRA) && !defined(WOLFCRYPT_ONLY)
|
||||||
#ifndef NO_BIO
|
#ifndef NO_BIO
|
||||||
|
|
||||||
#ifdef WOLFSSL_NO_FSEEK
|
|
||||||
/* Amount of memory to allocate/add. */
|
/* Amount of memory to allocate/add. */
|
||||||
#define READ_BIO_FILE_CHUNK 128
|
#define READ_BIO_FILE_CHUNK 128
|
||||||
|
|
||||||
@@ -109,7 +108,6 @@ static int wolfssl_read_bio_file(WOLFSSL_BIO* bio, char** data)
|
|||||||
*data = mem;
|
*data = mem;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Read exactly the required amount into a newly allocated buffer.
|
/* 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;
|
*memAlloced = 0;
|
||||||
}
|
}
|
||||||
#ifndef WOLFSSL_NO_FSEEK
|
|
||||||
/* Get pending or, when a file BIO, get length of file. */
|
/* 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) {
|
else if ((sz = wolfSSL_BIO_pending(bio)) > 0) {
|
||||||
ret = wolfssl_read_bio_len(bio, sz, data);
|
ret = wolfssl_read_bio_len(bio, sz, data);
|
||||||
if (ret > 0) {
|
if (ret > 0) {
|
||||||
@@ -192,7 +182,6 @@ static int wolfssl_read_bio(WOLFSSL_BIO* bio, char** data, int* dataSz,
|
|||||||
*memAlloced = 1;
|
*memAlloced = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
else {
|
else {
|
||||||
WOLFSSL_ERROR_MSG("No data read from bio");
|
WOLFSSL_ERROR_MSG("No data read from bio");
|
||||||
*memAlloced = 0;
|
*memAlloced = 0;
|
||||||
|
@@ -8310,11 +8310,16 @@ int wc_CreatePKCS8Key(byte* out, word32* outSz, byte* key, word32 keySz,
|
|||||||
ret = BAD_FUNC_ARG;
|
ret = BAD_FUNC_ARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_NO_ASN_STRICT
|
||||||
/* Sanity check: make sure key doesn't have PKCS #8 header. */
|
/* Sanity check: make sure key doesn't have PKCS #8 header. */
|
||||||
if (ToTraditionalInline_ex(key, &keyIdx, keySz, &tmpAlgId) >= 0) {
|
if (ToTraditionalInline_ex(key, &keyIdx, keySz, &tmpAlgId) >= 0) {
|
||||||
(void)tmpAlgId;
|
(void)tmpAlgId;
|
||||||
ret = ASN_PARSE_E;
|
ret = ASN_PARSE_E;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
(void)keyIdx;
|
||||||
|
(void)tmpAlgId;
|
||||||
|
#endif
|
||||||
|
|
||||||
CALLOC_ASNSETDATA(dataASN, pkcs8KeyASN_Length-1, ret, NULL);
|
CALLOC_ASNSETDATA(dataASN, pkcs8KeyASN_Length-1, ret, NULL);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user