forked from wolfSSL/wolfssl
Merge pull request #7199 from lealem47/defaultASN
Default to ASN TEMPLATE library
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
# wolfSSL Release X.Y.Z (TBD)
|
||||
|
||||
NOTE: This release switches the default ASN.1 parser to the new ASN template code. If the original ASN.1 code is preferred define `WOLFSSL_ASN_ORIGINAL` to use it. See PR #7199.
|
||||
|
||||
# wolfSSL Release 5.6.6 (Dec 19, 2023)
|
||||
|
||||
Release 5.6.6 has been developed according to wolfSSL's development and QA
|
||||
|
@@ -1384,9 +1384,8 @@ int GetASN_Items(const ASNItem* asn, ASNGetData *data, int count, int complete,
|
||||
int len;
|
||||
/* Current index into buffer. */
|
||||
word32 idx = *inOutIdx;
|
||||
/* Initialize the end index at each depth to be the length. */
|
||||
word32 endIdx[GET_ASN_MAX_DEPTH] = { length, length, length, length, length,
|
||||
length, length };
|
||||
/* Declare the end index array. */
|
||||
word32 endIdx[GET_ASN_MAX_DEPTH];
|
||||
/* Set choices to -1 to indicate they haven't been seen or found. */
|
||||
signed char choiceMet[GET_ASN_MAX_CHOICES] = { -1, -1 };
|
||||
/* Not matching a choice right now. */
|
||||
@@ -1402,6 +1401,11 @@ int GetASN_Items(const ASNItem* asn, ASNGetData *data, int count, int complete,
|
||||
WOLFSSL_ENTER("GetASN_Items");
|
||||
#endif
|
||||
|
||||
/* Set the end index at each depth to be the length. */
|
||||
for (i=0; i<GET_ASN_MAX_DEPTH; i++) {
|
||||
endIdx[i] = length;
|
||||
}
|
||||
|
||||
/* Start depth at first items depth. */
|
||||
minDepth = depth = asn[0].depth;
|
||||
/* Check every ASN.1 item. */
|
||||
@@ -3014,7 +3018,7 @@ int GetMyVersion(const byte* input, word32* inOutIdx,
|
||||
#else
|
||||
ASNGetData dataASN[intASN_Length];
|
||||
int ret;
|
||||
byte num;
|
||||
byte num = 0;
|
||||
|
||||
/* Clear dynamic data and set the version number variable. */
|
||||
XMEMSET(dataASN, 0, sizeof(dataASN));
|
||||
@@ -3081,7 +3085,7 @@ int GetShortInt(const byte* input, word32* inOutIdx, int* number, word32 maxIdx)
|
||||
#else
|
||||
ASNGetData dataASN[intASN_Length];
|
||||
int ret;
|
||||
word32 num;
|
||||
word32 num = 0;
|
||||
|
||||
/* Clear dynamic data and set the 32-bit number variable. */
|
||||
XMEMSET(dataASN, 0, sizeof(dataASN));
|
||||
@@ -6827,7 +6831,7 @@ int ToTraditionalInline_ex(const byte* input, word32* inOutIdx, word32 sz,
|
||||
DECL_ASNGETDATA(dataASN, pkcs8KeyASN_Length);
|
||||
int ret = 0;
|
||||
word32 oid = 9;
|
||||
byte version;
|
||||
byte version = 0;
|
||||
word32 idx;
|
||||
|
||||
/* Check validity of parameters. */
|
||||
@@ -8745,7 +8749,7 @@ exit_dc:
|
||||
int version;
|
||||
word32 idx = 0;
|
||||
word32 pIdx = 0;
|
||||
word32 iterations;
|
||||
word32 iterations = 0;
|
||||
word32 keySz = 0;
|
||||
word32 saltSz = 0;
|
||||
word32 shaOid = 0;
|
||||
@@ -19652,7 +19656,7 @@ enum {
|
||||
static int DecodeSubtreeGeneralName(const byte* input, word32 sz, byte tag,
|
||||
Base_entry** head, void* heap)
|
||||
{
|
||||
Base_entry* entry;
|
||||
Base_entry* entry = NULL;
|
||||
word32 nameIdx = 0;
|
||||
word32 len = sz;
|
||||
int strLen;
|
||||
@@ -33178,7 +33182,7 @@ int wc_EccPrivateKeyDecode(const byte* input, word32* inOutIdx, ecc_key* key,
|
||||
return ret;
|
||||
#else
|
||||
DECL_ASNGETDATA(dataASN, eccKeyASN_Length);
|
||||
byte version;
|
||||
byte version = 0;
|
||||
int ret = 0;
|
||||
int curve_id = ECC_CURVE_DEF;
|
||||
#if defined(HAVE_PKCS8) || defined(HAVE_PKCS12) || defined(SM2)
|
||||
@@ -36210,7 +36214,7 @@ int OcspResponseDecode(OcspResponse* resp, void* cm, void* heap, int noVerify)
|
||||
int ret = 0;
|
||||
word32 idx = 0, size = resp->maxIdx;
|
||||
byte* source = resp->source;
|
||||
byte status;
|
||||
byte status = 0;
|
||||
byte* basic;
|
||||
word32 basicSz;
|
||||
|
||||
|
@@ -2735,6 +2735,14 @@ extern void uITRON4_free(void *p) ;
|
||||
#define WOLFSSL_IPV6
|
||||
#endif
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
* ASN Library Selection (default to ASN_TEMPLATE)
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
#if !defined(WOLFSSL_ASN_TEMPLATE) && !defined(WOLFSSL_ASN_ORIGINAL) && \
|
||||
!defined(NO_ASN)
|
||||
#define WOLFSSL_ASN_TEMPLATE
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_LINUXKM
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
Reference in New Issue
Block a user